Handle
.mjsfiles correctly
Because webpack does it wrong and won't fix it.
Without this plugin, .mjs files will only consider other .mjs files as ESM. It completely disregards any .js files in the ESM format, forcing them to seen & treated as CommonJS modules (despite their contents). (comment)
Additionally, without this plugin, .mjs files do not follow the same resolve.mainFields sequence that's defined in your main configuration. (comment)
The plugin takes no options. Simply require it and invoke like any other plugin~
// webpack.config.js
const WebpackModules = require('webpack-modules');
module.exports = {
// ...
plugins: [
new WebpackModules()
]
}
Thank you to @ForsakenHarmony who did the research and legwork as part of preact-cli – via this and that.
MIT © Luke Edwards