[webpack5] DefinePlugin cannot read property 'get' of undefined
See original GitHub issueDescribe the bug
I cannot build storybook using webpack5. I have the following error message with storybook v6.2.4:
/Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/webpack/lib/DefinePlugin.js:549
const oldVersion = compilation.valueCacheVersions.get(name);
^
TypeError: Cannot read property 'get' of undefined
at /Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/webpack/lib/DefinePlugin.js:549:57
at Array.forEach (<anonymous>)
at walkDefinitionsForValues (/Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/webpack/lib/DefinePlugin.js:545:31)
at /Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/webpack/lib/DefinePlugin.js:571:5
at SyncHook.eval [as call] (eval at create (/Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/tapable/lib/HookCodeFactory.js:19:10), <anonymous>:5:1)
at SyncHook.lazyCompileHook (/Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/tapable/lib/Hook.js:154:20)
at Compiler.newCompilation (/Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/@storybook/core-server/node_modules/webpack/lib/Compiler.js:631:26)
at /Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/@storybook/core-server/node_modules/webpack/lib/Compiler.js:667:29
at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:4:1)
at AsyncSeriesHook.lazyCompileHook (/Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/tapable/lib/Hook.js:154:20)
at Compiler.compile (/Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/@storybook/core-server/node_modules/webpack/lib/Compiler.js:662:28)
at /Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/@storybook/core-server/node_modules/webpack/lib/Watching.js:77:18
at _next0 (eval at create (/Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:23:1)
at eval (eval at create (/Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:32:1)
at watchRunHook (/Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/webpack-virtual-modules/index.js:173:5)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/moroine/Workspace/Nugit/nugit-visualization/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:28:1)
error Command failed with exit code 1.
I rollback to v6.2.3 and it works (it’s probably caused by dotenv-webpack upgrade.
To Reproduce
Here is my main.js (not the original but this minimal one causes the issue).
module.exports = {
stories: [
'../source/component/**/*.stories.jsx',
'../src/client/**/*.stories.jsx',
],
core: {
builder: 'webpack5',
},
};
System
Environment Info:
System:
OS: macOS 11.2.3
CPU: (8) x64 Apple M1
Binaries:
Node: 12.18.4 - /usr/local/bin/node
Yarn: 1.22.10 - /usr/local/bin/yarn
npm: 6.14.6 - /usr/local/bin/npm
Browsers:
Chrome: 89.0.4389.114
Safari: 14.0.3
npmPackages:
@storybook/addon-actions: 6.2.4 => 6.2.4
@storybook/addon-console: ^1.2.3 => 1.2.3
@storybook/addon-essentials: 6.2.4 => 6.2.4
@storybook/addon-knobs: 6.2.4 => 6.2.4
@storybook/addon-links: 6.2.4 => 6.2.4
@storybook/addon-storyshots: 6.2.4 => 6.2.4
@storybook/addon-storysource: 6.2.4 => 6.2.4
@storybook/addon-viewport: 6.2.4 => 6.2.4
@storybook/builder-webpack5: 6.2.4 => 6.2.4
@storybook/react: 6.2.4 => 6.2.4
Additional context
Given the stack trace, it looks like @storybook/core-server is using webpack4 while root level is webpack5. Here is yarn why webpack
yarn why v1.22.10
[1/4] 🤔 Why do we have the module "webpack"...?
[2/4] 🚚 Initialising dependency graph...
[3/4] 🔍 Finding dependency...
[4/4] 🚡 Calculating file sizes...
=> Found "webpack@5.30.0"
info Has been hoisted to "webpack"
info Reasons this module exists
- Specified in "devDependencies"
- Hoisted from "@storybook#builder-webpack5#webpack"
info Disk size without dependencies: "6.24MB"
info Disk size with unique dependencies: "12.6MB"
info Disk size with transitive dependencies: "24.72MB"
info Number of shared dependencies: 68
=> Found "@storybook/react#webpack@4.46.0"
info This module exists because "@storybook#react" depends on it.
info Disk size without dependencies: "2.41MB"
info Disk size with unique dependencies: "10.59MB"
info Disk size with transitive dependencies: "26.58MB"
info Number of shared dependencies: 111
=> Found "@storybook/core-common#webpack@4.46.0"
info This module exists because "@storybook#addon-storyshots#@storybook#core-common" depends on it.
info Disk size without dependencies: "2.56MB"
info Disk size with unique dependencies: "10.74MB"
info Disk size with transitive dependencies: "26.73MB"
info Number of shared dependencies: 111
=> Found "@storybook/builder-webpack4#webpack@4.46.0"
info This module exists because "@storybook#addon-essentials#@storybook#addon-docs#@storybook#builder-webpack4" depends on it.
info Disk size without dependencies: "2.78MB"
info Disk size with unique dependencies: "10.96MB"
info Disk size with transitive dependencies: "26.95MB"
info Number of shared dependencies: 111
=> Found "@storybook/core-server#webpack@4.46.0"
info This module exists because "@storybook#addon-storyshots#@storybook#core#@storybook#core-server" depends on it.
info Disk size without dependencies: "2.75MB"
info Disk size with unique dependencies: "10.93MB"
info Disk size with transitive dependencies: "26.92MB"
info Number of shared dependencies: 111
✨ Done in 1.60s.
┆Issue is synchronized with this Asana task by Unito
Issue Analytics
- State:
- Created 2 years ago
- Reactions:11
- Comments:26 (7 by maintainers)
Top Results From Across the Web
Webpack 5 and Storybook 6 integration throws an error in ...
valueCacheVersions.get(name); ^ TypeError: Cannot read property 'get' of undefined at /opt/app/node_modules/webpack/lib/DefinePlugin.js:549: ...
Read more >TypeError: Cannot read property 'get' of undefined when used ...
TypeError : Cannot read property 'get' of undefined when used with webpack 5.
Read more >DefinePlugin | webpack
The DefinePlugin replaces variables in your code with other values or expressions at compile time. This can be useful for allowing different behavior ......
Read more >webpack 5 defineplugin cannot read property 'get' of undefined
webpack 5 defineplugin cannot read property 'get' of undefined技术、学习、经验文章掘金开发者社区搜索结果。掘金是一个帮助开发者成长的社区,webpack 5 ...
Read more >Webpack error - Cannot read property 'thisCompilation' of ...
Webpack error - Cannot read property 'thisCompilation' of undefined. I am using copy-webpack-plugin to copy my entire images folder from src to dist...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

OK, I’ve been reading a lot of different threads here and it seems what solved it for me was adding
dotenv-webpackto dev dependencies (6.0.4 was enough) andhtml-webpack-plugin. Without the second one, I was just getting a different error (about snapshots). Now I seem to have moved past this error into into some unrelated ones.postcsswasn’t working. I followed the migration guide but this proved to not be enough. Step 3 from this post worked.Edit: deleted last part of post - it was about an error with SCSS not being recognised but I hadn’t updated my
main.jsto account for changes towebpack.config.jswith the webpack 5 upgrade. Nothing worth sharing here.Storybook is running now! 🎉
If someone is still looking around for a solution, here is what worked for me :
“optimization”: { “styles”: false, “scripts”: false, “fonts”: false }
This fixed the warning - “Cannot read property ‘minify’ of undefined”
P.S: I followed all these steps while on storybook 6.2.7 version