Currently, 3 options are implemented:
- options.prune (defaults to `false`) - Remove null or undefined
fields from the object after merging.
- options.merge (defaults to `true`) deep-merge nested fields, note
that dependency fields are always deep merged regardless of this option.
- options.warnIncompatibleVersions (defaults to `true`) Output warning
if two dependency version ranges don't intersect.
Closes#4779
* 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
* feat: scaffold projects with eslint 6
* style: eslint fix
* refactor: do not use hard-coded ecmaVersion, use babel-eslint for now
* fix: upgrade to @vue/eslint-config-standard
* style: continue fix lint errors
* chore: upgrade to eslint-plugin-vue@^6.1.2
* refactor: use `ecmaVersion: 2020` for dynamic import syntax support
* test: fix baseESLintConfig
* chore: also update yarn.lock to fix CI caches
* chore: update lockfile again, fix babel regressions
* test: nightwatch tests should fail if lint errors occur
* chore: update the lockfile (again), fixing a bug in airbnb config
Fixes#4694Fixes#4695
Fix the "ENOENT: no such file or directory … debugnode_module/sms/index.js" error.
The problem are caused by 2 issues:
1. The `lint-staged` packages introduced an old version of debug,
causing node_module deduping, thus changing the node_module layout
2. The dependencies required in the cached `lint` module is no longer at
its originial position, thus the "ENOENT" error.
This change still does not fix the PNPM 4 issue, considering its smaller
user base, we'll fix it later.
Maybe caused by the change of resolve mechanism in pnpm 4,
calling the hook from the creator would get a `Cannot find module`
error. As a workaround, we now require and cache the module outside the
callback function.
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.