homeディレクトリ以下にpurescript開発環境を構築してみる
ブログを書いてる途中で、プロジェクトごとと言わず
いっそのこと、homeディレクトリ以下にpurescript自体の
環境を持ってきて、その下にプロジェクトをまとめた方が
よくね?と思って検証してみたのでメモる(Φω|
ただし、その方法がpurescriptのお作法として合ってるのか
は知らないw
[手順]
1. homeディレクトリ以下に、purescript開発用のディレクトリを作成。
% mkdir purs-env
2. 最小限のpackage.jsonを作成。
% cd purs-env
% npm init -y
※ 今回は、npxでpulpを動かすのでscriptにpulpを登録しない。
3. 1にpurescript, pulp, psc-packageをインストール。
% npm install purescript pulp psc-package
4. purescriptとpsc-packageのエイリアスを .zshrcに定義。
% vim ~/.zshrc
alias purs="~/purs-env/node_modules/.bin/purs"
alias psc-package="~/purs-env/node_modules/.bin/psc-package"
5. 念のため、バージョンを動かして動作確認。
% npx pulp --version
Pulp version 12.3.1
purs version 0.12.3 using /Users/j001395/purs-env/node_modules/.bin/purs% psc-package --version
0.5.1% purs --version
0.12.3
6. 1以下にサンプルプロジェクトを作成。
% mkdir purescript-hello
7. 6でスケルトンを作成。
% cd purescript-hello
% npx pulp --psc-package init
8. サンプルコードを修正し、ビルド+実行。
% npx pulp run
purescript をローカルにインストールして動かす
昨日書いたブログのコメントにいただいた方法と更に調べた
方法でローカルのプロジェクトルートにインストールした
purescriptを動かしてみたので備忘録としてメモる(Φω|
[手順]
1. ローカルにプロジェクトpurs-exampleを作成。
% cd workspace
% mkdir purs-example
2. package.jsonを最小限で作成。
% npm init -y
3. npmでpurescript, pulp, psc-packageをインストール。
% npm install purescript pulp psc-package
4. package.jsonのscriptにpulpを設定。
% nvim package.json
5. .zshrcにpurescriptとpsc-packageのエイリアスを定義。
% nvim ~/.zshrc
alias purs="~/workspace/purs-example/node_modules/.bin/purs"
alias psc-package="~/workspace/purs-example/node_modules/.bin/psc-package"% source ~/.zshrc
6. 念のため動作確認。
% npm run pulp --version
6.9.0% npx pulp --version
Pulp version 12.3.1
purs version 0.12.3 using /home/haiju/workspace/purs-example/node_modules/.bin/purs% purs --version
0.12.3% psc-package --version
0.5.1
8. サンプルプログラムのビルドと実行。
予め、”Hello, sailor!"を”Hello, world!"に修正しておく
以下略
[参考サイト]
PureScriptのビルドツールのpulpコマンドをローカルインストールしたら動かない件
purescriptのドキュメントを読んでみると、基本グローバル
インストールになっているけど、Elm等と同様にプロジェクト
ごとに使ってみようと思い、あえてプロジェクトルートに
インストールしてみたら、purescriptとpsc-packageは問題
ないけど、pulpだけ動かない。
もしかしたら、pulpだけ動くコマンドが違うのかもしれない
と思ってドキュメントを読んでるけど、今のところ、よく
わからないので、情報を整理してみる(ΦωΦ;)
[手順]
0. nvmでNode.jsをインストール。
1. npm install <package_name> で試す。
1-1. PureScriptを試すプロジェクトディレクトリを作成。
% mkdir purs-example
1-2. 最小限のpackage.jsonを作成(空でもいいらしい)。
% cd purs-example
% npm init --y
※ --saveしなくても今はデフォルトになってるらしい。
※ dependenciesにnpm install <package_name>でインストールされた
パッケージが設定されるらしい。↓
1-3. purescript, pulp, psc-packageをnpm installでインストール。
% npm install purs pulp psc-package
./node_modules/.bin は以下。
ここで、psc-packageが .exe になってるが、Manjaroにインストールしている。
1-4. 1-3でインストールしたバージョンを確認。
pulpの時に、purs (purescriptのコンパイラ) が見つからないと言われている。
どうも、プロジェクトルートの node_modules/.bin 以下を見てないっぽい。
2. npm install <package_name> --save-dev で試す。
2-1. --save-dev を検証するディレクトリを作成。
% mkdir purs-test
2-2. 最小限のpackage.jsonを作成。
% cd purs-test
% npm init --y
2-3. プロジェクトルートにpurs, pulp, psc-packageをインストール。
% npm install purs pulp psc-package --save-dev
※ --saveがデフォルトになったということで、--save-devを
実行すると、devDependenciesにそれぞれ書き込まれる。
1-3, 1-4を同様に試すが同じ結果のため省略。
3. グローバルインストール
3-1. purescript, pulp, psc-package をグローバルインストール。
% npm install -g purescript pulp psc-package
3-2. 各コマンドのバージョンを確認。
※上記より、pulp はpursの実行形式ファイルをローカルの ~/node_modules/.bin/
じゃなくて、/node/versions/bin 以下を無条件に探しに行ってるということなのか?
ということは、少なくともpurescriptはグローバルにインストールする必要が
あるらしい。
3-3. プロジェクトを作成。
% mkdir purescript-hello
% cd purescript-hello
3-4. pulpとpsc-packageで依存ライブラリをインストール。
3-5. ビルドして実行。
% pulp run
(詳細略)
3-6. ~/workspace/purescript-hello/src/Main.pursを開き、sailor! を world! に修正。
3-7. 再ビルド。
% pulp build
※ちなみに再ビルド後に実行。
% pulp run
3-8. テスト実行。
% pulp test
[わかったこと]
上にも書いてるけど、pulpは単純にpursを検索している訳ではなく
グローバルにインストールしたpursを見に行ってるので、ローカル
インストールする場合は少なくともpursはグローバルである必要が
あるっぽい。
そして、psc-packageは何で.exeがインストールされてるんだろう?
ってのが謎すぎる。Windows用バイナリだと思うんだがなー(Φω|
[参考サイト]
purescriptのテストツール
VS CodeでES5で書いてWarningが出たら見直すこと
VS CodeでES5の記法でテストデータを作成したら
内蔵のESLintでWarningが出たっぽいので、内容を見直してみた。
ちなみにWarningメッセージは以下。
['subject'] is better written in dot notation(W009).
betterとあるので、dot記法で書いた方がいいよと
言われているらしい(Φω|
[修正前のコード]
var schedule_event = event.event;
schedule_event['subject'] = "ES5 Test";
schedule_event['attendees'] = [{id: 1, type: "USER"}];
[修正後のコード]
var schedule_event = event.event;
schedule_event.subject = "ES5 Test";
schedule_event.attendees = [{id: 1, type: "USER"}];
ちなみに、ES6にトランスパイルしても同様のWarningが出力
されるので、VS CodeではProblemが気になるなら見直して
みたらいいよ程度のものだと思う。
[参考サイト]
ES5のコードをES6以降に変換するLebabをVS Codeにインストールする
今、ES5からES6以降に変換するトランスパイラの
実装を勉強してるところなので、ES6以降をES5に
変換するBabelの反対ってあるのかな?
と思って調べてみたら、Lebabというのがあるらしい
というのを知った。
基本はnpmでインストールして使うみたいだけど、
勉強しやすいなと思ってたらプラグインがあったので
導入方法をメモする(Φω|
[手順]
1. VS Codeを起動。
2. F1を押して表示された検索窓で、Extensions: Install Extensions
を選択。
3. 左のツリーでlebabを検索しInstallをクリックし、インストールを実行。
4. 3のInstallがInstalledに変わればOK。
[参考サイト]
レガシーな ES5 を モダンな ES6 に変換するツール lebab -『JavaScript』 | webmanab.html/ウェブまなぶ
Windows10のPHPStormインストール時に誤って関連付けたファイルをデフォルトに戻すには?【調査中】
PHPStormのバージョンを2019.02 から 2019.03に上げるために
前のバージョンをアンインストールしてインストーラーを実行
したところ、誤ってファイル拡張子を関連付けてしまったので、
全部デフォルトの状態に戻したいのだが、JetBrainsの日本語
ヘルプにはそれらしい情報がないので、yahoo.comで英語の
情報を検索している(Φω|
そこで、少しわかった情報を頼りに直すメモをまとめる。
多分、PHPStorm自体では関連付けの解除はできなさそう。
[Windows標準のassocコマンド]
1. コマンドプロンプトを管理者権限で起動。
cmd.exeはWindows10ではWindows システムツール以下にある。
2. 以下のコマンドを実行。
3. ファイル拡張子の関連付けが削除されたか確認。
4. 別窓で開いたエクスプローラーで確認したが変わってない。
5. 一応、システムを再起動してみるが変わってない。
[インストールしたプログラムに関連づいたファイルを変更]
1. Windowsの設定ダイアログを開く。
2. 1よりアプリを選択。
3. 左のツリーから規定のアプリを選択。
4. 既定のアプリ画面下のファイルの種類ごとに既定のアプリを選ぶ選択。
5. 次のファイルの種類ごとに既定のアプリを選ぶ画面で、左の拡張子ツリー
からPHPStormに関連づいた.jsを選ぶ。
6. アプリを選ぶダイアログが出るが、そもそも既定の拡張子のアイコン
が出てこない。
[Windows10のレジストリエディタ]
1. regeditを起動し、以下をそれぞれ編集。
(ex).js
1-1. コンピューター\HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Explorer\FileExts\.js\OpenWithList 以下を確認。
データにphpstorm64.exe がある。
名前 種類 データ
e REG_SZ phpstorm64.exe
-> eを選択してデータ修正を選び、値を消して更新。
1-2. コンピューター\HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Explorer\FileExts\.js\OpenWithProgids 以下を確認。
PhpStorm2018.3 がある。
->PhpStorm2018.3を削除(削除後、追加できず。これはバイナリ値である)
1-3. コンピューター\HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Explorer\FileExts\.js\UserChoice 以下を確認。
PhpStorm2018.3 がある。
名前 種類 データ
ProgId REG_SZ PhpStorm2018.3
->ProgIdをクリックして値のデータを消去して、OKを押そうとするがエラー。
2. システムを再起動してみるが、ファイルの種類はPHPStormが
握ったままになってて、拡張子が変わってない。
3. PHPStormを再インストールするかどうか悩んでいる <-- イマココ
[参考サイト]
intellij-support.jetbrains.com