mirror of
https://github.com/nodejs/node.git
synced 2025-05-09 09:08:46 +00:00

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>
22 lines
648 B
JavaScript
22 lines
648 B
JavaScript
// Flags: --experimental-modules
|
|
import '../common/index.mjs';
|
|
import assert from 'assert';
|
|
|
|
assert.strictEqual(Object.getPrototypeOf(import.meta), null);
|
|
|
|
const keys = ['url'];
|
|
assert.deepStrictEqual(Reflect.ownKeys(import.meta), keys);
|
|
|
|
const descriptors = Object.getOwnPropertyDescriptors(import.meta);
|
|
for (const descriptor of Object.values(descriptors)) {
|
|
delete descriptor.value; // Values are verified below.
|
|
assert.deepStrictEqual(descriptor, {
|
|
enumerable: true,
|
|
writable: true,
|
|
configurable: true
|
|
});
|
|
}
|
|
|
|
const urlReg = /^file:\/\/\/.*\/test\/es-module\/test-esm-import-meta\.mjs$/;
|
|
assert(import.meta.url.match(urlReg));
|