node/tools/update-eslint.sh
Luigi Pinca 5de911eeaf
tools: make update-eslint.sh work with npm@7
Install `eslint-plugin-markdown` at the same level of `eslint` without
cd'ing into `eslint` directory, otherwise the following error is raised:

```
npm ERR! code ERESOLVE
npm ERR! Cannot destructure property 'name' of 'node' as it is null.
```

PR-URL: https://github.com/nodejs/node/pull/37566
Fixes: https://github.com/nodejs/node/issues/37560
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ruy Adorno <ruyadorno@github.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2021-06-11 09:30:19 +02:00

30 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
# 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.
cd "$( dirname "$0" )" || exit
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
# 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 .
)
mv eslint-tmp/node_modules/eslint node_modules/eslint
mv eslint-tmp/node_modules/eslint-plugin-markdown node_modules/eslint-plugin-markdown
rm -rf eslint-tmp/