npm モジュールのセキュリティアップデート(3)

npm モジュールのセキュリティアップデート(2) - koba::blog で npm-force-resolutions を使って pug のバージョンを 3.0.2 に固定していたのだが、npm v8.7.0 ではこれがうまく動作しないようである。npm v8.3.0 以降では npm-force-resolutions を使わずとも overrides セクションを使って依存パッケージのバージョンを固定できるということなので試してみた。

package.json を以下に修正する。

@@ -5,7 +5,6 @@
   "main": "src/js/majiang.js",
   "private": true,
   "scripts": {
-    "preinstall": "npx npm-force-resolutions",
     "build:html": "pug -o www -P src/html/page/",
     "build:js": "webpack --mode development --devtool inline-source-map",
     "build:css": "stylus src/css/index.styl -o www/css/majiang-1.6.9.css",
@@ -25,7 +24,7 @@
     "url": "https://github.com/kobalab/Majiang/issues"
   },
   "homepage": "https://github.com/kobalab/Majiang#readme",
-  "resolutions": {
+  "overrides": {
     "pug": "^3.0.2"
   },
   "devDependencies": {

node_modules/package-lock.json を削除し、npm i を再実行する。

$ rm -rf node_modules
$ rm package-lock.json
$ npm i

これでOKのようである。