ilearnio / module-alias

Register aliases of directories and custom module paths in Node
MIT License
1.76k stars 69 forks source link

module-alias not workin with esm #123

Open its-dibo opened 2 years ago

its-dibo commented 2 years ago

module-alias is working fine with my commonjs project, once it migrated to use esm it stopped working

minimal repos: commonjs version esm version

run npm run start:paths in both projects

fxi commented 2 years ago

Same here. Any workaround ?

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@root/<xxx>' imported from 'index.js'

package.json

"_moduleAliases": {
    "@root": "."
}
fxi commented 2 years ago

ok, I replied to this issue as it was the first one to show up, but it turns out that there are many similar issues, the most elaborate that also feature a native solution is this one: #113 I guess this issue could be closed.

its-dibo commented 2 years ago

ok, I replied to this issue as it was the first one to show up, but it turns out that there are many similar issues, the most elaborate that also feature a native solution is this one: #113 I guess this issue could be closed.

this will force you make some changes to your codebase that introduce breaking change

  1. you will need to change your alias to start with '#'
  2. es6 imports can't refer to a path outside your module i.e a parent director for monorepos
fxi commented 2 years ago

Thanks Yep It's an utter mess and the second point was the last surprise issue I've got