🐕
✍️ Projenでpackage.jsonにスクリプトを追加する
Projenを使って、package.json
の scripts
に自分のスクリプトを追加する方法はいくつかありますが、最も正規な方法は addScripts()
を使うものです。
基本的な使い方
TypeScriptProject
や NodeProject
などの Projen プロジェクトで、次のように記述するだけで、package.json
にスクリプトを追加できます:
project.addScripts({
connect: 'npx ts-node src/index.ts',
});
この設定は、結果的に次のような package.json
を生成します:
"scripts": {
"connect": "npx ts-node src/index.ts"
}
複数追加する場合
project.addScripts({
dev: 'vite',
build: 'tsc',
lint: 'eslint src --ext .ts',
});
addScripts()
を使うメリット
- 正規APIであり、Projen v0.61.9 以降で実装済み
-
project.package.addScript()
やproject.addPackageJsonOverride()
と異なり、簡単でわかりやすい - 複数スクリプトを一括で記述可能
主な注意点
-
addScript()
は Projen v0.79.16 以降で protected になっており、外部からは使用不可 -
addPackageJsonOverride()
もTypeScriptProject
には直接なく、project.package.packageJson.file.addOverride(...)
という諦め案が必要
おわりに
Projen は実用性の高いツールですが、バージョン上のAPI変更もあるので、最新の作法を使うことが重要です。addScripts()
はその中で最も便利な方法ですので、Projen使いには必要なテクニックと言えるでしょう。
Discussion