Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tools: use bundled npm in update scripts #37613

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions tools/update-babel-eslint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,27 @@

# 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.

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
Expand Down
18 changes: 11 additions & 7 deletions tools/update-eslint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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
Expand Down