Open OnkelTem opened 1 month ago
That's because we don't support exports
yet - since resolve
also doesn't. When resolve
does, so will we.
Separately, your exports
field there HAS no subpaths, so nothing should resolve a subpath anyways.
Just a question - I get similar error, but related to package imports:
import/no-unresolved, Unable to resolve path to module '#lib/result'.
Seems that package imports also not supported by the node resolver?
@zdm yes, imports
uses and depends on exports
.
Webpack uses https://github.com/webpack/enhanced-resolve. It highly configurable and fully supports all possible features. Maybe it can replace current node resolver. (And current webpack resolver too)
Or use built-in possibilities: This will work for node projects, and will work better than handmade resolver.
const { createRequire } = require( "node:module" );
const url = require( "node:url" );
function resolve ( name, from ) {
try {
return createRequire( url.pathToFileURL( from ) ).resolve( name );
}
catch {}
}
@ljharb hey! So would you recommend simply disabling the rule locally for those imports until exports
is supported?
@dahaca if you can't persuade the package maintainer to add main
and be backwards compatible, then yes.
@ljharb appreciate such a swift reply! Understood! ✌
Although I've checked the package.json
of the library causing the lint error and it seems to be backwards compatible :/ Will disable the rule for those imports for now but out of curiosity would be glad if you are able to provide any more insight! I suppose it could also be caused by the fact that I am importing from a .mjs
file...
what subpath? that package doesn't have any subpaths available anyways - so you can't import anything but @pandacss/eslint-plugin
or its package.json.
@ljharb Yes, this is an unrelated error. I thought this have happened due to there being an another package under the @pandacss
domain installed.
Including .mjs
files in settings like so made the error go away! Thanks for your time :)
"import/resolver": {
typescript: {
typescript: true,
node: true,
project: "./tsconfig.json",
},
node: {
extensions: [".js", ".jsx", ".mjs"],
},
},
I cannot get it working with any subpath imports, e.g.
some-file.tsx:
leads to an error:
At the same time, TypeScript works and doesn't find any issues.
ESLint config:
.eslintrc.js:
This is a part of package.json of
package
:ESLint: 8.x