-
Notifications
You must be signed in to change notification settings - Fork 44
Closed
Description
node_modules/has-submodule/package.json
{
"name": "has-submodule",
"type": "module",
"exports": {
"./sub": "./sub.js"
}
}node_modules/has-submodule/sub.js
export const foo = 'bar'
console.log('loaded submodule')
cat: node_modules/reexport-submodule/sub.js: No such file or directorynode_modules/reexport-submodule/package.json
{
"name": "reexport-submodule",
"exports": {
".": "./index.js"
},
"type": "module"
}node_modules/reexport-submodule/index.js
export * from 'has-submodule/sub'load-sub.mjs
import { foo } from 'reexport-submodule'
console.log(foo)esm-loader.mjs
export * from 'import-in-the-middle/hook.mjs'Expected Behavior
$ node load-sub.mjs
loaded submodule
bar
$ node --loader=./esm-loader.mjs load-sub.mjs
loaded submodule
bar
Actual Behavior
$ node --loader=./esm-loader.mjs load-sub.mjs
(node:36249) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:
--import 'data:text/javascript,import { register } from "node:module"; import { pathToFileURL } from "node:url"; register("./esm-loader.mjs", pathToFileURL("./"));'
(Use `node --trace-warnings ...` to show where the warning was created)
node:internal/process/esm_loader:40
internalBinding('errors').triggerUncaughtException(
^
[Error: ENOENT: no such file or directory, open '/Users/isaacs/dev/tapjs/esm-tap-repro/node_modules/reexport-submodule/has-submodule/sub'] {
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: '/Users/isaacs/dev/tapjs/esm-tap-repro/node_modules/reexport-submodule/has-submodule/sub'
}
Node.js v20.9.0
Steps to Reproduce the Problem
Shown above.
meyer9 and chentsulin
Metadata
Metadata
Assignees
Labels
No labels