Skip to content

Commit ab20214

Browse files
committed
tools: move ESLint tools to tools/eslint
With ESLint flat config, we don't need a hack with `node_modules` anymore to load ESLint plugins. This commit moves the node-core plugin out of `tools/node_modules` and creates a new `tools/eslint` directory to store ESLint tools. PR-URL: #53393 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
1 parent fa113b8 commit ab20214

9 files changed

+10
-9
lines changed

β€ŽMakefile

+1
Original file line numberDiff line numberDiff line change
@@ -1188,6 +1188,7 @@ $(TARBALL): release-only doc-only
11881188
$(RM) -r $(TARNAME)/doc/images # too big
11891189
$(RM) -r $(TARNAME)/test*.tap
11901190
$(RM) -r $(TARNAME)/tools/cpplint.py
1191+
$(RM) -r $(TARNAME)/tools/eslint
11911192
$(RM) -r $(TARNAME)/tools/eslint-rules
11921193
$(RM) -r $(TARNAME)/tools/license-builder.sh
11931194
$(RM) -r $(TARNAME)/tools/node_modules

β€Žbenchmark/eslint.config_partial.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { requireEslintTool } from '../tools/eslint.config_utils.mjs';
1+
import { requireEslintTool } from '../tools/eslint/eslint.config_utils.mjs';
22

33
const globals = requireEslintTool('globals');
44

β€Ždoc/eslint.config_partial.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { requireEslintTool } from '../tools/eslint.config_utils.mjs';
1+
import { requireEslintTool } from '../tools/eslint/eslint.config_utils.mjs';
22

33
const globals = requireEslintTool('globals');
44

β€Žeslint.config.mjs

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@ import benchmarkConfig from './benchmark/eslint.config_partial.mjs';
55
import docConfig from './doc/eslint.config_partial.mjs';
66
import libConfig from './lib/eslint.config_partial.mjs';
77
import testConfig from './test/eslint.config_partial.mjs';
8-
import toolsConfig from './tools/eslint.config_partial.mjs';
8+
import toolsConfig from './tools/eslint/eslint.config_partial.mjs';
99
import {
1010
noRestrictedSyntaxCommonAll,
1111
noRestrictedSyntaxCommonLib,
1212
requireEslintTool,
1313
resolveEslintTool,
14-
} from './tools/eslint.config_utils.mjs';
14+
} from './tools/eslint/eslint.config_utils.mjs';
15+
import nodeCore from './tools/eslint/eslint-plugin-node-core.js';
1516

1617
const js = requireEslintTool('@eslint/js');
1718
const babelEslintParser = requireEslintTool('@babel/eslint-parser');
@@ -20,7 +21,6 @@ const jsdoc = requireEslintTool('eslint-plugin-jsdoc');
2021
const markdown = requireEslintTool('eslint-plugin-markdown');
2122
const stylisticJs = requireEslintTool('@stylistic/eslint-plugin-js');
2223

23-
const nodeCore = requireEslintTool('eslint-plugin-node-core');
2424
nodeCore.RULES_DIR = fileURLToPath(new URL('./tools/eslint-rules', import.meta.url));
2525

2626
// The Module._resolveFilename() monkeypatching is to make it so that ESLint is able to

β€Žlib/eslint.config_partial.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import {
44
noRestrictedSyntaxCommonAll,
55
noRestrictedSyntaxCommonLib,
6-
} from '../tools/eslint.config_utils.mjs';
6+
} from '../tools/eslint/eslint.config_utils.mjs';
77

88
export default [
99
{

β€Žtest/eslint.config_partial.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import {
44
noRestrictedSyntaxCommonAll,
55
requireEslintTool,
6-
} from '../tools/eslint.config_utils.mjs';
6+
} from '../tools/eslint/eslint.config_utils.mjs';
77

88
const globals = requireEslintTool('globals');
99

β€Žtools/node_modules/eslint-plugin-node-core/index.js β€Žtools/eslint/eslint-plugin-node-core.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ module.exports = {
1313
if (!cache) {
1414
cache = {};
1515
const files = fs.readdirSync(RULES_DIR)
16-
.filter(filename => filename.endsWith('.js'))
16+
.filter((filename) => filename.endsWith('.js'));
1717
for (const file of files) {
1818
const name = file.slice(0, -3);
1919
cache[name] = require(path.resolve(RULES_DIR, file));
File renamed without changes.

β€Žtools/eslint.config_utils.mjs β€Žtools/eslint/eslint.config_utils.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { createRequire } from 'node:module';
22

3-
export const requireEslintTool = createRequire(new URL('./node_modules/eslint/', import.meta.url));
3+
export const requireEslintTool = createRequire(new URL('../node_modules/eslint/', import.meta.url));
44
export const resolveEslintTool = (request) => requireEslintTool.resolve(request);
55

66
export const noRestrictedSyntaxCommonAll = [

0 commit comments

Comments
Β (0)