diff --git a/tools/update-babel-eslint.sh b/tools/update-babel-eslint.sh index b64b8f25d32f7c..36bfd918916ebd 100755 --- a/tools/update-babel-eslint.sh +++ b/tools/update-babel-eslint.sh @@ -2,8 +2,6 @@ # Shell script to update babel-eslint in the source tree to the latest release. -# Depends on npm, npx, and node being in $PATH. - # This script must be be in the tools directory when it runs because it uses # $0 to determine directories to work in. @@ -11,15 +9,20 @@ cd "$( dirname "${0}" )" || exit rm -rf node_modules/@babel mkdir babel-eslint-tmp cd babel-eslint-tmp || exit -npm init --yes -npm install --global-style --no-bin-links --production --no-package-lock @babel/core @babel/eslint-parser@latest @babel/plugin-syntax-class-properties@latest @babel/plugin-syntax-top-level-await@latest +ROOT="$PWD/../.." +[ -z "$NODE" ] && NODE="$ROOT/out/Release/node" +[ -x "$NODE" ] || NODE=`command -v node` +NPM="$ROOT/deps/npm" + +"$NODE" "$NPM" init --yes +"$NODE" "$NPM" install --global-style --no-bin-links --production --no-package-lock @babel/core @babel/eslint-parser@latest @babel/plugin-syntax-class-properties@latest @babel/plugin-syntax-top-level-await@latest # Use dmn to remove some unneeded files. -npx dmn@2.2.2 -f clean +"$NODE" "$NPM" exec -- dmn@2.2.2 -f clean # Use removeNPMAbsolutePaths to remove unused data in package.json. # This avoids churn as absolute paths can change from one dev to another. -npx removeNPMAbsolutePaths@1.0.4 . +"$NODE" "$NPM" exec -- removeNPMAbsolutePaths@1.0.4 . cd .. mv babel-eslint-tmp/node_modules/@babel node_modules/@babel diff --git a/tools/update-eslint.sh b/tools/update-eslint.sh index 109390d2b27baf..eb1045267f70fc 100755 --- a/tools/update-eslint.sh +++ b/tools/update-eslint.sh @@ -2,8 +2,6 @@ # Shell script to update ESLint in the source tree to the latest release. -# Depends on npm, npx, and node being in $PATH. - # This script must be in the tools directory when it runs because it uses the # script source file path to determine directories to work in. @@ -12,16 +10,22 @@ rm -rf node_modules/eslint node_modules/eslint-plugin-markdown ( mkdir eslint-tmp cd eslint-tmp || exit - npm init --yes - npm install --global-style --no-bin-links --production --no-package-lock eslint@latest - npm install --global-style --no-bin-links --production --no-package-lock eslint-plugin-markdown@latest + ROOT="$PWD/../.." + [ -z "$NODE" ] && NODE="$ROOT/out/Release/node" + [ -x "$NODE" ] || NODE=`command -v node` + NPM="$ROOT/deps/npm" + + "$NODE" "$NPM" init --yes + + "$NODE" "$NPM" install --global-style --no-bin-links --production --no-package-lock eslint@latest + "$NODE" "$NPM" install --global-style --no-bin-links --production --no-package-lock eslint-plugin-markdown@latest # Use dmn to remove some unneeded files. - npx dmn@2.2.2 -f clean + "$NODE" "$NPM" exec -- dmn@2.2.2 -f clean # Use removeNPMAbsolutePaths to remove unused data in package.json. # This avoids churn as absolute paths can change from one dev to another. - npx removeNPMAbsolutePaths@1.0.4 . + "$NODE" "$NPM" exec -- removeNPMAbsolutePaths@1.0.4 . ) mv eslint-tmp/node_modules/eslint node_modules/eslint