Highlights
This is a summary of the major changes you need to know about for this version of ESLint.
Support for ES2017
With this release, we support ES2017 syntax natively. To activate ES2017 parser option, you need to update parser option (in your .eslintrc.*
file).
{
"parserOptions": {
"ecmaVersion": 2017,
"sourceType": "module"
}
}
Rules enhanced to support ES2017
space-unary-ops
no-extra-parens
keyword-spacing
arrow-parens
prefer-arrow-callback
no-unused-expressions
Auto-Fix
Four rules gained support for the --fix
command line option:
Enhancements
- 1b05d9c Update: add fixer for
strict
(fixes #6668) (#7198) (Teddy Katz) - aaa3779 Update: Allow
space-unary-ops
to handle await expressions (#7174) (Teddy Katz) - 91bf477 Update: add fixer for
prefer-template
(fixes #6978) (#7165) (Teddy Katz) - 745343f Update:
no-extra-parens
supports async/await (refs #7101) (#7178) (Toru Nagashima) - 462a3f7 Update:
keyword-spacing
supports async/await (refs #7101) (#7179) (Toru Nagashima) - 709a734 Update: Allow template string in
valid-typeof
comparison (fixes #7166) (#7168) (Teddy Katz) - 16bb802 Update: Ensure
arrow-parens
handles async arrow functions correctly (#7176) (Teddy Katz) - c118d21 Update: Let
no-restricted-properties
check destructuring (fixes #7147) (#7151) (Teddy Katz) - 95c777a Update: Make
no-restricted-properties
more flexible (fixes #7137) (#7139) (Teddy Katz) - 0fdf23c Update: fix
quotes
rule’s false negative (fixes #7084) (#7141) (Toru Nagashima) - f2a789d Update: fix
no-unused-vars
false negative (fixes #7124) (#7143) (Toru Nagashima) - e016384 Update: add fixer for quote-props (fixes #6996) (#7095) (Teddy Katz)
- 8b3fc32 Update: Make
indent
report lines with mixed spaces/tabs (fixes #4274) (#7076) (Teddy Katz) - b39ac2c Update: add fixer for
no-regex-spaces
(#7113) (Teddy Katz) - a876673 Update: no-implicit-coercion checks TemplateLiterals (fixes #7062) (#7121) (Kai Cataldo)
- 22edd8a Update:
class-methods-use-this
:exceptions
option (fixes #7085) (#7120) (Jordan Harband) - bcfa3e5 Update: Add
always
/never
option toeol-last
(fixes #6938) (#6952) (kdex)
Bug Fixes
- 8e1fee1 Fix: Handle number literals correctly in
no-whitespace-before-property
(#7185) (Teddy Katz) - f71937a Fix: Don’t report async/generator callbacks in
array-callback-return
(#7172) (Teddy Katz) - 461b015 Fix: Handle async functions correctly in
prefer-arrow-callback
fixer (#7173) (Teddy Katz) - 7ea3e4b Fix: Handle await expressions correctly in
no-unused-expressions
(#7175) (Teddy Katz) - 9e0b068 Fix: valid-jsdoc does not throw on FieldType without value (fixes #7184) (#7187) (Kai Cataldo)
- 6148d85 Fix: Report columns for
eol-last
correctly (fixes #7136) (#7149) (kdex) - 28ddcf8 Fix:
max-len
:ignoreTemplateLiterals
: handle 3+ lines (fixes #7125) (#7138) (Jordan Harband) - 76acbb5 Fix: include LogicalExpression in indent length calc (fixes #6731) (#7087) (Alec)
- afd132a Fix: line-comment-position “above” string option now works (fixes #7100) (#7102) (Kevin Partington)
- c85fd84 Fix: max-statements-per-line rule to force minimum to be 1 (fixes #7051) (#7092) (Scott Stern)
- 6ae660b Fix: Don’t report comparisons of two typeof expressions (fixes #7078) (#7082) (Teddy Katz)
Documentation
- 0a36138 Docs: Update ecmaVersion instructions (#7195) (Nicholas C. Zakas)
- 4b5d9b7 Docs: Update process for evaluating proposals (fixes #7156) (#7183) (Kai Cataldo)
- 660e091 Docs: Update rule descriptions (fixes #5912) (#7152) (Kenneth Williams)
- cc80467 Docs: Update PR templates for formatting (#7128) (Nicholas C. Zakas)
- 7e8316f Docs: Update release process (#7127) (Nicholas C. Zakas)
- ac0bb62 Docs: Fixes examples for allowTemplateLiterals (fixes #7115) (#7135) (Zoe Ingram)
- 0ca26d9 Docs: Distinguish examples for space-before-blocks (#7132) (Timo Tijhof)
- e462e47 Docs: updates category of no-restricted-properties (fixes #7112) (#7118) (Alec)
- 710f205 Docs: Fix typos in Issues section of Maintainer’s Guide (#7114) (Kai Cataldo)
- 546a3ca Docs: Clarify that linter does not process configuration (fixes #7108) (#7110) (Kevin Partington)
- 0d50943 Docs: Elaborate on
guard-for-in
best practice (fixes #7071) (#7094) (Dallon Feldner) - 58e6d76 Docs: Fix examples for no-restricted-properties (#7099) (not-an-aardvark)
- 6cfe519 Docs: Corrected typo in line-comment-position rule doc (#7097) (Alex Mercier)
- f02e52a Docs: Add fixable note to no-implicit-coercion docs (#7096) (Brandon Mills)
Dependency Upgrades
Chores
- 2d10657 Chore: add tests for
generator-star-spacing
and async (refs #7101) (#7182) (Toru Nagashima) - 8db4f0c Chore: Enable
typeof
check forno-undef
rule in eslint-config-eslint (#7103) (Teddy Katz) - 1738b2e Chore: fix name of internal-no-invalid-meta test file (#7142) (Vitor Balocco)
- 9a2aefb Chore: Don’t require an issue reference in check-commit npm script (#7104) (Teddy Katz)