spago
PureScriptのJSでいうnpm的なやつ
開発者はJustin Woo
github
docs
コマンド
$ spago init
プロジェクト作成
npmとかpulpと異なり、作りたいディレクトリの中で実行する
ex. $ mkdir hoge && cd hoge && spago init
$ spago build
ビルド
ps→jsにコンパイルする
$ spago repl
repl
$ spago bundle-app
1ファイルにbundleする
$ spago run
Main.mainを実行
Moduleを指定して実行
$ spago run --main Hoge
https://github.com/purescript/spago/blob/master/README.md#build-and-run-my-project
コマンドライン引数を渡す
$ spago run --node-args "hoge piyo"
これでhogeとpiyoの2つを渡している
ちなみにコマンドライン引数を受け取るコードはこれを参考にした
FFIを使えば5行程度で書ける
$ spago script -d effect path/to/hoge.purs
v0.19.0で入った ref
docs
ファイル名を指定して実行する
依存packageがある場合は-dで指定
複数ある場合は-d effect -d affみたいにする
Module名はMainである必要がある
これ単一Moduleじゃないと無理なんかな #??
Mainが他の自分で作ったModuleをimportしているとerrorになる
$ spago install hoge ref
package-setsに含まれているLibraryをinstallする
https://github.com/purescript/package-sets
purescript-hogeというLibraryをinstallしたいときは、$ spago install hogeとする
spago.dhallに追記される
$ spago ls packages
install済みpackageの一覧
versionの確認とか
versionを指定してinstallする方法 #??
https://stackoverflow.com/questions/62007129/how-do-you-install-a-specific-package-version-with-spago