* refactor: extract deps & config logic to separate files
* feat: implement a migrator to upgrade to eslint 6
* fix: add required deps for eslint v4
* test: move migrator tests to each standalone plugins
* refactor: use spread operator instead of Object.assign
* 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