ESLint 0.16.0 released
We just pushed ESLint 0.16.0, which is a minor release upgrade. This release includes new features and bug fixes.
This is a summary of the major changes you need to know about for this version of ESLint.
Complete ECMAScript 6 support
Both of these options are off by default, and you can enable them in your configuration file. See Configuring ESLint for more information.
Classes and modules follow the newly-standardized estree AST node structure, and so these changes may not be completely compatible with older parsers that have not yet upgraded.
We've included a new
es6 environment that enables all ECMAScript 6 features except modules. Since modules imply global strict mode, that puts the parser into a different mode. You'll need to manually opt-in to using modules via
ecmaFeatures.modules. So if you are using ECMAScript 6 modules in your project, you'll want to enable the
es6 environment in addition to
Note: The AST structure for default parameters and rest parameters is still undergoing change and discussion. We recommend not creating custom rules using default or rest parameters until after ESLint 1.0.0.
Single-line disable comment
Due to popular demand, we've added a new way to disable rules on a single line:
// disables just semi for this line doSomething() //eslint-disable-line semi // disables all rules for this line doSomething() //eslint-disable-line
Keep in mind that the comment must be at the end of the line you want to disable.
We're getting even closer to 1.0.0. The biggest remaining task is to use the finalized AST node structure for rest and default parameters as well as switching to use the new
handler property of
We are preparing a list of breaking changes that will be coming in v1.0.0 and are tracking them on #1898. Stay tuned to that issue so you know what to expect.
- Breaking: change no-comma-dangle to comma-dangle (fixes #1350) (Mathias Schreck)
- Breaking: Change no-space-before-semi to semi-spacing and add "after" option (fixes #1671) (Mathias Schreck)
- Breaking: made eol-last less strict (fixes #1460) (Glen Mailer)
- Fix: allow block bindings in no-inner-declarations (fixes #1893) (Roberto Vidal)
- Fix: Better error when given null as rule config (fixes #1760) (Glen Mailer)
- Fix: block-scoped-var to work with destructuring (fixes #1863) (Nicholas C. Zakas)
- Fix: comma-spacing should ignore JSX text (fixes #1916) (Brandon Mills)
- Fix: Comment configuration of rule doesn't work (fixes #1792) (Jary)
- Fix: getScope and no-use-before-define for arrow functions (fixes #1895) (Brandon Mills)
- Fix: Make no-inner-declarations look for arrow functions (fixes #1892) (Brandon Mills)
- Fix: Make no-unused-vars ignore exports (fixes #1903) (Nicholas C. Zakas)
- Fix: Pass correct sourceType to escope (fixes #1959) (Nicholas C. Zakas)
- Fix: Rest args should work in no-undef and block-scoped-var (fixes #1543) (Nicholas C. Zakas)
- Fix: Scoping for Node.js (fixes #892) (Nicholas C. Zakas)
- Fix: space-before-function-parentheses and object methods (fixes #1920) (Brandon Mills)
- Fix: strict rule should honor module code (fixes #1956) (Nicholas C. Zakas)
- Fix: Use unversioned sinon file in browser test (fixes #1947) (Nicholas C. Zakas)
- New: Add es6 environment (fixes #1864, fixes #1944) (Nicholas C. Zakas)
- New: Adding support for "// eslint-disable-line rule" style comments (Billy Matthews)
- New: generator-star middle option (fixes #1808) (Jamund Ferguson)
- New: no-dupe-args rule (fixes #1880) (Jamund Ferguson)
- Update: Add support for custom preprocessors (fixes #1817) (Ilya Volodin)
- Update: no-empty to check TryStatement.handler (fixes #1930) (Brandon Mills)
- Update: Remove preferGlobal from package.json (fixes #1877) (Nicholas C. Zakas)
- Update: space-before-function-parentheses to support generators (fixes #1929) (Brandon Mills)
- Upgrade: Espree to 1.10.0 for classes support (Nicholas C. Zakas)
- Upgrade: Espree to v1.11.0 (Nicholas C. Zakas)
- Docs: Add mention of compatible parsers (Nicholas C. Zakas)
- Docs: no-plusplus.md - auto semicolon insertion (Miroslav Obradović)
- Docs: Update docs for token-related methods (fixes #1878) (Nicholas C. Zakas)
- Docs: Update ecmaFeatures list (fixes #1942) (Nicholas C. Zakas)
- Docs: Use union types in TokenStore JSDoc (refs #1878) (Brandon Mills)