typescript + nodejsによるCLIアプリケーション入門

主な参考

jsprimer.net

実行モデル

typescriptで書いたコードをtscでjsにして、npmパッケージとしてビルド。publishしたくない場合package.jsonでprivateとしてマークする
実行の際はnpm installにて先のnpmパッケージをインストール、nodejsをランタイムにnpmをランナー(ランチャー?)として、npx モジュール名 ないし package.jsonのbinに書かれたコマンドで実行する

npmはパッケージマネージャでありランタイムではないので必須ではなく、最小という意味ではnodeがあって、node [cli-script.js filename] みたいに実行すればいいんだけど
ビルドやパッケージ管理考えると流石にnpmあった方がよい

学習フェイズでとりあえず動かしたいなら node [js] で全然いい。お手軽

hello world

console.log('hello')のts書いてtsc [ts]して出てきたファイルをnode [js]でとりあえず。npmのhelloworldはまだやってない。

package.jsonの書き方

docs.npmjs.com

長すぎる。が、binやprivateないしpublish周りの設定は見といた方が無難だと思う。

仕事用とかで公開しにくいならprivate true;と"license": "UNLICENSED"はとりあえずで入れといたほうがよさげ。

npm init?

package.json作ってくれるだけ。これをやるだけではnpmパッケージとして実行できるようにならないんで、CLIアプリケーション作りたいってだけなら忘れてもいい

パッケージマネージャとしてnpm使うだろうからやっといた方がいいだろうけど、「パッケージマネージャを利用する」「公開のためnpmパッケージとしてビルドする」「開発の各コマンドを管理する」以上の目的を考えるまでは扱わなくても考えてなくてもいい

CLIの作り方になれる、構文触ってみる学習フェイズならいらないと言ってもいい