summaryrefslogtreecommitdiff
path: root/tools/update-eslint.sh
blob: 44f43a05d31e1abe320b66feb95e502a011ee21d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env bash

# Shell script to update ESLint in the source tree to the latest release.

# Depends on npm 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@next
cd ../..

# Install dmn if it is not in path.
type -P dmn || npm install -g dmn

# Use dmn to remove some unneeded files.
dmn -f clean

cd ..
mv eslint-tmp/node_modules/eslint node_modules/eslint
rm -rf eslint-tmp/