npm モジュールのセキュリティアップデート(2) で 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のようである。