Skip to content

Commit ebbf915

Browse files
authored
feat: support for named modules in webpack v5 (#409)
1 parent 8a9d289 commit ebbf915

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

packages/electron-webpack/src/targets/BaseTarget.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as path from "path"
2-
import { DefinePlugin, EnvironmentPlugin, HotModuleReplacementPlugin, LoaderOptionsPlugin } from "webpack"
2+
import { DefinePlugin, EnvironmentPlugin, HotModuleReplacementPlugin, LoaderOptionsPlugin, version as webpackVersion } from "webpack"
33
import { getDefaultRelativeSystemDependentCommonSource } from "../config"
44
import { configureDll } from "../configurators/dll"
55
import { configureEslint } from "../configurators/eslint"
@@ -109,8 +109,15 @@ function isAncestor(file: string, dir: string) {
109109
}
110110

111111
function configureDevelopmentPlugins(configurator: WebpackConfigurator) {
112+
const optimization = configurator.config.optimization!!
113+
if (parseInt(String(webpackVersion)) >= 5) {
114+
optimization.moduleIds = 'named'
115+
}
116+
else {
117+
optimization.namedModules = true
118+
}
119+
112120
const plugins = configurator.plugins
113-
configurator.config.optimization!!.namedModules = true
114121
plugins.push(new DefinePlugin({
115122
__static: `"${path.join(configurator.projectDir, configurator.staticSourceDirectory).replace(/\\/g, "\\\\")}"`,
116123
"process.env.NODE_ENV": configurator.isProduction ? "\"production\"" : "\"development\""

0 commit comments

Comments
 (0)