* refactor: use babel overrides to transpile babel runtime helpers
As recommended in babel/babel#9903.
Get rid of the module-resolver plugin, may fix#3928.
Seems to have fixed#4742 as well.
There may be a small breaking change: as we now use `excludes` & `includes`, babel requires `filename` option to be present (introduced in https://github.com/babel/babel/pull/10181/files). So users who call `babel.transformSync` directly may encounter an error.
However, as we explicitly stated that this preset is only used for Vue CLI internally, I don't expect too many such use cases there. And the error messages are clear enough.
Considering the benefits that this PR brings, I think it's an acceptable tradeoff.
test: update tests for babel
* test: fix windows tests
* test: remove unused variables
* fix: fix scope package paths on Windows
* test: wait some time in router tests in case dom hasn't updated in time
* 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 "vueLoader" option has been removed. To modify vue-loader
options, use chainWebpack then `config.module.rule(vue).use(vue-loader).tap()`.
vue-loader has been upgraded to v15 and expects different options from v14.
BREAKING CHANGE: To include a dependency for Babel transpilation, tapping
babel-loader and adding .include() will no longer work. Use the new
transpileDependencies option instead.