All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Revert: Use install location of standard as eslint
cwd
(fixes #429)
- Use eslint 2.1.0
- Fix: Use install location of standard as eslint
cwd
(fixes snazzy/#8)
- Use eslint 2.0.0 stable
- Relax rule: Validate closing bracket location in JSX (jsx-closing-bracket-location)
- Fix "Error: Cannot find module 'eslint-config-standard-jsx'" with npm 2 (node 0.10, 0.12, 4)
- Internal change: Remove .eslintrc file, and use inline config
- Internal change: Move .eslintrc file to root folder
The goal of this release is to make standard
faster to install, and simpler to use.
- Eliminates 250 packages, and cuts install time in half!
- For npm 2, install time goes from 20 secs —> 10 secs.
- For npm 3, install time goes from 24 secs —> 12 secs.
- To continue using
standard-format
, just install it separately:npm install -g standard-format
React-specific linting rules are removed (#351) (#367) (eslint-config-standard-react/#13)
- JSX is still supported, and it continues to be checked for style.
- There were only a few React-specific rules, but they made it extremely difficult for users of alternatives like
virtual-dom
ordeku
, and unecessarily tiedstandard
to a single library. - JSX rules come from
eslint-config-standard-jsx
. Theeslint-config-standard-react
dependency was removed.
The percentage (%) of users that rule changes will effect, based on real-world testing of the top ~400 npm packages is denoted in brackets.
- Disallow
__dirname
/__filename
string concatenation (#403) (no-path-concat) [5%] - Require parens in arrow function arguments (#309) (arrow-parens) [5%]
- Ensure that
new Promise()
is instantiated with the parameter namesresolve
,reject
(#282) (promise/param-names) [1%] - Enforce Usage of Spacing in Template Strings (template-curly-spacing) [1%]
- Template strings are only allowed when necessary, i.e. template string features are being used (eslint got stricter: eslint/eslint#5147) [1%]
- Better dead code detection after conditional statements (eslint got stricter) [1%]
- Enforce spaces around
*
inyield * something
(#335) (yield-star-spacing) [0%] - Disallow labels on loops/switch statements too (made rule stricter) (no-labels) [0%]
- Disallow unnecessary constructor (no-useless-constructor) [0%]
- Disallow empty destructuring patterns (no-empty-pattern) [0%]
- Disallow Symbol Constructor (no-new-symbol) [0%]
- Disallow Self Assignment (no-self-assign) [0%]
For power users, it might be easier to use one of these new hooks instead of forking
standard
, though that's still encouraged, too!
To set custom ESLint plugins, rules, or envs, use the command line --plugin
, --rules
, and --env
flags.
In package.json
, use the "standard" property:
{
"standard": {
"plugins": [ "my-plugin" ]
}
}
- There may be slight behavior changes to existing rules. When possible, we've noted these in the "New Rules" and "Removed Rules" section.
- Rule changes can be tested against every package on npm. For sanity, this is limited to packages with at least 4 dependents. Around ~400 packages.
- Using prerelease eslint version (2.0.0-rc.0). There may be breaking changes before the stable release.
no-return-assign
behavior changed with arrow functions (eslint/eslint#5150)
- standard (v5.4.1...v6.0.0)
- eslint-config-standard (v4.4.0...v5.0.0)
- eslint-config-standard-jsx (v1.0.0)
- standard-engine (v2.2.4...v3.2.1)
- Fix for
standard-engine
change. Fix error tagline.
- [email protected] (history)
- Disallow duplicate JSX properties
- [email protected] (history)
- [email protected] (history)
- [email protected] (history)
- [email protected] (history)
- We have a changelog now, and you're reading it!
- Minor README update
- Removed direct dependency on
eslint
(its now moved to standard-engine)
- [email protected] (history)
- Revert rule: Disallow unncessary concatenation of strings
- [email protected] (history)
- fix regression with ternary operator handling
- [email protected] (history)
- New rule: Disallow unncessary concatenation of strings
- New rule: Disallow duplicate name in class members
- New rule: enforce spaces inside of single line blocks
- Re-add rule: padded-blocks (Closes #170)
- Bump
eslint
from 1.1.0 to 1.3.1 (CHANGELOG) - [email protected] (history)
- A small change to make the plugin compatible with browserify which does not affect behavior.
- [email protected] (CHANGELOG)
- Fix object rest/spread handling.
- Added white background to badge.svg to make it work with dark backgrounds (Closes #234)
- Minor updates to README.md
- Update to RULES.md to remove a missing hyperlink
- Add atom linter information to README.md
- Fixed duplicated word in the tagline message on the CLI
- Removed failing repository from tests (yoshuawuyts/initialize)
- [email protected] (history)
- Added rest/spread feature to
eslintrc.json
to fix #226 and eslint-plugin-standard#3
- Added rest/spread feature to
- [email protected] (CHANGELOG)
- Fix crash when propTypes don't have any parent
- Fix jsx-no-literals reporting errors outside JSX
- Bump eslint from 1.0.0 to 1.2.0 (CHANGELOG)
- Added more test repositories and disabled some that were failing
- Update bikeshedding link on README.md
- [email protected] (history)
- Disable Rule: react/wrap-multilines
- Minor README updates