ESLint 0.3.0 released

We just pushed ESLint 0.3.0, which is a significant release due to the number of bug fixes and significant changes included.

Configuration Files

  • Breaking Change: Removed the ability to use JavaScript as a configuration file format (more info)
  • Added the ability to use JavaScript-style comments in configuration files.
  • Added support for .eslintignore files
  • Allow configuration files to have any extension and assume they contain JSON

Formatters

  • Breaking Change: Switched to using stylish format as the default for ESLint (more info)
  • Merged stylish formatter into the main repository
  • Added the rule ID to all formatter output to more easily identify which rule is causing a warning

Core

  • Added the ability to traverse comment nodes in rules
  • Ignore shebangs in JavaScript files so ESLint can validate all Node.js files

Rules

  • Breaking Change: unnecessary-strict rule was renamed to no-extra-strict
  • no-empty now disallows empty catch blocks when a finally block is present
  • no-unused-vars was incorrectly reporting function expressions weren’t used when method calls were made on them - this was fixed
  • brace-style was incorrectly reporting a violation when an if statement conditional spanned multiple lines - this was fixed

Documentation

  • Lots of documentation updates and fixes
  • Setup eslint.org as the new home for documentation

Breaking Changes

The complete list of breaking changes are as follows:

Complete Changelog

The following is the complete list of changes in this version:

  • Config: Allow comments in JSON configuration files (fixes [#492](https://github.com/eslint/eslint/issues/492)) (Nicholas C. Zakas)
  • Bug: max-len fix to report correct line number (fixes #552) (Nicholas C. Zakas)
  • Build: Use browserify to create browser-ready ESLint (fixes #119) (Nicholas C. Zakas)
  • Docs: Ensure all rules have entry on top-level rules index page (Nicholas C. Zakas)
  • Docs: Add docs for no-fallthrough rule (Nicholas C. Zakas)
  • Update README.md (Peter deHaan)
  • Update README.md (Peter deHaan)
  • Update package.json (Peter deHaan)
  • Docs: Added documentation for semi rule (Nicholas C. Zakas)
  • Build: Reset branch coverage target (Nicholas C. Zakas)
  • Update build system to generate eslint.org during release (Nicholas C. Zakas)
  • Updated setup doc (Nicholas C. Zakas)
  • Fix #525 & #528 (Mangled Deutz)
  • Improve no-negated-in-lhs description (David Bruant)
  • Fixing typo (David Bruant)
  • Update no-new.md (Tamas Fodor)
  • Update no-extra-semi.md (Tamas Fodor)
  • Fixing broken links in documentation (Ilya Volodin)
  • Update about page (Nicholas C. Zakas)
  • Site generation build step and documentation updates to support it (fixes #478) (Nicholas C. Zakas)
  • Change message for brace-style rule (fixes #490) (Nicholas C. Zakas)
  • Add question about ES6 support to FAQ (fixes #530) (Nicholas C. Zakas)
  • Set unlimited number of listeners for event emitter (fixes #524) (Nicholas C. Zakas)
  • Add support for comment events (fixes #531) Add :after events for comments (Nicholas C. Zakas)
  • Add :after events for comments (Nicholas C. Zakas)
  • Allow config files to have any name (fixes #486). (Aparajita Fishman)
  • List available formatters (fixes #533). (Aparajita Fishman)
  • Add support for comment events (fixes #531) (Nicholas C. Zakas)
  • Add Stylish formatter and make it default. Fixes #517 (Sindre Sorhus)
  • Fix missing code exit (Mangled Deutz)
  • Added unit test for calling Config.getConfig with no arguments. (Aparajita Fishman)
  • Typo (Mangled Deutz)
  • Fixed docs typo (Nicholas C. Zakas)
  • Mark functions as used when any method is called on them (Nicholas C. Zakas)
  • Fixed: Config.getConfig is called either with a file path or with no args (fixes #520) (Aparajita Fishman)
  • Fix minor bug in no-empty rule (Nicholas C. Zakas)
  • add more info for failure messages (Nicholas C. Zakas)
  • Add ruleId to all formatters output (fixes #472) (Nicholas C. Zakas)
  • Remove unused code (Nicholas C. Zakas)
  • Correctly handle case with both finally and catch in no-empty (Nicholas C. Zakas)
  • Update documentation for no-unused-vars (Nicholas C. Zakas)
  • Ensure that bound function expressions are reported as being used (fixes #510) (Nicholas C. Zakas)
  • Allow empty catch/finally blocks (fixes #514) and update documentation (fixes #513) (Nicholas C. Zakas)
  • Updated contribution guidelines (Nicholas C. Zakas)
  • Add default setting for no-cond-assign (Nicholas C. Zakas)
  • Add build step to check rule consistency (Nicholas C. Zakas)
  • update docs: explicit cli args are exempt from eslintignore exclusions (Michael Ficarra)
  • fixes #505: no-cond-assign should ignore doubly parenthesised tests (Michael Ficarra)
  • Renamed unnecessary-strict to no-extra-strict (Nicholas C. Zakas)
  • Fixed missing documentation links (Nicholas C. Zakas)
  • Add build task to check for missing docs and tests for rules (Nicholas C. Zakas)
  • Slight reorganization of rule groups (Nicholas C. Zakas)
  • Added one-var and sorted some rules (Nicholas C. Zakas)
  • Updated Travis badge for new location (Nicholas C. Zakas)
  • fixes #494: allow shebangs in processed JS files (Michael Ficarra)
  • fixes #496: lint ignored files when explicitly specified via the CLI (Michael Ficarra)
  • More tests (Ilya Volodin)
  • Upgrade Istanbul (Ilya Volodin)
  • fixes #495: holey arrays cause no-comma-dangle rule to throw (Michael Ficarra)
  • Documentation and minor changes (Ilya Volodin)
  • Adding missing package registration (Ilya Volodin)
  • Adding support for .eslintignore and .jshintignore (Closes #484) (Ilya Volodin)
  • fixes #482: brace-style bug with multiline conditions (Michael Ficarra)
  • Switching Travis to use ESLint (Closes #462) (Ilya Volodin)

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

ESLint v9.0.0-rc.0 released
2 min read

ESLint v9.0.0-rc.0 released

We just pushed ESLint v9.0.0-rc.0, which is a major release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release. This release also has some breaking changes, so please read the following closely.

ESLint v9.0.0-beta.2 released
2 min read

ESLint v9.0.0-beta.2 released

We just pushed ESLint v9.0.0-beta.2, which is a major release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release. This release also has some breaking changes, so please read the following closely.

ESLint v9.0.0-beta.1 released
1 min read

ESLint v9.0.0-beta.1 released

We just pushed ESLint v9.0.0-beta.1, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.