Skip to content

Commit 8e64d38

Browse files
targosaduh95
authored andcommitted
tools: import rather than require ESLint plugins
Refs: #57314 PR-URL: #57315 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
1 parent ee5ce5c commit 8e64d38

6 files changed

+16
-20
lines changed

benchmark/eslint.config_partial.mjs

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import { requireEslintTool } from '../tools/eslint/eslint.config_utils.mjs';
2-
3-
const globals = requireEslintTool('globals');
1+
import { globals } from '../tools/eslint/eslint.config_utils.mjs';
42

53
export default [
64
{

doc/eslint.config_partial.mjs

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
import {
2+
globals,
23
noRestrictedSyntaxCommonAll,
34
noRestrictedSyntaxCommonLib,
4-
requireEslintTool,
55
} from '../tools/eslint/eslint.config_utils.mjs';
66
import { builtinModules } from 'node:module';
77

88
const builtin = builtinModules.filter((name) => !name.startsWith('node:'));
99

10-
const globals = requireEslintTool('globals');
11-
1210
export default [
1311
{
1412
files: ['doc/**/*.md/*.{js,mjs,cjs}'],

eslint.config.mjs

+6-6
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,20 @@ import libConfig from './lib/eslint.config_partial.mjs';
77
import testConfig from './test/eslint.config_partial.mjs';
88
import toolsConfig from './tools/eslint/eslint.config_partial.mjs';
99
import {
10+
importEslintTool,
1011
noRestrictedSyntaxCommonAll,
1112
noRestrictedSyntaxCommonLib,
12-
requireEslintTool,
1313
resolveEslintTool,
1414
} from './tools/eslint/eslint.config_utils.mjs';
1515
import nodeCore from './tools/eslint/eslint-plugin-node-core.js';
1616

17-
const js = requireEslintTool('@eslint/js');
18-
const babelEslintParser = requireEslintTool('@babel/eslint-parser');
17+
const { default: js } = await importEslintTool('@eslint/js');
18+
const { default: babelEslintParser } = await importEslintTool('@babel/eslint-parser');
1919
const babelPluginSyntaxImportAttributes = resolveEslintTool('@babel/plugin-syntax-import-attributes');
2020
const babelPluginSyntaxImportSource = resolveEslintTool('@babel/plugin-syntax-import-source');
21-
const jsdoc = requireEslintTool('eslint-plugin-jsdoc');
22-
const markdown = requireEslintTool('eslint-plugin-markdown');
23-
const stylisticJs = requireEslintTool('@stylistic/eslint-plugin-js');
21+
const { default: jsdoc } = await importEslintTool('eslint-plugin-jsdoc');
22+
const { default: markdown } = await importEslintTool('eslint-plugin-markdown');
23+
const { default: stylisticJs } = await importEslintTool('@stylistic/eslint-plugin-js');
2424

2525
nodeCore.RULES_DIR = fileURLToPath(new URL('./tools/eslint-rules', import.meta.url));
2626

test/eslint.config_partial.mjs

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
/* eslint-disable @stylistic/js/max-len */
22

33
import {
4+
globals,
45
noRestrictedSyntaxCommonAll,
5-
requireEslintTool,
66
} from '../tools/eslint/eslint.config_utils.mjs';
77

8-
const globals = requireEslintTool('globals');
9-
108
export default [
119
{
1210
files: ['test/**/*.{js,mjs,cjs}'],

tools/eslint/eslint.config_partial.mjs

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import { requireEslintTool } from './eslint.config_utils.mjs';
2-
3-
const globals = requireEslintTool('globals');
1+
import { globals } from './eslint.config_utils.mjs';
42

53
export default [
64
{

tools/eslint/eslint.config_utils.mjs

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

3-
export const requireEslintTool = createRequire(new URL(import.meta.url));
4-
export const resolveEslintTool = (request) => requireEslintTool.resolve(request);
3+
export { default as globals } from 'globals';
4+
5+
export const importEslintTool = (specifier) => import(specifier);
6+
7+
const localRequire = createRequire(new URL(import.meta.url));
8+
export const resolveEslintTool = (request) => localRequire.resolve(request);
59

610
export const noRestrictedSyntaxCommonAll = [
711
{

0 commit comments

Comments
 (0)