Hi,
We encountered an issue where enhanced-resolver doesn't handle the exports field in package.json if the alias is used.
Steps to reproduce
- NPM Install
enhanced-resolver and @brightspace-ui/lms-context-provider
- Excecute the code below
const { CachedInputFileSystem, ResolverFactory } = require("enhanced-resolve");
const path = require('path');
const fs = require('fs');
const myResolver = ResolverFactory.createResolver({
alias: {
'@brightspace-ui': path.resolve(__dirname, 'node_modules', '@brightspace-ui'),
},
fileSystem: new CachedInputFileSystem(fs, 2000)
});
myResolver.resolve({}, __dirname, '@brightspace-ui/lms-context-provider/client.js', {}, (err, filepath) => {
if (err) console.error(err);
else console.log(filepath);
});
Expected
C:\test\webpack-resolver-issue\node_modules\@brightspace-ui\lms-context-provider\src\client\client.js
Actual
details: "resolve '@brightspace-ui/lms-context-provider/client.js' in 'C:\\test\\webpack-resolver-issue'\n" +
' Parsed request is a module\n' +
' using description file: C:\\test\\webpack-resolver-issue\\package.json (relative path: .)\n' +
" aliased with mapping '@brightspace-ui': 'C:\\test\\webpack-resolver-issue\\node_modules\\@brightspace-ui' to 'C:\\test\\webpack-resolver-issue\\node_mo
dules\\@brightspace-ui/lms-context-provider/client.js'\n" +
' using description file: C:\\test\\webpack-resolver-issue\\package.json (relative path: .)\n' +
' using description file: C:\\test\\webpack-resolver-issue\\node_modules\\@brightspace-ui\\lms-context-provider\\package.json (relative path: ./clien
t.js)\n' +
' no extension\n' +
" C:\\test\\webpack-resolver-issue\\node_modules\\@brightspace-ui\\lms-context-provider\\client.js doesn't exist\n" +
' .js\n' +
" C:\\test\\webpack-resolver-issue\\node_modules\\@brightspace-ui\\lms-context-provider\\client.js.js doesn't exist\n" +
' .json\n' +
" C:\\test\\webpack-resolver-issue\\node_modules\\@brightspace-ui\\lms-context-provider\\client.js.json doesn't exist\n" +
' .node\n' +
" C:\\test\\webpack-resolver-issue\\node_modules\\@brightspace-ui\\lms-context-provider\\client.js.node doesn't exist\n" +
' as directory\n' +
" C:\\test\\webpack-resolver-issue\\node_modules\\@brightspace-ui\\lms-context-provider\\client.js doesn't exist"
Notes
If we use the browser field instead of the exports, we get the expected result.
Hi,
We encountered an issue where
enhanced-resolverdoesn't handle theexportsfield inpackage.jsonif thealiasis used.Steps to reproduce
enhanced-resolverand@brightspace-ui/lms-context-providerExpected
C:\test\webpack-resolver-issue\node_modules\@brightspace-ui\lms-context-provider\src\client\client.jsActual
Notes
If we use the
browserfield instead of theexports, we get the expected result.