node/test/fixtures/es-modules
Chengzhong Wu 2237142369
module: link module with a module request record
When a module is being statically linked with module requests, if two
module requests with a same specifier but different attributes are
resolved to two modules, the module requests should be linked to these
two modules.

PR-URL: https://github.com/nodejs/node/pull/58886
Backport-PR-URL: https://github.com/nodejs/node/pull/60000
Refs: https://tc39.es/ecma262/#sec-HostLoadImportedModule
Refs: https://github.com/tc39/proposal-import-attributes?tab=readme-ov-file#how-would-this-proposal-work-with-caching
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2025-10-07 16:08:51 +02:00
..
cjs-esm-esm-cycle module: cache synchronous module jobs before linking 2024-05-11 18:55:48 +02:00
custom-condition module: fix conditions override in synchronous resolve hooks 2025-08-20 17:11:45 +02:00
deprecated-folders-ignore module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
dynamic-import module: implement NODE_COMPILE_CACHE for automatic on-disk code caching 2024-04-29 22:46:25 +02:00
esm-cjs-esm-cycle module: disallow CJS <-> ESM edges in a cycle from require(esm) 2024-04-08 14:45:55 +00:00
esm-cjs-esm-esm-cycle module: disallow CJS <-> ESM edges in a cycle from require(esm) 2024-04-08 14:45:55 +00:00
esm-esm-cjs-esm-cycle module: disallow CJS <-> ESM edges in a cycle from require(esm) 2024-04-08 14:45:55 +00:00
esm-esm-cjs-esm-esm-cycle module: disallow CJS <-> ESM edges in a cycle from require(esm) 2024-04-08 14:45:55 +00:00
exports-both module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
exports-import-default module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
exports-import-only module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
exports-require-only module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
folder%25with percentage# esm: fix hint on invalid module specifier 2023-12-23 20:38:08 +00:00
json-cache
legacy-main-resolver
module-condition module: implement the "module-sync" exports condition 2024-10-04 10:20:25 +02:00
module-counter-by-type
package-cjs-named-error
package-default-extension module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
package-ends-node_modules src: do not treat all paths ending with node_modules as such 2023-12-25 11:44:26 +00:00
package-type-commonjs esm: bypass CJS loader in default load under --default-type=module 2023-11-10 09:20:46 +01:00
package-type-module
package-without-pjson
package-without-type module: warn on detection in typeless package 2024-03-23 00:38:31 +00:00
pjson-invalid
pjson-main
pkgimports
require-and-import module: fix submodules loaded by require() and import() 2024-04-29 22:46:24 +02:00
require-module-instantiated module: handle instantiated async module jobs in require(esm) 2025-06-10 16:38:57 +02:00
self-deprecated-folders
test_node_modules module: do not warn when require(esm) comes from node_modules 2024-11-27 00:45:39 -05:00
tla src: fix process exit listeners not receiving unsettled tla codes 2025-04-17 10:51:29 -03:00
transpiled-cjs-require-module module: add __esModule to require()'d ESM 2024-07-16 12:01:18 +02:00
builtin-imports-case.mjs
cjs-esm-esm.js
cjs-esm.js
cjs-exports-invalid.mjs
cjs-exports.mjs
cjs-file.cjs
cjs.js
conditional-exports.js
conditional-exports.mjs
data-import.mjs module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
dep.wasm esm: unwrap WebAssembly.Global on Wasm Namespaces 2025-07-21 16:29:31 +02:00
dep.wat esm: unwrap WebAssembly.Global on Wasm Namespaces 2025-07-21 16:29:31 +02:00
dep1.js
dep2.js
es-note-error-1.cjs
es-note-error-1.mjs
es-note-error-2.cjs
es-note-error-2.mjs
es-note-error-3.cjs
es-note-error-3.mjs
es-note-error-4.cjs
es-note-error-4.mjs
es-note-promiserej-import-2.cjs
es-note-unexpected-export-1.cjs
es-note-unexpected-export-2.cjs
es-note-unexpected-import-1.cjs
es-note-unexpected-import-3.cjs
es-note-unexpected-import-4.cjs
es-note-unexpected-import-5.cjs
esm-snapshot-mutator.js
esm-snapshot.js
esm-top-level-await.mjs module: execute --import sequentially 2023-11-01 12:38:01 +00:00
export-es-module-2.mjs module: add __esModule to require()'d ESM 2024-07-16 12:01:18 +02:00
export-es-module.mjs module: add __esModule to require()'d ESM 2024-07-16 12:01:18 +02:00
export-name-code-injection.wasm
export-name-code-injection.wat
export-name-syntax-error.wasm
export-name-syntax-error.wat
exports-cases.js
exports-cases2.js
exports-cases3.js
file.ext
file.unknown
globals.js esm: unwrap WebAssembly.Global on Wasm Namespaces 2025-07-21 16:29:31 +02:00
globals.wasm esm: unwrap WebAssembly.Global on Wasm Namespaces 2025-07-21 16:29:31 +02:00
globals.wat esm: unwrap WebAssembly.Global on Wasm Namespaces 2025-07-21 16:29:31 +02:00
import-data-url.mjs lib,esm: handle bypass network-import via data: 2024-07-06 13:29:23 -03:00
import-esm.mjs module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
import-invalid-ext.mjs
import-invalid-pjson.mjs
import-json-named-export.mjs
import-meta-main.mjs esm: implement import.meta.main 2025-07-28 08:46:16 +02:00
import-meta-main.ts module: fix typescript import.meta.main 2025-07-28 08:46:20 +02:00
import-name.wasm
import-name.wat
import-process-exit.mjs
import-resolve-exports.mjs
imported-esm.mjs module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
imports-loose.mjs
imports-noext.mjs
invalid-cjs.js
invalid-export-name-wasm-js.wasm esm: js-string Wasm builtins in ESM Integration 2025-08-27 00:55:18 +02:00
invalid-export-name-wasm-js.wat esm: js-string Wasm builtins in ESM Integration 2025-08-27 00:55:18 +02:00
invalid-export-name.wasm esm: js-string Wasm builtins in ESM Integration 2025-08-27 00:55:18 +02:00
invalid-export-name.wat esm: js-string Wasm builtins in ESM Integration 2025-08-27 00:55:18 +02:00
invalid-import-module.wasm esm: js-string Wasm builtins in ESM Integration 2025-08-27 00:55:18 +02:00
invalid-import-module.wat esm: js-string Wasm builtins in ESM Integration 2025-08-27 00:55:18 +02:00
invalid-import-name-wasm-js.wasm esm: js-string Wasm builtins in ESM Integration 2025-08-27 00:55:18 +02:00
invalid-import-name-wasm-js.wat esm: js-string Wasm builtins in ESM Integration 2025-08-27 00:55:18 +02:00
invalid-import-name.wasm esm: js-string Wasm builtins in ESM Integration 2025-08-27 00:55:18 +02:00
invalid-import-name.wat esm: js-string Wasm builtins in ESM Integration 2025-08-27 00:55:18 +02:00
invalid-posix-host.mjs
js-string-builtins.wasm esm: js-string Wasm builtins in ESM Integration 2025-08-27 00:55:18 +02:00
js-string-builtins.wat esm: js-string Wasm builtins in ESM Integration 2025-08-27 00:55:18 +02:00
json-modules-attributes.mjs module: link module with a module request record 2025-10-07 16:08:51 +02:00
json-modules.mjs
loop.mjs
loose.js module: check --experimental-require-module separately from detection 2024-11-27 00:45:12 -05:00
message.mjs
mjs-file.mjs
noext
noext-esm
noext-wasm
pattern-trailing-slash.mjs
print-3.mjs
print-entrypoint.mjs module: support loading entrypoint as url 2024-10-04 19:20:12 +02:00
process-exit.mjs
reference-error-esm.js module: mark evaluation rejection in require(esm) as handled 2025-01-05 12:57:35 -05:00
reference-error.mjs module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
require-cjs.mjs module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
require-esm-throws-with-loaders.js esm: move hooks test with others 2024-07-16 12:01:02 +02:00
require-module.js module: trim off internal stack frames for require(esm) warnings 2024-11-27 00:45:34 -05:00
require-reference-error.cjs module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
require-syntax-error.cjs module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
require-throw-error.cjs module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
required-cjs.js module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
runmain.mjs
runtime-error-esm.js module: mark evaluation rejection in require(esm) as handled 2025-01-05 12:57:35 -05:00
should-not-be-resolved.mjs module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
simple.wasm
simple.wat
stateful.mjs
symlink.mjs
synchronous-rejection-esm.js module: mark evaluation rejection in require(esm) as handled 2025-01-05 12:57:35 -05:00
syntax-error.mjs module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
test-esm-comma,.mjs
test-esm-double-encoding-native%20.mjs
test-esm-ok.mjs
throw-error.mjs module: support require()ing synchronous ESM graphs 2024-03-18 18:10:06 +08:00
top-level-wasm.wasm esm: support top-level Wasm without package type 2025-05-19 12:13:50 +02:00
wasm-dep.mjs
wasm-function.js esm: support top-level Wasm without package type 2025-05-19 12:13:50 +02:00
wasm-modules.mjs
wasm-object.js esm: support top-level Wasm without package type 2025-05-19 12:13:50 +02:00
wasm-string-constants.js esm: support top-level Wasm without package type 2025-05-19 12:13:50 +02:00