build: move to npm ci where possible

Recent events (involving a maliciously published version of a popular
module's dependency) have reinvigorated my interest in seeing us move to
`npm ci` instead of `npm install`. This moves us to `npm ci` where
possible in Makefile and vcbuild.bat.

PR-URL: https://github.com/nodejs/node/pull/21802
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Rich Trott
2018-07-13 14:37:56 -07:00
parent 4f47f62d8e
commit fe67287306
2 changed files with 5 additions and 4 deletions

View File

@@ -652,6 +652,7 @@ available-node = \
fi;
run-npm-install = $(PWD)/$(NPM) install --production --no-package-lock
run-npm-ci = $(PWD)/$(NPM) ci
tools/doc/node_modules/js-yaml/package.json:
cd tools/doc && $(call available-node,$(run-npm-install))
@@ -1061,12 +1062,12 @@ lint-md-clean:
tools/remark-cli/node_modules: tools/remark-cli/package.json
@echo "Markdown linter: installing remark-cli into tools/"
@cd tools/remark-cli && $(call available-node,$(run-npm-install))
@cd tools/remark-cli && $(call available-node,$(run-npm-ci))
tools/remark-preset-lint-node/node_modules: \
tools/remark-preset-lint-node/package.json
@echo "Markdown linter: installing remark-preset-lint-node into tools/"
@cd tools/remark-preset-lint-node && $(call available-node,$(run-npm-install))
@cd tools/remark-preset-lint-node && $(call available-node,$(run-npm-ci))
.PHONY: lint-md-build
lint-md-build: tools/remark-cli/node_modules \

View File

@@ -614,12 +614,12 @@ if not defined lint_md_build goto lint-md
SETLOCAL
echo Markdown linter: installing remark-cli into tools\
cd tools\remark-cli
%npm_exe% install
%npm_exe% ci
cd ..\..
if errorlevel 1 goto lint-md-build-failed
echo Markdown linter: installing remark-preset-lint-node into tools\
cd tools\remark-preset-lint-node
%npm_exe% install
%npm_exe% ci
cd ..\..
if errorlevel 1 goto lint-md-build-failed
ENDLOCAL