Changelog
Version 1.13.0
This is mostly an incremental update, which includes important fixes for annoyances like npm ERR! EEXIST, symlink
error at npm install
. We also improved ES6 support, added seven new rules, three new rule values and now you can declare verbose
option at the config.
There are no preset updates in this release, but if you feel that rules are missing in the supported presets - please send us a PR.
We eagerly wait for the Esprima 2.3 release, since soon after, esnext
option will be set to true
by default.
We would like specifically thanks @TheSavior and @hzoo for their hard work on this release.
Changelog
Version 1.12.0
Ladies and Gentlemen... Elvis is in the building - auto-fixing is finally here! We were working really hard to make this powerful new feature, and to make it right. We're hoping it will truly help make your code look good.
Auto-fixing supports the EOF rule and all rules related to spacing, including validateIndentation which is the most complicated rule we have (big thanks to @mikesherov for making that happen).
Although this chunk of rules covers most of the popular use-cases, we're determine to add more rules to this list, please help us out and report any bugs or consider contributing with some code - http://jscs.info/contributing.html. We're really friendly to every new contributor.
Apart from auto-fixing, there are six new rules – fresh out of the oven. Special thanks goes to @lahmatiy, who had the patience and perseverance to implement requireSemicolons
.
Because of tireless efforts of @hzoo, we're adding two new presets in this release - node-style-guide
and wordpress
. They have pretty consistent style guides... try it out; They are a breeze to work with.
We're very grateful to everyone who helped out with this release, especially to @TheSavior who helped review the pull requests and shape out our API.
allExcept
option (Ash Clarke)jscs
comments (James Reggio)Changelog
Version 1.11.2
Changelog
Version 1.11.1
Changelog
Version 1.11.0
Changelog
Version 1.10.0
Preset: correct wikimedia preset test (Oleg Gaidarenko)
Preset: correct jquery preset test (Oleg Gaidarenko)
Preset: add disallowKeywordsOnNewLine rule to google preset (Oleg Gaidarenko)
Preset: add "requireSpacesInForStatement" rule to the presets (Oleg Gaidarenko)
Preset: add 'catch' to "disallowKeywordsOnNewLine" rule for wikimedia (James Forrester)
disallowSpacesInForStatement: Disallow spaces in between for statement (gero3)
requireSpacesInForStatement: Requires spaces inbetween for statement (gero3)
New rule: requireQuotedKeysInObjects (hpshelton)
disallowSpacesInsideObjectBrackets: implement "allExcept" option (Oleg Gaidarenko)
requireSpacesInsideObjectBrackets: implement "allExcept" option (Oleg Gaidarenko)
disallowSpacesInsideArrayBrackets: implement "allExcept" option (Oleg Gaidarenko)
requireSpacesInsideArrayBrackets: implement "allExcept" option (Oleg Gaidarenko)
requireDotNotation: new rule value - except_snake_case (Alexej Yaroshevich)
Configuration: ability to specify and query es3/es6 support in files. (Mike Sherov)
cli-config: add "getReporter" method (Oleg Gaidarenko)
requireSpaceBeforeBlockStatements: fix for else statement (Oleg Gaidarenko)
disallowSpaceBeforeBlockStatements: fix for else statement (Beau Gunderson)
disallowKeywordsOnNewLine: add special case for "else" without braces (Oleg Gaidarenko)
validateIndentation: fix bug with anonymous function return in switch case (Mike Sherov)
validateIndentation: fix bug with brace-less if in a switch case. (Mike Sherov)
validateIndentation: fix bug with indentation of bare blocks. (Mike Sherov)
disallowSpaceAfterBinaryOperators: report correct operator error (Oleg Gaidarenko)
requireSpaceAfterBinaryOperators: report correct operator error (Oleg Gaidarenko)
Fixes #909 (wrong type for disallow-capitalized-comments) (alawatthe)
token-assert: add guards for token and subjectToken properties (Oleg Gaidarenko)
ESNext: update esprima to properly parse regex tokens (Mike Sherov)
requireNewlineBeforeBlockStatements: add guard for the first symbol (Oleg Gaidarenko)
disallowNewlineBeforeBlockStatements: add guard for the first symbol (Oleg Gaidarenko)
requireDotNotation: require dots for es3 keywords when not in es3 mode (Mike Sherov)
JsFile: make getNodeByRange check condition less strict (gero3)
requireSpacesInConditionalExpression: notice parentheses (Alexej Yaroshevich)
disallowSpacesInConditionalExpression: notice parentheses (Alexej Yaroshevich)
requirePaddingNewlinesBeforeKeywords: add token exceptions (jdlrobson)
requireLineBreakAfterVariableAssignment: fix edge cases (jdlrobson)
Docs: various readme fixes (Oleg Gaidarenko)
Docs: improve "excludeFiles" documentation (Alex Yaroshevich)
Docs: Fixed level for 1.9.0 to be the same as for 1.8.x (Alexander Artemenko)
README: Fix Bootstrap's name (Chris Rebert)
requireOperatorBeforeLineBreak: Use the new assertion framework (hpshelton)
cli-config: add JSDoc for exposed methods (Oleg Gaidarenko)
(require | disallow)SpacesInsideObjectBrackets: add bunch of newlines (Oleg Gaidarenko)
Misc: make jscs happy (Oleg Gaidarenko)
disallowSpaceBeforeBlockStatements: correct test names (Oleg Gaidarenko)
disallowSpaceBeforeBlockStatements: use assertion API (Oleg Gaidarenko)
requireKeywordsOnNewLine: use assertion API (Oleg Gaidarenko)
Misc: complitly replace hooker with sinon (Oleg Gaidarenko)
CLI: correct tests for the "reporter" option (Oleg Gaidarenko)
(require | disallow)NewlineBeforeBlockStatements: remove needless guards (Oleg Gaidarenko)
(require | disallow)NewlineBeforeBlockStatements: use assertion API (Nicholas Bartlett)
Move website to a different repo (mdevils)
utils: add isSnakeCased, trimUnderscores methods (Alexej Yaroshevich)
requireSpace(Before|After)BinaryOperators: Add tests for error column (hpshelton)
modules/checker: call spy.restore() after assertions in checkStdin (Alexej Yaroshevich)
Misc: correct file flags - chmod -x (Oleg Gaidarenko)
Build: update dependencies (Oleg Gaidarenko)
Changelog
Version 1.9.0
Preset: update wikimedia preset (Timo Tijhof)
Preset: update crockford preset (Jackson Ray Hamilton)
New Rules: (require | disallow)SpaceBetweenArguments (James Allardice)
New Rules: requireLineBreakAfterVariableAssignment (jdlrobson)
New Rules: disallowSemicolons (Christopher Cliff)
CLI: relative path resolving fix (mdevils)
requireCurlyBraces: correctly set error pointer (Oleg Gaidarenko)
requireOperatorBeforeLineBreak: Detect binary operator after literal (Lucas Cimon)
requireCapitalizedComments: correct letter recognition (alawatthe)
CLI: Remove duplicated error reporting code paths (Mike Sherov)
CLI: remove duplicated preset existence check (Mike Sherov)
Iterator: extend estraverse rules to support JSX (Yannick Croissant)
Iterator: use estraverse in tree-iterator. (mdevils)
CLI: Move configuration override to node-configuration (Mike Sherov)
Docs: small correction to contributing guide (Oleg Gaidarenko)
Docs: fixed incorrect rule name in example (alawatthe)
Docs: added keywords for Googleability (Devin Ekins)
Docs: Correct documentation for disallowOperatorBeforeLineBreak (jdlrobson)
Docs: Added quotes for uniformity (Callum Macrae)
Docs: Typo fix (Alexander Sofin)
Docs: fix urls to yandex codestyle (Andrey Morozov)
Changelog
Version 1.8.0
Preset: Grunt (Joel Kemp)
Preset: remove "disallowMultipleLineBreaks" rule from crockford preset (Oleg Gaidarenko)
New Rules: disallowOperatorBeforeLineBreak (jdlrobson)
New Rules: (require | disallow)PaddingNewlinesBeforeKeywords (Anton Vishnyak)
New Rules: disallowSpaceBeforeKeywords (Bryan Donovan)
New Rules: requireSpaceBeforeKeywords (Bryan Donovan)
Parsing: Ability to specify a custom esprima version via CLI or config (Konstantin Tarkus)
Errors: Support a filter to control which errors are reported (Joel Kemp)
Assertions: better rule error reporting. (mdevils)
Better configuration, plugin support (mdevils)
disallowDanglingUnderscores: Support an array of additional exceptions (Henry Zhu)
requireTrailingComma: add option ignoreSingleLine (eltacodeldiablo)
StringChecker: unsupported rules shown as style errors and not thrown exceptions (Joel Kemp)
Iterate over "export" statement of ES6 (Oleg Gaidarenko)
disallowMultipleVarDecl: add exception for undefined variable declarations (Henry Zhu)
disallowDanglingUnderscores: add "super_" to allowed identifier list (Markus Dolic)
disallowSpacesInAnonymousFunctionExpression: set correct error pointer (Oleg Gaidarenko)
requireSpaceAfterLineComment: add "except" option (Alexej Yaroshevich)
validateParameterSeparator: fix for multiple spaces between parameters (Henry Zhu)
Added test and patch for finally
as a spaced keyword (Todd Wolfson)
requireCapitalizedComments: Better support for multi-line comments (indexzero)
disallowSpaceBeforeKeywords: Fix assertion typo (Jeremy Fleischman)
Errors: Simplify rules debugging and prevent crashes in error reporters (Alexej Yaroshevich)
Correct error message for "requireSpaceAfterKeywords" rule (Bryan Donovan)
Docs: Fix Yandex codestyle link (Garmash Nikolay)
Docs: Added clarification of tokens in disallowSpacesInConditionalExpression (indexzero)
Docs: add twitter and mailling list links (Oleg Gaidarenko)
Docs: add more specific cases for function spaces rules (Henry Zhu)
Docs: make indentation to be consistent at 4 spaces (Henry Zhu)
Docs: Correct docs for requireAnonymousFunctions rule (Oleg Gaidarenko)
Docs: Clarify "config" option (MaximAL)
Docs: Add Plugins section (Alexej Yaroshevich)