仕事ですぐに使えるTypeScriptを読んでいくその60

これは

TypeScriptの学習にとても役立ちそうなドキュメントを教えてもらったので
コツコツと読んでいく記事です。

参考

著作権者:フューチャー株式会社(Future Corporation)様

future-architect.github.io

CLIツール作成のための環境設定

ビルド設定

TypeScriptのビルド設定のポイントはブラウザから使わないので、
ターゲットのバージョンを高くできる点にある。

まず事前Node.jsの型定義をインストールする。
コマンドラインでよく使うカラーコンソール出力、コマンドライン引数のパーサ、
ヘルプメッセージ表示といったライブラリを追加。

$ npm install --save cli-color command-line-args
   command-line-usage source-map-support
$ npm install --save-dev @types/node @types/cli-color
   @types/command-line-args @types/command-line-usage
   @types/source-map-support

ライブラリ環境構築では成果物用の設定を行ったが
Node.jsのみなのでd.tsを生成する必要がない。

{
  "compilerOptions": {
    "target": "es2018",        // お好みで変更
    "declaration": false,      // 生成したものを他から使うことはないのでfalseに
    "declarationMap": false,   // 同上
    "sourceMap": true,         //
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "esModuleInterop": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "module": "commonjs",      // Node.jsで使うため
    "outDir": "./dist"         // 出力先を設定
  },
  "include": ["src/**/*"]
}

package.json設定はほかのパッケージから利用されることもないので
ライブラリ作成の環境構築で行ったようなmain/modules/typesの設定は不要
bin項目でエントリーポイントのファイルを指定する。この指定したキー名称が実行ファイル名になる

{
  "bin": {
    "awesome-cmd": "dist/index.js"
  },
  "scripts": {
    "build": "tsc --project .",
    "lint": "eslint .",
    "fix": "eslint --fix ."
  }
}

今日はここまで。