resolve
resolve copied to clipboard
Unable to resolve a package by its own name
This is a reminder that package self-referencing is not supported at this time.
package.json
{
"name": "my-package",
"main": "./index.js",
"dependencies": {
"resolve": "*"
},
"exports": {
".": "./index.js"
}
}
index.js
const resolve = require('resolve/sync');
// prints full path of index.js
console.log(`require.resolve: ${require.resolve('my-package')}`);
// throws MODULE_NOT_FOUND
console.log(`resolve: ${resolve('my-package')}`);
I imagine this must be a known limitation, since other features linked to module resolution in Node like package imports are not supported either. I'm reporting this here anyway because I could not find a reference to this in the documentation or in any of the other issues.
Yes, the reminder isn’t necessary - we don’t yet support “exports” or any of the features that landed with it, including self-referencing.
¿Alternatives? :')