created: 2024-08-01T09:04:24.093Z

UI の開発で、ちょっとしたツールを ts-node を shebang に書くとき

#!/usr/bin/env npx ts-node --compilerOptions {"module":"commonjs"}
import { argv, $ } from "zx";
...

実装

2024 年の UI の開発だと、まだこのへんのエラーになるので一工夫が必要。

SyntaxError: Cannot use import statement outside a module at internalCompileFunction (node:internal/vm:74:18)

  • モジュール解決を webpack にやらせるために tsconfig.jsonmodule=esnext になってたりする
  • package.json の設定はまだ type=module になっていない

関連

SLO サービスレベル目標 ―SLI、SLO、エラーバジェット導入の実践ガイド
[ad] SLO サービスレベル目標 ―SLI、SLO、エラーバジェット導入の実践ガイド
Alex Hidalgo, 山口 能迪 (単行本(ソフトカバー))