31 lines
920 B
Bash
31 lines
920 B
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
# 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 be in the tools directory when it runs because it uses
|
||
|
# $BASH_SOURCE[0] to determine directories to work in.
|
||
|
|
||
|
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
||
|
rm -rf node_modules/eslint
|
||
|
mkdir eslint-tmp
|
||
|
cd eslint-tmp
|
||
|
npm init --yes
|
||
|
|
||
|
npm install --global-style --no-bin-links --production --no-package-lock eslint@latest
|
||
|
cd node_modules/eslint
|
||
|
|
||
|
npm install --no-bin-links --production --no-package-lock eslint-plugin-markdown@latest
|
||
|
cd ../..
|
||
|
|
||
|
# Use dmn to remove some unneeded files.
|
||
|
npx 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 .
|
||
|
|
||
|
cd ..
|
||
|
mv eslint-tmp/node_modules/eslint node_modules/eslint
|
||
|
rm -rf eslint-tmp/
|