Skip to content

Commit 2eff28f

Browse files
authored
tools: move ESLint to tools/eslint
Greatly simplify how ESLint and its plugins are installed. PR-URL: nodejs#53413 Reviewed-By: Antoine du Hamel <[email protected]>
1 parent 67c19c2 commit 2eff28f

File tree

3,134 files changed

+7888
-5208
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,134 files changed

+7888
-5208
lines changed

.editorconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ indent_size = unset
2323
indent_style = unset
2424
trim_trailing_whitespace = unset
2525

26-
[{test/fixtures,deps,tools/node_modules,tools/gyp,tools/icu,tools/msvs}/**]
26+
[{test/fixtures,deps,tools/eslint/node_modules,tools/gyp,tools/icu,tools/msvs}/**]
2727
insert_final_newline = false

.github/workflows/build-tarball.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ jobs:
9696
echo "TAR_DIR=$RUNNER_TEMP/`basename tarballs/*.tar.gz .tar.gz`" >> $GITHUB_ENV
9797
- name: Copy directories needed for testing
9898
run: |
99-
cp -r tools/node_modules $TAR_DIR/tools
99+
cp -r tools/eslint $TAR_DIR/tools
100100
cp -r tools/eslint-rules $TAR_DIR/tools
101101
- name: Build
102102
run: |

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -2003,7 +2003,7 @@ The externally maintained libraries used by Node.js are:
20032003
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
20042004
"""
20052005

2006-
- ESLint, located at tools/node_modules/eslint, is licensed as follows:
2006+
- ESLint, located at tools/eslint/node_modules/eslint, is licensed as follows:
20072007
"""
20082008
Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
20092009

Makefile

+4-4
Original file line numberDiff line numberDiff line change
@@ -1192,7 +1192,7 @@ $(TARBALL): release-only doc-only
11921192
$(RM) -r $(TARNAME)/tools/eslint
11931193
$(RM) -r $(TARNAME)/tools/eslint-rules
11941194
$(RM) -r $(TARNAME)/tools/license-builder.sh
1195-
$(RM) -r $(TARNAME)/tools/node_modules
1195+
$(RM) -r $(TARNAME)/tools/eslint/node_modules
11961196
$(RM) -r $(TARNAME)/tools/osx-*
11971197
$(RM) -r $(TARNAME)/tools/osx-pkg.pmdoc
11981198
find $(TARNAME)/deps/v8/test/* -type d ! -regex '.*/test/torque$$' | xargs $(RM) -r
@@ -1378,7 +1378,7 @@ format-md:
13781378

13791379
LINT_JS_TARGETS = eslint.config.mjs benchmark doc lib test tools
13801380

1381-
run-lint-js = tools/node_modules/eslint/bin/eslint.js --cache \
1381+
run-lint-js = tools/eslint/node_modules/eslint/bin/eslint.js --cache \
13821382
--max-warnings=0 --report-unused-disable-directives $(LINT_JS_TARGETS)
13831383
run-lint-js-fix = $(run-lint-js) --fix
13841384

@@ -1402,7 +1402,7 @@ lint-js lint-js-doc:
14021402
jslint: lint-js
14031403
$(warning Please use lint-js instead of jslint)
14041404

1405-
run-lint-js-ci = tools/node_modules/eslint/bin/eslint.js \
1405+
run-lint-js-ci = tools/eslint/node_modules/eslint/bin/eslint.js \
14061406
--max-warnings=0 --report-unused-disable-directives -f tap \
14071407
-o test-eslint.tap $(LINT_JS_TARGETS)
14081408

@@ -1562,7 +1562,7 @@ lint-yaml:
15621562

15631563
.PHONY: lint
15641564
.PHONY: lint-ci
1565-
ifneq ("","$(wildcard tools/node_modules/eslint/)")
1565+
ifneq ("","$(wildcard tools/eslint/node_modules/eslint/)")
15661566
lint: ## Run JS, C++, MD and doc linters.
15671567
@EXIT_STATUS=0 ; \
15681568
$(MAKE) lint-js || EXIT_STATUS=$$? ; \

benchmark/misc/startup-cli-version.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const path = require('path');
1111
// indispensible part of the CLI.
1212
// NOTE: not all tools are present in tarball hence need to filter
1313
const availableCli = [
14-
'tools/node_modules/eslint/bin/eslint.js',
14+
'tools/eslint/node_modules/eslint/bin/eslint.js',
1515
'deps/npm/bin/npx-cli.js',
1616
'deps/npm/bin/npm-cli.js',
1717
'deps/corepack/dist/corepack.js',

doc/contributing/collaborator-guide.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -854,7 +854,7 @@ might impact an LTS release.
854854
| `src/node_api.*` | @nodejs/node-api |
855855
| `src/node_crypto.*`, `src/crypto` | @nodejs/crypto |
856856
| `test/*` | @nodejs/testing |
857-
| `tools/node_modules/eslint`, `eslint.config.mjs` | @nodejs/linting |
857+
| `tools/eslint`, `eslint.config.mjs` | @nodejs/linting |
858858
| build | @nodejs/build |
859859
| `src/module_wrap.*`, `lib/internal/modules/*`, `lib/internal/vm/module.js` | @nodejs/modules |
860860
| GYP | @nodejs/gyp |

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ exclude = [
44
"tools/cpplint.py",
55
"tools/gyp",
66
"tools/inspector_protocol",
7-
"tools/node_modules",
7+
"tools/eslint/node_modules",
88
]
99
line-length = 172
1010
target-version = "py37"

test/common/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ Skip the rest of the tests if the current terminal is a dumb terminal
472472
### `skipIfEslintMissing()`
473473

474474
Skip the rest of the tests in the current file when `ESLint` is not available
475-
at `tools/node_modules/eslint`
475+
at `tools/eslint/node_modules/eslint`
476476

477477
### `skipIfInspectorDisabled()`
478478

test/common/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ function hasMultiLocalhost() {
517517

518518
function skipIfEslintMissing() {
519519
if (!fs.existsSync(
520-
path.join(__dirname, '..', '..', 'tools', 'node_modules', 'eslint'),
520+
path.join(__dirname, '..', '..', 'tools', 'eslint', 'node_modules', 'eslint'),
521521
)) {
522522
skip('missing ESLint');
523523
}

test/parallel/test-eslint-alphabetize-errors.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
66
}
77
common.skipIfEslintMissing();
88

9-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
9+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1010
const rule = require('../../tools/eslint-rules/alphabetize-errors');
1111

1212
new RuleTester().run('alphabetize-errors', rule, {

test/parallel/test-eslint-alphabetize-primordials.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/alphabetize-primordials');
1212

1313
new RuleTester()

test/parallel/test-eslint-async-iife-no-unused-result.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
55
}
66
common.skipIfEslintMissing();
77

8-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
8+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
99
const rule = require('../../tools/eslint-rules/async-iife-no-unused-result');
1010

1111
const message = 'The result of an immediately-invoked async function needs ' +

test/parallel/test-eslint-avoid-prototype-pollution.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/avoid-prototype-pollution');
1212

1313
new RuleTester()

test/parallel/test-eslint-crypto-check.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/crypto-check');
1212

1313
const message = 'Please add a hasCrypto check to allow this test to be ' +

test/parallel/test-eslint-documented-deprecation-codes.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if (!common.hasIntl)
77
common.skip('missing Intl');
88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/documented-deprecation-codes');
1212

1313
const mdFile = 'doc/api/deprecations.md';

test/parallel/test-eslint-documented-errors.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
66
}
77
common.skipIfEslintMissing();
88

9-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
9+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1010
const rule = require('../../tools/eslint-rules/documented-errors');
1111

1212
const invalidCode = 'UNDOCUMENTED ERROR CODE';

test/parallel/test-eslint-duplicate-requires.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const { RuleTester } = require('../../tools/node_modules/eslint');
10+
const { RuleTester } = require('../../tools/eslint/node_modules/eslint');
1111
const rule = require('../../tools/eslint-rules/no-duplicate-requires');
1212

1313
new RuleTester({

test/parallel/test-eslint-eslint-check.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/eslint-check');
1212

1313
const message = 'Please add a skipIfEslintMissing() call to allow this ' +
@@ -19,16 +19,16 @@ new RuleTester().run('eslint-check', rule, {
1919
'foo;',
2020
'require("common")\n' +
2121
'common.skipIfEslintMissing();\n' +
22-
'require("../../tools/node_modules/eslint")',
22+
'require("../../tools/eslint/node_modules/eslint")',
2323
],
2424
invalid: [
2525
{
2626
code: 'require("common")\n' +
27-
'require("../../tools/node_modules/eslint").RuleTester',
27+
'require("../../tools/eslint/node_modules/eslint").RuleTester',
2828
errors: [{ message }],
2929
output: 'require("common")\n' +
3030
'common.skipIfEslintMissing();\n' +
31-
'require("../../tools/node_modules/eslint").RuleTester'
31+
'require("../../tools/eslint/node_modules/eslint").RuleTester'
3232
},
3333
]
3434
});

test/parallel/test-eslint-inspector-check.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
66
}
77
common.skipIfEslintMissing();
88

9-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
9+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1010
const rule = require('../../tools/eslint-rules/inspector-check');
1111

1212
const message = 'Please add a skipIfInspectorDisabled() call to allow this ' +

test/parallel/test-eslint-lowercase-name-for-primitive.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/lowercase-name-for-primitive');
1212

1313
new RuleTester().run('lowercase-name-for-primitive', rule, {

test/parallel/test-eslint-no-array-destructuring.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const { RuleTester } = require('../../tools/node_modules/eslint');
10+
const { RuleTester } = require('../../tools/eslint/node_modules/eslint');
1111
const rule = require('../../tools/eslint-rules/no-array-destructuring');
1212

1313
const USE_OBJ_DESTRUCTURING =

test/parallel/test-eslint-no-unescaped-regexp-dot.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/no-unescaped-regexp-dot');
1212

1313
new RuleTester().run('no-unescaped-regexp-dot', rule, {

test/parallel/test-eslint-non-ascii-character.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/non-ascii-character');
1212

1313
new RuleTester().run('non-ascii-characters', rule, {

test/parallel/test-eslint-prefer-assert-iferror.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/prefer-assert-iferror');
1212

1313
new RuleTester().run('prefer-assert-iferror', rule, {

test/parallel/test-eslint-prefer-assert-methods.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/prefer-assert-methods');
1212

1313
new RuleTester().run('prefer-assert-methods', rule, {

test/parallel/test-eslint-prefer-common-mustnotcall.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/prefer-common-mustnotcall');
1212

1313
const message = 'Please use common.mustNotCall(msg) instead of ' +

test/parallel/test-eslint-prefer-common-mustsucceed.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/prefer-common-mustsucceed');
1212

1313
const msg1 = 'Please use common.mustSucceed instead of ' +

test/parallel/test-eslint-prefer-primordials.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/prefer-primordials');
1212

1313
new RuleTester({

test/parallel/test-eslint-prefer-proto.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/prefer-proto');
1212

1313
new RuleTester().run('prefer-common-mustsucceed', rule, {

test/parallel/test-eslint-prefer-util-format-errors.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
99

1010
common.skipIfEslintMissing();
1111

12-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
12+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1313
const rule = require('../../tools/eslint-rules/prefer-util-format-errors');
1414

1515
new RuleTester()

test/parallel/test-eslint-require-common-first.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/require-common-first');
1212

1313
new RuleTester({

test/parallel/test-eslint-required-modules.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if ((!common.hasCrypto) || (!common.hasIntl)) {
77

88
common.skipIfEslintMissing();
99

10-
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
10+
const RuleTester = require('../../tools/eslint/node_modules/eslint').RuleTester;
1111
const rule = require('../../tools/eslint-rules/required-modules');
1212

1313
new RuleTester({

0 commit comments

Comments
 (0)