ESLint 0.10.0 released

We just pushed ESLint 0.10.0, which is a minor release upgrade. This release includes new features, bug fixes, and performance improvements. It does not include support for ECMAScript 6 or JSX, as these have been delayed until 0.11.0.


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

Command Line Interface

The CLI for ESLint has been updated, including some breaking changes.

First, the node_modules directory will automatically be ignored in all projects (#1163). This comes after finding that many projects added node_modules to their .eslintignore files and fielding many questions about why ESLint was slow (answer: because it was linting node_modules).

Second, it’s now possible to lint files without an extension (#1131). All you have to do is pass them in on the command line, such as:

eslint file-without-ext

ESLint will not automatically lint files without extensions in directories that are passed on the command line. You can also pass files without a .js extension directly on the command line to lint them. In short, ESLint will lint anything you pass directly on the command line without question.

Third, you can now specify alternate file extensions for ESLint to find when looking in directories (#801). This is done via the --ext flag. By default, ESLint looks for all files with a .js extension. You can change that extension by specifying it with --ext:

eslint --ext .js2

This will cause ESLint to look only for files with a .js2 extension. You can specify multiple extensions to search for as well:

eslint --ext .js --ext .js2

This will cause ESLint to look for files with either .js or .js2 extensions.

CLIEngine updated

The CLIEngine object has been updated to allow you to specify extensions, which corresponds to the --ext flag. You can read more about this in the Node.js API documentation.

space-unary-word-ops is now space-unary-ops

Sometimes when creating a new rule it becomes apparent that it should actually be combined with an existing rule. This is what happened with space-unary-word-ops. The new space-unary-ops replaces it and adds support for non-word unary operations.

Breaking Changes


Bug Fixes