Skip to content
Permalink
Browse files

Docs: add 'stricter rule config validating' in migrating docs (#11905)

* Docs: add 'stricter rule config validating' in migrating docs

* Docs: fix typo
  • Loading branch information...
aladdin-add authored and kaicataldo committed Jun 26, 2019
1 parent 54ee60b commit e5f1ccc9e2d07ad0acf149027ffc382021d54da1
Showing with 17 additions and 0 deletions.
  1. +17 −0 docs/user-guide/migrating-to-6.0.0.md
@@ -10,6 +10,7 @@ The lists below are ordered roughly by the number of users each change is expect
1. [`eslint:recommended` has been updated](#eslint-recommended-changes)
1. [Plugins and shareable configs are no longer affected by ESLint's location](#package-loading-simplification)
1. [The default parser now validates options more strictly](#espree-validation)
1. [Rule configuration are validated more strictly](#rule-config-validating)
1. [The `no-redeclare` rule is now more strict by default](#no-redeclare-updates)
1. [The `comma-dangle` rule is now more strict by default](#comma-dangle-updates)
1. [The `no-confusing-arrow` rule is now more lenient by default](#no-confusing-arrow-updates)
@@ -111,6 +112,22 @@ If you use a config file located outside of a local project (with the `--config`

**Related issue(s):** [eslint/eslint#9687](https://github.com/eslint/eslint/issues/9687), [eslint/espree#384](https://github.com/eslint/espree/issues/384)

## <a name="rule-config-validating"></a> Rule configuration are validated more strictly

To catch config errors earlier, ESLint v6 will report a linting error if you are trying to configure a non-existent rule.

config | ESLint v5 | ESLint v6
------------- | ------------- | -------------
`/*eslint-enable foo*/` | no error | linting error
`/*eslint-disable(-line) foo*/` | no error | linting error
`/*eslint foo: 0*/` | no error | linting error
`{rules: {foo: 0}}` | no error | no error
`{rules: {foo: 1}` | linting warning | linting error

**To address:** You can remove the non-existent rule in your (inline) config.

**Related issue(s):** [eslint/eslint#9505](https://github.com/eslint/eslint/issues/9505)

## <a name="no-redeclare-updates"></a> The `no-redeclare` rule is now more strict by default

The default options for the [`no-redeclare`](https://eslint.org/docs/rules/no-redeclare) rule have changed from `{ builtinGlobals: false }` to `{ builtinGlobals: true }`. Additionally, the `no-redeclare` rule will now report an error for globals enabled by comments like `/* global foo */` if those globals were already enabled through configuration anyway.

0 comments on commit e5f1ccc

Please sign in to comment.
You can’t perform that action at this time.