Skip to content
This repository has been archived by the owner on Mar 23, 2024. It is now read-only.

Releases: jscs-dev/node-jscs

v1.13.0

28 Apr 15:28
Compare
Choose a tag to compare

Version 1.13.0

Overview

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.

New options

  • New option: add "verbose" option as a config option (Oleg Gaidarenko)

New rules

  • New rule: validateAlignedFunctionParameters (Bram Cordie)
  • New rule: (disallow|require)PaddingNewLinesBeforeExport (Eli White)
  • New rule: validateNewlineAfterArrayElements (Alexej Yaroshevich)
  • New rule: (require |disallow)NamedUnassignedFunctions (Todd Wolfson)
  • New rule: maximumNumberOfLines (Henry Zhu)
  • New rule: (disallow|require)PaddingNewLinesAfterUseStrict (Eli White)
  • New rule: disallowNotOperatorsInConditionals (Henry Zhu)

New rule values

  • requirePaddingNewLinesAfterBlocks: add exceptions (Eli White)
  • requireSpaceBeforeBlockStatements: add number of spaces argument (Oleg Pesok)
  • requireDollarBeforejQueryAssignment: add "ignoreProperties" rule value (Alexej Yaroshevich)

Bug fixes

  • paddingNewLinesBeforeLineComments: code and comment on the same line (Oleg Gaidarenko)
  • disallowKeywordsOnNewLine: "do..while" on new line (oredi)
  • requirePaddingNewLinesBeforeLineComments: first token and not first line (Eli White)
  • Errors: should not show rule for "Unsupported rule" error (Oleg Gaidarenko)
  • requireOperatorBeforeLineBreak: autofix by moving operator (Nick Santos)
  • disallowIdentifierNames: fix errors with using object properties as an identifier (Henry Zhu)
  • requireDollarBeforejQueryAssignment: Allow leading underscores before $ sign (Eli White)
  • requireCamelCaseOrUpperCaseIdentifiers: skip es5 getters if ignoreProperties is set (Alexej Yaroshevich)
  • requireSemicolons: fix warning positions (Roman Dvornov)
  • requireMultipleVarDecl: fix switch statement case (Todd Wolfson)
  • paddingNewLineAfterVariableDeclaration: simlification and more tests (Oleg Gaidarenko)
  • paddingNewLineAfterVariableDeclaration: add check for let and const (Martin Kolárik)
  • paddingNewLineAfterVariableDeclaration: do not trip off on the semicolon (Oleg Gaidarenko)
  • paddingNewLinesAfterBlocks: ease up on function calls (Oleg Gaidarenko)
  • requirePaddingNewLineAfterVariableDeclaration: allow exception (Henry Zhu)
  • requireLineBreakAfterVariableAssignment: add check for let and const (Henry Zhu)
  • requireCapitalizedComments: handle textblocks correctly (Martin Kolárik)

Misc

  • js-file: small JSDoc improvement (Oleg Gaidarenko)
  • Tests: fix node-style-guide preset (Martin Kolárik)
  • Utils: add "true" and "false" to list of reserved words (Dmitry Sorin)
  • Update esprima-harmony version (Oleg Gaidarenko)
  • Tests: Add a test helper for asserting errors and autofix (Eli White)
  • disallowKeywordsOnNewLine: make jshint happy (Oleg Gaidarenko)
  • disallowMultipleVarDecl: add test for var inside switch clause (Alexej Yaroshevich)
  • errors: additional tests, coverage (Alexej Yaroshevich)
  • string-checker: wrap rule.check into try-catch (Alexej Yaroshevich)
  • errors: fix test flow with filtering (Alexej Yaroshevich)

Docs

  • Docs: add link to overcommit under "Friendly packages" (Joe Lencioni)
  • Docs: add a message to mention the verbose option (Henry Zhu)
  • Docs: clarify that CLI options can be used in the config (Henry Zhu)
  • Docs: clarify that disallowMultipleSpaces matches tabs and spaces (Henry Zhu)
  • Docs: clarify how to disable a rule and use a config file (Henry Zhu)
  • Docs: Clarify behavior of requireCamelCaseOrUpperCaseIdentifiers (Henry Zhu)
  • Docs: fix disallowMultipleSpaces rule name in CHANGELOG (Alexej Yaroshevich)
  • Docs: add two new presets to list of preset values (Jed Wood)
  • Docs: add link to the preset option from the list of presets (Steve Lee)
  • Docs: add shorten flags to cli (Henry Zhu)
  • Docs: add auto fix option to cli docs (Henry Zhu)
  • Docs: fix disallowMultipleSpaces invalid example (Henry Zhu)
  • Docs: fix various docs typos (Eli White)

v1.12.0

26 Mar 17:36
Compare
Choose a tag to compare

Version 1.12.0

Overview

Ladies and Gentlemen... Elvis is in the building - auto-fixing is finally here (available through -x option)! 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.

Preset updates

  • Preset: remove "requireMultipleVarDecl" rule from jquery preset (Oleg Gaidarenko)
  • Preset: wordpress (Henry Zhu)
  • Preset: Add "requireSemicolons" rule to the Yandex preset (ikokostya)
  • Preset: Add validate indentation rule for Yandex (Gunnar Lium)
  • Preset: node-style-guide (Henry Zhu)
  • Preset: update airbnb preset (Eli White)
  • Preset: require blank line before all line comments for jQuery preset (Eli White)
  • Preset: Add "requireSpaceBeforeObjectValues" to crockford test (Jackson Ray Hamilton)

Auto-fixing

  • validateIndentation: autofixing! (Mike Sherov)
  • TokenAssert: only fix lines when comments do not exist between tokens (Mike Sherov)
  • disallowMultipleLineString: do not yet allow autofixing, which is a non-whitespace change (Mike Sherov)
  • disallowSemicolons: do not yet allow autofixing, which is a non-whitespace change (Mike Sherov)
  • Autofixing: add more rules to use assertion framework (Henry Zhu)
  • Autofixing: make most rules use assertion framework when possible (Eli White)
  • Autofixing: initial implementation (mdevils)
  • Autofixing: token data (mdevils)

New rules

  • New Rule: requireSemicolons (Roman Dvornov)
  • New Rule: disallow-multiple-spaces (Todd Wolfson)
  • New Rule: disallowIdentifierNames (alawatthe)
  • New Rule: requirePaddingNewLineAfterVariableDeclaration (Evan Jacobs)
  • New Rule: requireDollarBeforejQueryAssignment (Eli White)
  • New Rules: (disallow/require)PaddingNewLinesBeforeLineComments (Eli White)

Rule Values

  • requireCapitalizedComments: Add allExcept option (Ash Clarke)

Auto-configuration

  • Auto-Configuration: show error count when handling violated rules (fubu)
  • Auto-Configuration: show number of violated rules (fubu)

CLI

  • CLI: simplify and increase coverage of "cli-config" module (Oleg Gaidarenko)
  • CLI: increase coverage of the "cli" module (Oleg Gaidarenko)

Bug fixes

  • (require|disallow)spacesIn*: add more invalid examples and fixes for rules (Henry Zhu)
  • disallowSpacesInsideArrayBrackets: fix error messages (Henry Zhu)
  • requireSpacesInsideArrayBrackets: comments should be also taken into account (gero3)
  • disallowSpaceBeforeBinaryOperators: comments are allowed (gero3)
  • requireLineBreakAfterVariableAssignment: allow exception for init part of for loop (Henry Zhu)
  • (require|disallow)SpacesInsideArrayBrackets: use includeComments in token (Henry Zhu)
  • disallowAnonymousFunctions: remove errant "s" from error message (James Chin)
  • disallowDanglingUnderscores: Corrected rule name in assert message (Oswald Maskens)
  • Parsing: Extend estraverse rules to support both XJS and JSX (Henry Zhu)
  • (disallow/require)PaddingNewLinesAfterBlocks: Ignoring the end of files (Eli White)
  • requirePaddingNewLinesBeforeLineComments: Allow consecutive comments and firstAfterCurly exception (Eli White)

Misc

  • disallowSpacesInsideParentheses: fix es6 template literal token issues (Mike Sherov)
  • RequireAlignedObjectValues: use assertions (Mike Sherov)
  • DisallowMultipleLineBreaks: use assertions (Mike Sherov)
  • Tests: Move to spec folder (Joel Kemp)
  • Tests: Adding some more fix tests (Eli White)
  • Tests: move specs into a subdir so that tests, fixtures, and utilities aren't intermingled (Mike Sherov)
  • Misc: update dependencies (Oleg Gaidarenko)
  • JsFile: Make getTokens include comments (Eli White)
  • Assertions: Add fixing tests to several rules (Eli White)
  • Assertions: add tests for linesBetween (Mike Sherov)
  • Assertions: Make sure newlines get fixed (gero3)
  • TokenAssert: remove newline fixing logic duplication to prepare for further fixes (Mike Sherov)
  • TokenAssert: simplify and strengthen linesBetween rules (Mike Sherov)
  • Token Assert: normalize whiteSpace assertions to match line assertions (Mike Sherov)
  • requireLineFeedAtFileEnd: make use of assert (gero3)
  • Don't trim whitespace in markdown-files (Simen Bekkhus)
  • Cleanup: use this.getOptionName() for consistency, options variable (Henry Zhu)
  • Cleanup: use iterateTokensByTypeAndValue where appropriate (Mike Sherov)
  • Cleanup: remove archaic functions from JsFile (Mike Sherov)
  • Cleanup: remove usage of getComment(After|Before)Token (Mike Sherov)
  • Cleanup: remove redundant boolean check, use consistent error messages (Henry Zhu)
  • Cleanup: use iterateTokensByTypeAndValue and this.getOptionName() (Henry Zhu)
  • requireSpaceAfterKeywords: use token assert (Henry Zhu)
  • JsFile::getFirstTokenOnLine implementation (for indentation rules) (mdevils)
  • Replaces the 'colors' and 'supports-colors' packages with 'chalk'. (Joshua Appelman)
  • Fix various doc typos (Jérémie Astori)
  • requirePaddingNewLinesAfterBlockDeclarations / disallowPaddingNewLinesAfterBlockDeclarations Adding an option to specify lines for errors.assert.differentLine (Eli White)
  • JsFile: add getLineBreaks function to support future whitespace fixes (Mike Sherov)
  • Appveyor: freeze node version to 0.12.x (Alexej Yaroshevich)
  • requireCapitalizedComments: automatically except jscs comments (James Reggio)

Docs

  • Docs: Change "Values" and "Types" to grammatically correct forms (Shmavon Gazanchyan)
  • Docs: add reporter (sanemat)
  • Docs: less.js uses jscs (Bass Jobsen)
  • Docs: added Goodvidio to the list of adopters (Adonis K)
  • Fix types and descriptions in documentation (Shmavon Gazanchyan)

v1.11.3

11 Feb 15:49
Compare
Choose a tag to compare

Bug Fixes

  • JsFile: ensure getLinesWithCommentsRemoved does not alter future getComments calls. (Mike Sherov)

Misc.

  • modules/utils normalizePath: fixed test for windows env (Alexej Yaroshevich)

v1.11.2

10 Feb 13:57
Compare
Choose a tag to compare

Bug Fixes

  • validateIndentation: ignore empty module bodies (Mike Sherov)
  • Object rules: ignore ES5 getters/setters when appropriate. (Mike Sherov)
  • Ensure esprimaOptions is not mistaken for a rule (Yannick Croissant)

Infrastructure Changes

  • CI: Add AppVeyor (Adeel)

Misc.

  • Add @zxqfox to the list of maintainers (mdevils)

v1.11.1

09 Feb 15:23
Compare
Choose a tag to compare

New Rules / Rule Values

  • disallowSpaceAfterObjectKeys: implement ignoreSingleLine and ignoreMultiLine options (Henry Zhu)

Bug Fixes

  • disallowAllowSpacesInsideParentheses: reintroduce archaic "all" config option (Mike Sherov)
  • requireSpaceBetweenArguments: loosen rule restriction (Mike Sherov)
  • Object Key rules: ignore method syntax (Alexej Yaroshevich)
  • (require|disallow)TrailingComma: fixed error location (Alexej Yaroshevich)

Infrastructure Changes

  • Auto-generate: Move promisify to utils (Joel Kemp)

Misc.

  • JSHint: add unused true (Mike Sherov)
  • Updating rules to use File Traversal APIs. (Eli White)
  • Docs: Add website rebuild instructions to maintenance (Mike Sherov)

v1.11.0

06 Feb 13:34
Compare
Choose a tag to compare

Preset Updates

  • Preset: add "requireSpaceBetweenArguments" rule to all presets (Oleg Gaidarenko)
  • Presets: Remove use of outdated validateJSDoc rule (Joel Kemp)
  • Preset: Add "requireSpacesInsideParentheses" to jquery preset (Oleg Gaidarenko)
  • Preset: switch multipleVarDecl rule in airbnb preset (Martin Bohal)
  • Preset: change value of "requireDotNotation" rule for jquery preset (Oleg Gaidarenko)

New Config Options

  • Configuration: Auto-generation (Joel Kemp)
  • Config: Add support for custom Esprima options. (Chris Rebert)

New Rules / Rule Values

  • New Rule: disallowKeywordsInComments (Joe Sepi)
  • New Rules: (require|disallow)SpacesInsideBrackets (Mike Sherov)
  • validateIndentation: new rule value - includeEmptyLines (Jonathan Gawrych)
  • disallowTrailingWhitespace: new rule value - ignoreEmptyLines (Jonathan Gawrych)
  • New Rule: disallowCurlyBraces (Henry Zhu)
  • requireCapitalizedConstructors: accept list of exempt constructors (Sam L'ecuyer)
  • validateIndentation: exception to indentation rules for module pattern (Mike Sherov)

Bug Fixes

  • (require|disallow)SpacesInsideArrayBrackets: only check for ArrayExpressions (Mike Sherov)
  • JsFile: remove all duplicate tokens. (Mike Sherov)
  • ObjectExpression Rules: take into account shorthand syntax. (Mike Sherov)
  • disallowSpaceBeforeKeywords: don't report an error on back-to-back keywords (Mike Sherov)
  • requireParenthesesAroundIIFE: fix crash on semicolon-free IIFE (Yuheng Zhang)
  • Parsing: tolerate non-leading import statements (Chris Rebert)
  • requireCapitalizedComments: improve letter recognition (Mathias Bynens)
  • requireSpaces*: fix error message to 'Exactly one space required' (Henry Zhu)
  • StringChecker: leading hashbangs should still report correct error line numbers (Mike Sherov)
  • validateIndentation: don't check bracelets else indentation. (Mike Sherov)
  • validateIndentation: don't consider return when classifying break indentation (Mike Sherov)
  • validateIndentation: fix multiline while in doWhile statements (Mike Sherov)
  • validateIndentation: ensure pushes and pops are matching (Mike Sherov)
  • validateIndentation: ensure semicolon free indentations are on correct line (Mike Sherov)
  • SpaceBetweenArguments: catch call expression arguments (Oleg Gaidarenko)
  • token-assert: add check for document start to prevent crashes (Alexej Yaroshevich)
  • requireSpaceBeforeBlockStatements: reworded an error message (Alexej Yaroshevich)

Infrastructure Changes

  • js-file: added getCommentAfter/BeforeToken functions (Alexej Yaroshevich)
  • cleanup: remove lib/token-helper (Mike Sherov)
  • JsFile: move getLinesWithCommentsRemoved from comment-helper (Mike Sherov)

Misc

  • disallowSpacesInsideArrayBrackets: fix rule name in example (Gustavo Henke)
  • Misc: update dependencies (Oleg Gaidarenko)
  • various rules: use tokenAssert (Henry Zhu)
  • Speed up builds by using Docker-based Travis CI (Pavel Strashkin)
  • 100% code coverage on various files(Mike Sherov)
  • disallowSpace(Before | After)Keywords: more tests (Alexej Yaroshevich)
  • requireCurlyBrace: more tests (Alexej Yaroshevich)
  • CLI: correct JSDoc comment (Oleg Gaidarenko)
  • requireQuotedKeysInObjects: fixing file permissions (Joe Sepi)
  • Changelog: correct version number (Oleg Gaidarenko)
  • Docs: add missed commit to the changelog (Oleg Gaidarenko)
  • Misc: .editorconfig - fix for invalid indent_style value (Dmitriy Schekhovtsov)
  • Update regenerate to ~1.2.1 (Chris Rebert)
  • Add description to commander CLI help (Chris Rebert)

v1.10.0

15 Jan 05:28
Compare
Choose a tag to compare

Presets

  • 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)

New Rules

  • disallowSpacesInForStatement: Disallow spaces in between for statement (gero3)
  • requireSpacesInForStatement: Requires spaces inbetween for statement (gero3)
  • New rule: requireQuotedKeysInObjects (hpshelton)

New Rule Values

  • 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)

New CLI options

  • Configuration: ability to specify and query es3/es6 support in files. (Mike Sherov)

API

  • cli-config: add "getReporter" method (Oleg Gaidarenko)

Bug fixes

  • 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

  • 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)

Misc

  • 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)

1.9.0

23 Dec 20:59
Compare
Choose a tag to compare

Presets

  • Preset: update wikimedia preset (Timo Tijhof)
  • Preset: update crockford preset (Jackson Ray Hamilton)

New Rules

  • New Rules: (require | disallow)SpaceBetweenArguments (James Allardice)
  • New Rules: requireLineBreakAfterVariableAssignment (jdlrobson)
  • New Rules: disallowSemicolons (Christopher Cliff)

Bug Fixes

  • 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)

Infrastructure

  • 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

  • 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)

1.8.1

28 Nov 20:24
Compare
Choose a tag to compare
  • Assertions: always allow new lines in whitespaceBetween (Henry Zhu)
  • Tests: reorganization, full coverage for JsFile (mdevils)

1.8.0

26 Nov 16:11
Compare
Choose a tag to compare

Presets

  • Preset: Grunt (Joel Kemp)
  • Preset: remove "disallowMultipleLineBreaks" rule from crockford preset (Oleg Gaidarenko)

New Rules

  • New Rules: disallowOperatorBeforeLineBreak (jdlrobson)
  • New Rules: (require | disallow)PaddingNewlinesBeforeKeywords (Anton Vishnyak)
  • New Rules: disallowSpaceBeforeKeywords (Bryan Donovan)
  • New Rules: requireSpaceBeforeKeywords (Bryan Donovan)

New Options

  • 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)

New Rule Options

  • 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)

Bug Fixes

  • 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

  • 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)