My webpack.config for a federated module, has multiple entries.

entry: {
   "@namespace": "path/to/public_path_util.js",
   "namespace-worker-chunk-name1": "path/to/worker_public_path_util.js",
   "namespace-worker-chunk-name2": "path/to/worker_public_path_util.js",
   "namespace-worker-chunk-name3": "path/to/worker_public_path_util.js",
}

The first defines the mechanism by which federated modules instantiate the __webpack_public_path__ for usage in the main application. If only this entry is provided, the production webpack build does not fail.

The next entries that were recently added define how webworker chunk names will initialize the __webpack_public_path__ when they are instantiated from code. When these entries are defined, the development mode builds function normally and I was able to take advantage of web workers. My production build now fails with

ERROR in ./node_modules/lodash/_nodeUtil.js
Self-reference dependency has unused export name: This should not happen
Error: Self-reference dependency has unused export name: This should not happen
    at CommonJsSelfReferenceDependencyTemplate.apply (/workspace/project/node_modules/webpack/lib/dependencies/CommonJsSelfReferenceDependency.js:102:10)
    at JavascriptGenerator.sourceDependency (/workspace/project/node_modules/webpack/lib/javascript/JavascriptGenerator.js:206:12)
    at JavascriptGenerator.sourceModule (/workspace/project/node_modules/webpack/lib/javascript/JavascriptGenerator.js:112:9)
    at JavascriptGenerator.generate (/workspace/project/node_modules/webpack/lib/javascript/JavascriptGenerator.js:98:8)
    at NormalModule.codeGeneration (/workspace/project/node_modules/webpack/lib/NormalModule.js:1205:22)
    at /workspace/project/node_modules/webpack/lib/Compilation.js:3329:22
    at /workspace/project/node_modules/enhanced-resolve/lib/forEachBail.js:16:12
    at /workspace/project/node_modules/webpack/lib/Cache.js:93:5
    at Hook.eval [as callAsync] (eval at create (/workspace/project/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Cache.get (/workspace/project/node_modules/webpack/lib/Cache.js:75:18)
    at ItemCacheFacade.get (/workspace/project/node_modules/webpack/lib/CacheFacade.js:111:15)
    at /workspace/project/node_modules/webpack/lib/CacheFacade.js:50:53
    at next (/workspace/project/node_modules/enhanced-resolve/lib/forEachBail.js:14:3)
    at forEachBail (/workspace/project/node_modules/enhanced-resolve/lib/forEachBail.js:24:9)
    at MultiItemCache.get (/workspace/project/node_modules/webpack/lib/CacheFacade.js:50:3)
    at Compilation._codeGenerationModule (/workspace/project/node_modules/webpack/lib/Compilation.js:3322:9)
    at /workspace/project/node_modules/webpack/lib/Compilation.js:3229:11
    at arrayIterator (/workspace/project/node_modules/neo-async/async.js:3467:9)
    at timesSync (/workspace/project/node_modules/neo-async/async.js:2297:7)
    at Object.eachLimit (/workspace/project/node_modules/neo-async/async.js:3463:5)
    at runIteration (/workspace/project/node_modules/webpack/lib/Compilation.js:3209:13)
    at Compilation._runCodeGenerationJobs (/workspace/project/node_modules/webpack/lib/Compilation.js:3284:3)
    at Compilation.codeGeneration (/workspace/project/node_modules/webpack/lib/Compilation.js:3191:8)
    at /workspace/project/node_modules/webpack/lib/Compilation.js:3018:11
    at eval (eval at create (/workspace/project/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:23:1)
    at processTicksAndRejections (node:internal/process/task_queues:78:11)
 @ ./node_modules/lodash/isTypedArray.js 3:15-37
 @ ./node_modules/lodash/isEmpty.js 8:19-44
 @ ./teams/feature/component/src/module/ComponentName.jsx 1:343-379 1:1293-1300 1:1311-1318
 @ ./teams/feature/component/src/Application.jsx 1:500-565 2:601-616
 @ ./teams/feature/component/src/index.js 1:26-57 1:99-106
 @ container entry

ERROR in ./node_modules/lodash/isBuffer.js
Self-reference dependency has unused export name: This should not happen
Error: Self-reference dependency has unused export name: This should not happen
    at CommonJsSelfReferenceDependencyTemplate.apply (/workspace/project/node_modules/webpack/lib/dependencies/CommonJsSelfReferenceDependency.js:102:10)
    at JavascriptGenerator.sourceDependency (/workspace/project/node_modules/webpack/lib/javascript/JavascriptGenerator.js:206:12)
    at JavascriptGenerator.sourceModule (/workspace/project/node_modules/webpack/lib/javascript/JavascriptGenerator.js:112:9)
    at JavascriptGenerator.generate (/workspace/project/node_modules/webpack/lib/javascript/JavascriptGenerator.js:98:8)
    at NormalModule.codeGeneration (/workspace/project/node_modules/webpack/lib/NormalModule.js:1205:22)
    at /workspace/project/node_modules/webpack/lib/Compilation.js:3329:22
    at /workspace/project/node_modules/enhanced-resolve/lib/forEachBail.js:16:12
    at /workspace/project/node_modules/webpack/lib/Cache.js:93:5
    at Hook.eval [as callAsync] (eval at create (/workspace/project/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Cache.get (/workspace/project/node_modules/webpack/lib/Cache.js:75:18)
    at ItemCacheFacade.get (/workspace/project/node_modules/webpack/lib/CacheFacade.js:111:15)
    at /workspace/project/node_modules/webpack/lib/CacheFacade.js:50:53
    at next (/workspace/project/node_modules/enhanced-resolve/lib/forEachBail.js:14:3)
    at forEachBail (/workspace/project/node_modules/enhanced-resolve/lib/forEachBail.js:24:9)
    at MultiItemCache.get (/workspace/project/node_modules/webpack/lib/CacheFacade.js:50:3)
    at Compilation._codeGenerationModule (/workspace/project/node_modules/webpack/lib/Compilation.js:3322:9)
    at /workspace/project/node_modules/webpack/lib/Compilation.js:3229:11
    at arrayIterator (/workspace/project/node_modules/neo-async/async.js:3467:9)
    at done (/workspace/project/node_modules/neo-async/async.js:3527:9)
    at /workspace/project/node_modules/webpack/lib/Compilation.js:3243:8
    at /workspace/project/node_modules/webpack/lib/Compilation.js:3352:32
    at /workspace/project/node_modules/webpack/lib/HookWebpackError.js:68:3
    at Hook.eval [as callAsync] (eval at create (/workspace/project/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Cache.store (/workspace/project/node_modules/webpack/lib/Cache.js:107:20)
    at ItemCacheFacade.store (/workspace/project/node_modules/webpack/lib/CacheFacade.js:137:15)
    at /workspace/project/node_modules/webpack/lib/Compilation.js:3352:11
    at /workspace/project/node_modules/webpack/lib/Cache.js:93:5
    at Hook.eval [as callAsync] (eval at create (/workspace/project/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Cache.get (/workspace/project/node_modules/webpack/lib/Cache.js:75:18)
    at ItemCacheFacade.get (/workspace/project/node_modules/webpack/lib/CacheFacade.js:111:15)
    at Compilation._codeGenerationModule (/workspace/project/node_modules/webpack/lib/Compilation.js:3322:9)
    at /workspace/project/node_modules/webpack/lib/Compilation.js:3229:11
    at arrayIterator (/workspace/project/node_modules/neo-async/async.js:3467:9)
    at timesSync (/workspace/project/node_modules/neo-async/async.js:2297:7)
    at Object.eachLimit (/workspace/project/node_modules/neo-async/async.js:3463:5)
    at runIteration (/workspace/project/node_modules/webpack/lib/Compilation.js:3209:13)
    at Compilation._runCodeGenerationJobs (/workspace/project/node_modules/webpack/lib/Compilation.js:3284:3)
    at Compilation.codeGeneration (/workspace/project/node_modules/webpack/lib/Compilation.js:3191:8)
    at /workspace/project/node_modules/webpack/lib/Compilation.js:3018:11
    at eval (eval at create (/workspace/project/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:23:1)
    at processTicksAndRejections (node:internal/process/task_queues:78:11)
 @ ./node_modules/lodash/isEmpty.js 6:15-36
 @ ./teams/feature/component/src/module/ComponentName.jsx 1:343-379 1:1293-1300 1:1311-1318
 @ ./teams/feature/component/src/Application.jsx 1:500-565 2:601-616
 @ ./teams/feature/component/src/index.js 1:26-57 1:99-106
 @ container entry

Is this issue specific to configuring lodash modules to be included in my modules? Is there a configuration or transformation I need to include to make this work in production?

I'm on webpack 5.80.0

I've tried adding

optimization: {
  sideEffects: false
}

and sideEffects: true with no effect on the build.

0

There are 0 best solutions below