JSCS v1.13.0 Release Notes

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