-
Notifications
You must be signed in to change notification settings - Fork 72
Open
Description
I'm moving a project over to using node's native ES modules (enabled with the --experimental-modules
flag). After updating my code, module-alias is no longer working. I tried adding this to the root of my app (this is the method I was using before transitioning to esm):
require('module-alias/register')
I tried changing it to:
import 'module-alias/register'
I tried requiring when starting the server:
node --experimental-modules -r module-alias/register server/app.js
The first aliased import in my app is this:
import {responseError} from '@app/lib/response'
I'm getting this error from it:
internal/modules/esm/default_resolve.js:69
let url = moduleWrapResolve(specifier, parentURL);
^
Error: Cannot find package '@app/lib' imported from server/app.js
at Loader.resolve [as _resolve] (internal/modules/esm/default_resolve.js:69:13)
at Loader.resolve (internal/modules/esm/loader.js:70:33)
at Loader.getModuleJob (internal/modules/esm/loader.js:143:40)
at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:43:40)
at link (internal/modules/esm/module_job.js:42:36)
The relevant lines in my package.json are:
"_moduleAliases": {
"@app": "./server"
},
I'm starting the app like this:
node --experimental-modules server/app.js
module-alias worked fine using CommonJS. The only change I made to the code was changing require
s to import
s.
jdt3969, jon-certik, viT-1, rnstlange, vtenfys and 27 more
Metadata
Metadata
Assignees
Labels
No labels