ESLint 0.3.0 released
by Nicholas C. Zakas - 20 January 2014We 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 tono-extra-strict
no-empty
now disallows emptycatch
blocks when afinally
block is presentno-unused-vars
was incorrectly reporting function expressions weren't used when method calls were made on them - this was fixedbrace-style
was incorrectly reporting a violation when anif
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:
- Removed the ability to use JavaScript as a configuration file format
- Switched to using stylish format as the default
unnecessary-strict
rule was renamed tono-extra-strict
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)