Description
While I realize that this might in fact be the intended behavior, and not purely a bug, it might be worth clarifying in the docs. Or, I'm just doing something plain stupid :)
Version
3.6.0
Reproduction link
https://github.com/wanecek/vue-cli-modern-crash-reproduction
Environment info
Environment Info:
System:
OS: Linux 4.18 Ubuntu 18.10 (Cosmic Cuttlefish)
CPU: (4) x64 Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
Binaries:
Node: 11.13.0 - ~/.n/bin/node
Yarn: Not Found
npm: 6.9.0 - ~/.n/bin/npm
Browsers:
Chrome: 73.0.3683.103
Firefox: 66.0.3
npmPackages:
@vue/babel-helper-vue-jsx-merge-props: 1.0.0-beta.3
@vue/babel-plugin-transform-vue-jsx: 1.0.0-beta.3
@vue/babel-preset-app: 3.6.0
@vue/babel-preset-jsx: 1.0.0-beta.3
@vue/babel-sugar-functional-vue: 1.0.0-beta.3
@vue/babel-sugar-inject-h: 1.0.0-beta.3
@vue/babel-sugar-v-model: 1.0.0-beta.3
@vue/babel-sugar-v-on: 1.0.0-beta.3
@vue/cli-overlay: 3.6.0
@vue/cli-plugin-babel: ^3.6.0 => 3.6.0
@vue/cli-plugin-eslint: ^3.6.0 => 3.6.0
@vue/cli-service: ^3.6.0 => 3.6.0
@vue/cli-shared-utils: 3.6.0
@vue/component-compiler-utils: 2.6.0
@vue/preload-webpack-plugin: 1.1.0
@vue/web-component-wrapper: 1.2.0
eslint-plugin-vue: ^5.0.0 => 5.2.2
vue: ^2.6.10 => 2.6.10
vue-eslint-parser: 2.0.3
vue-hot-reload-api: 2.3.3
vue-loader: 15.7.0
vue-style-loader: 4.1.2
vue-template-compiler: ^2.5.21 => 2.6.10
vue-template-es2015-compiler: 1.9.1
npmGlobalPackages:
@vue/cli: 3.6.3
Steps to reproduce
Install dependencies and run npm run build:modern
What is expected?
The build completes
What is actually happening?
The build throws with the following error message
ERROR TypeError: Cannot read property '__expression' of undefined
TypeError: Cannot read property '__expression' of undefined
at Object.toConfig (/home/wanecek/sideprojects/vue-cli-modern-bug/node_modules/webpack-chain/src/Plugin.js:55:38)
at clean.Object.assign.plugins.plugins.values.map.plugin (/home/wanecek/sideprojects/vue-cli-modern-bug/node_modules/webpack-chain/src/Config.js:129:61)
at Array.map (<anonymous>)
at module.exports.toConfig (/home/wanecek/sideprojects/vue-cli-modern-bug/node_modules/webpack-chain/src/Config.js:129:40)
at Service.resolveWebpackConfig (/home/wanecek/sideprojects/vue-cli-modern-bug/node_modules/@vue/cli-service/lib/Service.js:236:34)
at PluginAPI.resolveWebpackConfig (
59F2
/home/wanecek/sideprojects/vue-cli-modern-bug/node_modules/@vue/cli-service/lib/PluginAPI.js:115:25)
at module.exports (/home/wanecek/sideprojects/vue-cli-modern-bug/node_modules/@vue/cli-service/lib/commands/build/resolveAppConfig.js:39:25)
at build (/home/wanecek/sideprojects/vue-cli-modern-bug/node_modules/@vue/cli-service/lib/commands/build/index.js:139:50)
at api.registerCommand (/home/wanecek/sideprojects/vue-cli-modern-bug/node_modules/@vue/cli-service/lib/commands/build/index.js:56:15)
at Service.run (/home/wanecek/sideprojects/vue-cli-modern-bug/node_modules/@vue/cli-service/lib/Service.js:221:12)
at Object.<anonymous> (/home/wanecek/sideprojects/vue-cli-modern-bug/node_modules/@vue/cli-service/bin/vue-cli-service.js:36:9)
at Module._compile (internal/modules/cjs/loader.js:805:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
at Module.load (internal/modules/cjs/loader.js:672:32)
at tryModuleLoad (internal/modules/cjs/loader.js:612:12)
at Function.Module._load (internal/modules/cjs/loader.js:604:3)
I isolated the issue to appearing due to configuring the preload webpack plugin, as seen in vue.config.js in the reproduction example.