created: 2022-07-08T04:26:04.812Z

ts-node で ts-node のオプションを指定しながら nodejs のオプションも指定する

具体的には .ts ファイルを ts-node で実行する場合に、node のオプション引数と ts-node のオプション引数の両方を付けたい場合の話。

node だけのオプションを付けたい場合

--max-old-space-size とか nodejs のオプションをも付けたい場合は以下のようにすればよい。

$ node --require ts-node/register --max-old-space-size ./main.ts

これはREADMEにも書いてある。

ts-node のコンパイラオプションを指定したい場合

テスト用や、ローカル開発用の tsconfig.json を用意して開発している場合、以下のようにすればコンパイラオプションを指示することができる。

$ ts-node --project tsconfig.dev.json ./main.ts

これもREADMEに書いてある。

両方がやりたい場合

このようにする。

$ TS_NODE_PROJECT=tsconfig.test.json node --require ts-node/register ./main.ts

TS_NODE_PROJECT という環境変数があって、それで読み込む tsconfig を制御できる。

これ以外にも ts-node は環境変数経由で渡せるオプションはいくつかある。

その他(確かめていない)

export NODE_OPTIONS= とかしてもうまくいくかもしれない。