サプライチェーンから守るための npm , pnpm 設定

● npm設定 自身のホームフォルダ以下の .npmrc ファイルに、以下の設定を行います。

vi ~/.npmrc
# 7日経過したnpmパッケージしかインストールさせない。
min-release-age=7

# ^1.2.3 のような範囲指定バージョンを使わず1.2.3 のように正確なバージョンで保存
save-exact=true

# postinstall など、スクリプトを実行させない
ignore-scripts=true

npm では min-release-ageの単位は day です。

min-release-age は npm v11 以降の機能のようです
https://docs.npmjs.com/cli/v11/using-npm/config#min-release-age

npmのバージョンを確認する

 npm --version
11.11.0

● npm設定 .npmrc の適用の優先順位

npmには4つの設定ファイルがあり、それぞれ異なる適用範囲を持ちます

1. プロジェクト設定: /path/to/my/project/.npmrc - プロジェクト固有
2 . ユーザー設定: ~/.npmrc - ホームフォルダに配置、ユーザー全体に適用
3 . グローバル設定: $PREFIX/etc/npmrc - システム全体に適用
4 . 組み込み設定: npm自体の設定

優先順位
プロジェクト設定 > ユーザー設定 > グローバル設定 > 組み込み設定

npmの設定システムでは、各設定ファイルからすべてのパラメータが読み込まれ、 同じパラメータ名が複数存在する場合に限り、優先順位の高い設定が上書きされます。

● (pnpm設定) Globalに設定する

pnpm config set minimumReleaseAge 10080 --global

設定確認方法

minimumReleaseAge の設定値がどうなっているのかを、コマンドから表示する:

pnpm config get minimumReleaseAge

ファイルの中身を表示して確認する

cat ~/Library/Preferences/pnpm/rc
No.2735
04/01 18:42

edit