Skip to content

Commit 40beb09

Browse files
committed
esm: refactor test-esm-named-exports
1 parent f139cc3 commit 40beb09

File tree

4 files changed

+27
-15
lines changed

4 files changed

+27
-15
lines changed

test/es-module/test-esm-named-exports.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Flags: --experimental-loader ./test/fixtures/es-module-loaders/builtin-named-exports-loader.mjs
1+
// Flags: --import ./test/fixtures/es-module-loaders/builtin-named-exports.mjs
22
'use strict';
33

44
require('../common');

test/es-module/test-esm-named-exports.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Flags: --experimental-loader ./test/fixtures/es-module-loaders/builtin-named-exports-loader.mjs
1+
// Flags: --import ./test/fixtures/es-module-loaders/builtin-named-exports.mjs
22
import '../common/index.mjs';
33
import { readFile, __fromLoader } from 'fs';
44
import assert from 'assert';

test/fixtures/es-module-loaders/builtin-named-exports-loader.mjs

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
1-
import module from 'module';
1+
import module from 'node:module';
22
import { readFileSync } from 'node:fs';
33

4-
const GET_BUILTIN = `$__get_builtin_hole_${Date.now()}`;
5-
6-
export function globalPreload() {
7-
return `Object.defineProperty(globalThis, ${JSON.stringify(GET_BUILTIN)}, {
8-
value: (builtinName) => {
9-
return getBuiltin(builtinName);
10-
},
11-
enumerable: false,
12-
configurable: false,
13-
});
14-
`;
4+
/** @type {string} */
5+
let GET_BUILTIN;
6+
export function initialize(data) {
7+
GET_BUILTIN = data.GET_BUILTIN;
158
}
169

1710
export async function resolve(specifier, context, next) {
@@ -56,7 +49,7 @@ const $builtinInstance = ${GET_BUILTIN}(${JSON.stringify(builtinName)});
5649
module.exports = $builtinInstance;
5750
module.exports.__fromLoader = true;
5851
59-
// We need this for CJS-module-lexer can parse the exported names.
52+
// We need this for CJS-module-lexer can parse the exported names.
6053
${
6154
builtinExports
6255
.map(name => `exports.${name} = $builtinInstance.${name};`)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import * as fixtures from '../../common/fixtures.mjs';
2+
import { createRequire, register } from 'node:module';
3+
4+
const require = createRequire(import.meta.url);
5+
6+
const GET_BUILTIN = `$__get_builtin_hole_${Date.now()}`;
7+
Object.defineProperty(globalThis, GET_BUILTIN, {
8+
value: (builtinName) => {
9+
return require(builtinName);
10+
},
11+
enumerable: false,
12+
configurable: false,
13+
});
14+
15+
register(fixtures.fileURL('es-module-loaders/builtin-named-exports-loader.mjs'), {
16+
data: {
17+
GET_BUILTIN,
18+
},
19+
});

0 commit comments

Comments
 (0)