Closed
Description
- Version: v16.1.0
- Platform: Linux ArchLinux 5.12.4-arch1-2 deps: update openssl to 1.0.1j #1 SMP PREEMPT Sat, 15 May 2021 20:58:02 +0000 x86_64 GNU/Linux
- Subsystem:
What steps will reproduce the bug?
project structure:
├── package.json
└── src
├── foo
│ ├── package.json
│ └── src
│ └── index.js
└── index.js
// package.json
{
"main": "src/index.js",
"type": "module"
}
// src/foo/package.json
{
"main": "src/index.js",
"type": "module"
}
// src/foo/src/index.js
export default 'foo'
// src/index.js
import foo from './foo'
console.log(`hello from ${foo}`)
Run node --experimental-specifier-resolution=node .
How often does it reproduce? Is there a required condition?
Always
What is the expected behavior?
Should see hello from foo
in the terminal
What do you see instead?
node:internal/process/esm_loader:74
internalBinding('errors').triggerUncaughtException(
^
Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/xxx/src/foo' imported from /xxx/src/index.js
at new NodeError (node:internal/errors:363:5)
at finalizeResolution (node:internal/modules/esm/resolve:296:11)
at moduleResolve (node:internal/modules/esm/resolve:742:10)
at Loader.defaultResolve [as _resolve] (node:internal/modules/esm/resolve:853:11)
at Loader.resolve (node:internal/modules/esm/loader:89:40)
at Loader.getModuleJob (node:internal/modules/esm/loader:242:28)
at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:73:40)
at link (node:internal/modules/esm/module_job:72:36) {
code: 'ERR_MODULE_NOT_FOUND'
}