tools: fix node-core/required-modules eslint rule
Make the node-core/required-modules eslint rule smart enough to recognize that `import '../common/index.mjs'` in ESM files imports the mandatory 'common' module. PR-URL: https://github.com/nodejs/node/pull/27545 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
parent
d099f2f124
commit
d7d6526260
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
import assert from 'assert';
|
||||
import ok from '../fixtures/es-modules/test-esm-ok.mjs';
|
||||
|
@ -1,4 +1,3 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
import('./test-esm-cyclic-dynamic-import.mjs');
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
|
||||
// Assert we can import files with `%` in their pathname.
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
import assert from 'assert';
|
||||
// ./test-esm-ok.mjs
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
|
@ -1,6 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
|
||||
import '../common/index.mjs';
|
||||
import assert from 'assert';
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules --experimental-json-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
|
||||
import { strictEqual, deepStrictEqual } from 'assert';
|
||||
|
@ -1,6 +1,4 @@
|
||||
// Flags: --experimental-modules --experimental-json-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
|
||||
import '../common/index.mjs';
|
||||
import { strictEqual } from 'assert';
|
||||
|
||||
|
@ -1,6 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
|
||||
import '../common/index.mjs';
|
||||
import assert from 'assert';
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules --loader ./test/fixtures/es-module-loaders/loader-invalid-format.mjs
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import { expectsError, mustCall } from '../common/index.mjs';
|
||||
import assert from 'assert';
|
||||
|
||||
|
@ -1,6 +1,4 @@
|
||||
// Flags: --experimental-modules --loader ./test/fixtures/es-module-loaders/loader-invalid-url.mjs
|
||||
/* eslint-disable node-core/required-modules */
|
||||
|
||||
import { expectsError, mustCall } from '../common/index.mjs';
|
||||
import assert from 'assert';
|
||||
|
||||
|
@ -1,6 +1,4 @@
|
||||
// Flags: --experimental-modules --loader ./test/fixtures/es-module-loaders/missing-dynamic-instantiate-hook.mjs
|
||||
/* eslint-disable node-core/required-modules */
|
||||
|
||||
import { expectsError } from '../common/index.mjs';
|
||||
|
||||
import('test').catch(expectsError({
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
import assert from 'assert';
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules --loader ./test/fixtures/es-module-loaders/builtin-named-exports-loader.mjs
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
import { readFile } from 'fs';
|
||||
import assert from 'assert';
|
||||
|
@ -1,6 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
|
||||
import '../common/index.mjs';
|
||||
import * as fs from 'fs';
|
||||
import assert from 'assert';
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
import assert from 'assert';
|
||||
import process from 'process';
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import { createRequire } from '../common/index.mjs';
|
||||
import assert from 'assert';
|
||||
//
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules --loader ./test/fixtures/es-module-loaders/loader-shared-dep.mjs
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import { createRequire } from '../common/index.mjs';
|
||||
|
||||
import assert from 'assert';
|
||||
|
@ -1,6 +1,5 @@
|
||||
#! }]) // isn't js
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
|
||||
const isJs = true;
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
import '../fixtures/es-modules/esm-snapshot-mutator.js';
|
||||
import one from '../fixtures/es-modules/esm-snapshot.js';
|
||||
|
@ -1,6 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
|
||||
import '../common/index.mjs';
|
||||
import assert from 'assert';
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import cjs from '../fixtures/baz.js';
|
||||
import '../common/index.mjs';
|
||||
import { message } from '../fixtures/es-modules/message.mjs';
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
import four from '../fixtures/async-error.js';
|
||||
|
||||
|
@ -4,4 +4,4 @@ Error: test
|
||||
at two (*fixtures*async-error.js:17:9)
|
||||
at async three (*fixtures*async-error.js:20:3)
|
||||
at async four (*fixtures*async-error.js:24:3)
|
||||
at async main (*message*async_error_sync_esm.mjs:8:5)
|
||||
at async main (*message*async_error_sync_esm.mjs:7:5)
|
||||
|
@ -1,5 +1,5 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable no-unused-vars, node-core/required-modules */
|
||||
/* eslint-disable no-unused-vars */
|
||||
import '../common/index.mjs';
|
||||
import {
|
||||
foo,
|
||||
|
@ -1,4 +1,3 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
import '../fixtures/es-module-loaders/syntax-error-import.mjs';
|
||||
|
@ -1,4 +1,3 @@
|
||||
// Flags: --experimental-modules
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import '../common/index.mjs';
|
||||
import '../fixtures/es-module-loaders/syntax-error.mjs';
|
||||
|
@ -1,5 +1,4 @@
|
||||
// Flags: --experimental-modules --loader ./test/fixtures/es-module-loaders/loader-unknown-builtin-module.mjs
|
||||
/* eslint-disable node-core/required-modules */
|
||||
import { expectsError, mustCall } from '../common/index.mjs';
|
||||
import assert from 'assert';
|
||||
|
||||
|
@ -46,6 +46,10 @@ module.exports = function(context) {
|
||||
* @returns {undefined|String} required module name or undefined
|
||||
*/
|
||||
function getRequiredModuleName(str) {
|
||||
if (str === '../common/index.mjs') {
|
||||
return 'common';
|
||||
}
|
||||
|
||||
const value = path.basename(str);
|
||||
|
||||
// Check if value is in required modules array
|
||||
|
Loading…
x
Reference in New Issue
Block a user