package.json の情報をスクリプト内で参照したくなったのでその方法をメモ。
方法
const packageJson = require('./package.json');
console.log(packageJson.version);
// 0.0.1
console.log(packageJson.dependencies);
// { bootstrap: '^5.1.0' }
普通に require
で読み込めるようです。
const packageJson = require('./package.json');
console.log(packageJson.version);
// 0.0.1
console.log(packageJson.devDependencies['browser-sync']);
// ^2.27.5
パッケージ名にハイフンがある場合はオブジェクトのキー名を指定する形式で使用パッケージのバージョン情報が取得できますね。
思ったよりも簡単にできることが確認できました。
ちなみに……
> node -v
v16.3.0
> npm -v
7.15.1
実行環境はとあるプロジェクトでこんな感じでした。最新に上げないといけませんがそれはそれとして。
参考
- package.jsonのversionをコマンド(ワンライナー)で取り出したい – Qiita
- package.jsonの各種要素を読み込みたい! – DEV Community
- scripts | npm Docs
process.env.npm_package_XXXXXXXXXX
の形は手元の環境で試したところundefined
になってしまいました……