ESLint v8.x end-of-life is 2024-10-05 and will not be maintained after that. Upgrade or consider long-term support options

ESLint 0.11.0 released

We just pushed ESLint 0.11.0, which is a minor release upgrade. This release includes new features, bug fixes, and a parser switch.

Highlights

This is a summary of the major changes you need to know about for this version of ESLint.

New parser

0.11.0 is the first version of ESLint to run on our own parser, Espree. Espree is currently configured to behave like Esprima 1.2.2, which was the parser that 0.10.0 was using, so you should see no differences in the behavior of ESLint related to the parser change.

Making this change allowed us to fix a couple of bugs we’ve had open that were related to Esprima issues.

ECMAScript 5 by default

This is the first release where we’ve started transitioning all settings to be ECMAScript 5 by default. ECMAScript 5 is the most widely-supported version of JavaScript, and so we want to assume ECMAScript 5 code and allow users to opt-in to ECMAScript 3 and ECMAScript 6 features.

Part of this involved a change made for #1484, which updated the dot-notation rule to allow keywords be used (as allowed by ECMAScript 5 but not ECMAScript 3). The option allowKeywords was added with a default value of true so that you can opt-out of this behavior if you need to support an ECMAScript 3 environment.

This means the following used to result in a warning but no longer does in 0.11.0:

obj.delete = 5;

Breaking Changes

  • Breaking: add es3 config option to dot-notation rule (fixes #1484) (Michael Ficarra)

Features

  • New: Configuration via package.json (fixes #698) (Michael Mclaughlin)
  • New: space-after-function-name (fixes #1340) (Roberto Vidal)

Bug Fixes

  • Fix: Adding regexp literal exception (fixes #1589) (Greg Cochard)
  • Fix: brace-style stroustrup should report on cuddled elseif (fixes #1583) (Ian Christian Myers)
  • Fix: check if next statement is on newline when warning against extra semicolons. (fixes #1580) (Evan You)
  • Fix: column location of key-spacing with additional tokens (fixes #1458) (Mathias Schreck)
  • Fix: function arguments now count towards no-shadow check (fixes #1584) (Glen Mailer)
  • Fix: padded-blocks incorrectly complained on comments (fixes #1416) (Mathias Schreck)
  • Fix: valid-jsdoc should recognize @class (fixes #1585) (Nicholas C. Zakas)
  • Fix: yoda treats negative numbers as literals (fixes #1571) (Brandon Mills)

Enhancements

  • Update: add yoda exception for range tests (fixes #1561) (Brandon Mills)
  • Update: Set environments w/ globals (fixes #1577) (Elan Shanker)
  • Update: Switch to use Espree (fixes #1595) (Nicholas C. Zakas)

Dependency Upgrades

  • Upgrade: Update Espree to 1.3.1 (Nicholas C. Zakas)
  • Build: tag correct commit (refs #1606) (Mathias Schreck)

The latest ESLint news, case studies, tutorials, and resources.

Trunk becomes ESLint gold sponsor
1 min read

Trunk becomes ESLint gold sponsor

We are happy to announce that Trunk is a gold sponsor of ESLint. We are grateful to founders Eli Schleifer and David Apirian, as well as the whole Trunk team.

ESLint v9.9.1 released
1 min read

ESLint v9.9.1 released

We just pushed ESLint v9.9.1, which is a patch release upgrade of ESLint. This release fixes several bugs found in the previous release.