summaryrefslogtreecommitdiff
path: root/tools/dep_updaters
diff options
context:
space:
mode:
authorLuigi Pinca <luigipinca@gmail.com>2023-01-04 20:54:21 +0100
committerNode.js GitHub Bot <github-bot@iojs.org>2023-01-06 09:14:30 +0000
commit6668c4dfb8f74ffe4734d230e945f41a8c164176 (patch)
tree249ed5a8d184a8cb97abc3e0871cc7fc2c59f18f /tools/dep_updaters
parent7f2ef89fabb71803155245ccc933372445d5fe6c (diff)
downloadnode-new-6668c4dfb8f74ffe4734d230e945f41a8c164176.tar.gz
tools: move update-eslint.sh to dep_updaters/
Move the `update-eslint.sh` script to the `dep_updaters/` directory. PR-URL: https://github.com/nodejs/node/pull/46088 Refs: https://github.com/nodejs/node/actions/runs/3814364920/jobs/6488613583#step:3:64 Reviewed-By: Ruy Adorno <ruyadorno@google.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Diffstat (limited to 'tools/dep_updaters')
-rwxr-xr-xtools/dep_updaters/update-eslint.sh65
1 files changed, 65 insertions, 0 deletions
diff --git a/tools/dep_updaters/update-eslint.sh b/tools/dep_updaters/update-eslint.sh
new file mode 100755
index 0000000000..7d536ef502
--- /dev/null
+++ b/tools/dep_updaters/update-eslint.sh
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+# Shell script to update ESLint in the source tree to the latest release.
+
+# 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.
+
+set -ex
+
+cd "$( dirname "$0" )" || exit
+rm -rf ../node_modules/eslint
+(
+ rm -rf eslint-tmp
+ mkdir eslint-tmp
+ cd eslint-tmp || exit
+
+ ROOT="$PWD/../../.."
+ [ -z "$NODE" ] && NODE="$ROOT/out/Release/node"
+ [ -x "$NODE" ] || NODE=$(command -v node)
+ NPM="$ROOT/deps/npm/bin/npm-cli.js"
+
+ "$NODE" "$NPM" init --yes
+
+ "$NODE" "$NPM" install \
+ --ignore-scripts \
+ --install-strategy=shallow \
+ --no-bin-links \
+ eslint
+ # Uninstall plugins that we want to install so that they are removed from
+ # devDependencies. Otherwise --omit=dev will cause them to be skipped.
+ (
+ cd node_modules/eslint
+ "$NODE" "$NPM" uninstall \
+ --install-links=false \
+ --ignore-scripts \
+ eslint-plugin-jsdoc \
+ eslint-plugin-markdown \
+ @babel/core \
+ @babel/eslint-parser \
+ @babel/plugin-syntax-import-assertions
+ )
+ (
+ cd node_modules/eslint
+ "$NODE" "$NPM" install \
+ --ignore-scripts \
+ --install-links=false \
+ --no-bin-links \
+ --no-save \
+ --omit=dev \
+ --omit=peer \
+ eslint-plugin-jsdoc \
+ eslint-plugin-markdown \
+ @babel/core \
+ @babel/eslint-parser \
+ @babel/plugin-syntax-import-assertions
+ )
+ # Use dmn to remove some unneeded files.
+ "$NODE" "$NPM" exec --package=dmn@2.2.2 --yes -- dmn -f clean
+ # TODO: Get this into dmn.
+ find node_modules -name .package-lock.json -exec rm {} \;
+ find node_modules -name 'README*' -exec rm {} \;
+)
+
+mv eslint-tmp/node_modules/eslint ../node_modules/eslint
+rm -rf eslint-tmp/