Highlights
This is a summary of the major changes you need to know about for this version of ESLint.
Deprecated Rules
In continuing our work towards JSCS compatibility and reviewing the current rules list, we decided to deprecate several rules and replace them with new rules. In some cases there was just confusion about the existing rule and in others there were changes necessary for JSCS compatibility. Per our rule deprecation policy, the deprecated rules will remain as part of ESLint until at least May 2017, at which point we will evaluate removing those rules.
We recommend you upgrade your configurations to use the new rules.
Deprecated Rule | Replaced By |
---|---|
no-native-reassign |
`no-global-assign’ |
no-negated-in-lhs |
`no-unsafe-negation’ |
no-spaced-func |
`func-call-spacing’ |
New Rules
Features
- e456fd3 New:
sort-keys
rule (fixes #6076) (#6800) (Toru Nagashima) - f8ab8f1 New: func-call-spacing rule (fixes #6080) (#6749) (Brandon Mills)
- be68f0b New: no-template-curly-in-string rule (fixes #6186) (#6767) (Jeroen Engels)
- 5ef839e New: Add consistent and …-as-needed to object-shorthand (fixes #5438) (#5439) (Martijn de Haan)
- aef18b4 New:
no-unsafe-negation
rule (fixes #2716) (#6789) (Toru Nagashima) - 2b17459 New:
no-global-assign
rule (fixes #6586) (#6746) (alberto)
Enhancements
- ebf8441 Update:
prefer-rest-params
relax for member accesses (fixes #5990) (#6871) (Toru Nagashima) - df01c4f Update: Add regex support for exceptions (fixes #5187) (#6883) (Annie Zhang)
- 3e879fc Update: Rule “eqeqeq” to have more specific null handling (fixes #6543) (#6849) (Simon Sturmer)
- 1ecd2a3 Update: improve error message in
no-control-regex
(#6839) (Jordan Harband) - d610d6c Update: make
max-lines
report the actual number of lines (fixes #6766) (#6764) (Jarek Rencz) - bf0afcb Update: validate void operator in no-constant-condition (fixes #5726) (#6837) (Vitor Balocco)
- 90f78f4 Update: add
props
option tono-self-assign
rule (fixes #6718) (#6721) (Toru Nagashima) - 30d71d6 Update: ‘requireForBlockBody’ modifier for ‘arrow-parens’ (fixes #6557) (#6558) (Nicolas Froidure)
- e524d16 Update: camelcase rule fix for import declarations (fixes #6755) (#6784) (Lorenzo Zottar)
- 8f3509d Update: make
eslint:all
excluding deprecated rules (fixes #6734) (#6756) (Toru Nagashima)
Bug Fixes
- 055742c Fix:
no-dupe-keys
type errors (fixes #6886) (#6889) (Toru Nagashima) - 11395ca Fix:
no-dupe-keys
false negative (fixes #6801) (#6863) (Toru Nagashima) - d47c505 Fix:
newline-after-var
false positive (fixes #6834) (#6847) (Toru Nagashima) - 7e1bf01 Fix: update peerDependencies of airbnb option for
--init
(fixes #6843) (#6846) (Vitor Balocco) - 8581f4f Fix:
no-invalid-this
false positive (fixes #6824) (#6827) (Toru Nagashima)
Documentation
- e37bbd8 Docs: Remove duplicate statement (#6878) (Richard Käll)
- 117e7aa Docs: Remove incorrect “constructor” statement from
no-new-symbol
docs (#6830) (Jarek Rencz) - d94e945 Docs: Update Getting Started w/ Readme installation instructions (#6823) (Kai Cataldo)
Dependency Upgrades
Build Related
Chores
- e8cb7f9 Chore: use eslint-plugin-node (refs #6407) (#6862) (Toru Nagashima)
- b256c50 Chore: Fix glob for core js files for lint (fixes #6870) (#6872) (Gyandeep Singh)
- 80789ab Chore: don’t throw if rule is in old format (fixes #6848) (#6850) (Vitor Balocco)
- cdded07 Chore: use native
Object.assign
(refs #6407) (#6832) (Gyandeep Singh) - 579ec49 Chore: Add link to rule change guidelines in “needs info” template (fixes #6829) (#6831) (Kevin Partington)
- 4c5e911 Chore: enable
prefer-const
and apply it to our codebase (refs #6407) (#6805) (Toru Nagashima)