The old alias `@vue/runtime-dom` was introduced because webpack HMR has
trouble with pure re-exports. Now that the `vue.runtime.esm-bundler.js`
file also includes a call to `initDev`, it's no longer an issue. This
also enables Dev Tool in Vue 3 runtime.
Fixes#5785
* Enforces require.resolve for loaders
* Updates the lockfile
* Fixes more things
* Adds an extra check
* test(loaders): fix the tests
* style(cli): fix the linting
* style(cli): fix the linting (on windows)
* Update package.json
* Updates the lockfile
* chore: sync dependency versions
* chore: sync dependency versions
* chore: don't introduce unnecessary changes in yarn.lock
* extraneous space
BREAKING CHANGE:
The only real breaking change is https://github.com/webpack-contrib/terser-webpack-plugin/issues/129,
which is not likely to affect normal users.
The rest are default option values changes, which are already covered in
the default provided `terserOptions` of Vue CLI.
Note that here we choose to disable `extractComments` by default, as I
don't see enough data showing such license comments taking too much
space. The extra LICENSE file may also be confusing to some users.
As long as the `minimize` option is set to false (which is default in
production mode), the code won't be minimized. So the mode doesn't
matter when it comes to the `minimizer` config.
By exposing this config, users can simplify their custom config, by
removing the `process.env.NODE_ENV === 'production'` guard around their
custom minimizer configuration.
closes#4376
Since css-loader v3, custom CSS Modules configurations are under the
`modules` field. So when a user customizes these configurations, the `modules`
feature is automatically enabled for all css files.
So we must require the user's explicit consensus or disagreement on whether
these rules apply to all CSS files or not.
It has become a common source of mistakes.
For example, during PR #4363 I've referred to the wrong `options`
several times due to the variable shadowing.
BREAKING CHANGE:
Changing directory strcuture, though now becoming more intuitive, may
still break users' workflows, so it's considered a breaking change.
Fixes#4215.
Fixes#3767.
Fixes#4234
BREAKING CHANGE:
These configs are only meaningful when used with a running dev
server.
Technically, it is a breaking change.
For example, this breaks use cases in which a user runs their own dev
server instead of calling `vue-cli-service serve`.
BREAKING CHANGE:
This changes the output directory structures for development mode
(app.js -> index.js + chunk-common.js + chunk-vendors.js).
By enabling splitChunks by default, the memory usage of webpack may be
greatly reduced for large multi-page projects.
This commit fixes#3838
May also fix#2991
BREAKING CHANGE:
Detailed explanation: https://github.com/vuejs/vue/issues/9208#issuecomment-450012518
Take the following template as example:
```
<p>
Welcome to <b>Vue.js</b> <i>world</i>.
Have fun!
</p>
```
With `preserveWhitespace: false`, it was compiled as:
```
<p> Welcome to <b>Vue.js</b><i>world</i>. Have fun! </p>
```
With `whitespace: 'condense'`, it is now compiled as:
```
<p> Welcome to <b>Vue.js</b> <i>world</i>. Have fun! </p>
```
Note the **inline whitespace between tags** is preserved.
Closes#1020