jscsrc-guesser

    0.5.0 • Public • Published

    jscsrc-guesser – JSCS configuration guesser

    jscsrc-guesser is a tool that checks some code base and finds those JSCS rules the code base follows.

    This version emits rules for JSCS 2.2.*.

    Installation

    $ npm install -g jscsrc-guesser
    

    Usage

    Just run jscsrc-guesser with your code path(s) as argument(s):

    $ jscsrc-guesser bin/ lib/ tests/ > autogenerated.jscsrc
    

    You can also pass some optional arguments you could pass to jscs:

    $ jscsrc-guesser --esnext index.js > autogenerated.jscsrc
    

    Known limitations

    • disallowSpaceBeforeSemicolon is not tried with allExcept values
    • requireNamedUnassignedFunctions is not tried with allExcept values
    • requireSpacesInsideArrayBrackets is not tried with allExcept values
    • requireSpacesInsideObjectBrackets is not tried with allExcept values
    • validateCommentPosition is not tried with allExcept values
    • requireCapitalizedComments is only tried with value true
    • requireOperatorBeforeLineBreak is only tried with value true
    • disallowOperatorBeforeLineBreak is only tried with value true
    • disallowMultipleVarDecl is only tried with value true
    • disallowSpaceAfterObjectKeys is only tried with value true
    • disallowCommaBeforeLineBreak is only tried with value true
    • requirePaddingNewlinesInBlocks is only tried with value true
    • disallowNewlineBeforeBlockStatements is only tried with value true
    • requireNewlineBeforeBlockStatements is only tried with value true
    • disallowSpacesInsideParentheses is only tried with value true
    • requireSpacesInsideParentheses is only tried with value all
    • safeContextKeyword is only tried for value _this and self
    • maximumNumberOfLines is only tried with a fixed set of values (50, 100, 200, 500, 1000, 2000)
    • maximumLineLength is only tried with a fixed set of values (72, 75, 80, 90, 100, 120) and neither tab size nor exceptions
    • requireSpaceBeforeBlockStatements is only tried with a fixed set of values (1, 2, 3, 4, 5)
    • requireBlocksOnNewline is only tried with a fixed set of minimum lines (0, 1, 2, 3, 4, 5)
    • validateParameterSeparator is only tried with a fixed set of values (',', ' ,', ', ')
    • validateIndentation is not tried with all valid configurations
    • validateNewlineAfterArrayElements is not tried with all valid configurations
    • jsDoc is not tried at all

    Changelog

    0.5.0 (2015-12-15)

    • Update to JSCS 2.2.*

    0.4.0 (2015-12-02)

    • Update to JSCS 2.1.1

    0.3.0 (2015-11-29)

    • Fix JSCS invocation by setting maxErrs to Infinity
    • Update to JSCS 2.0

    0.2.0 (2015-11-20)

    • Don't include contradictory rules
    • Better handling of validateIndentation, maximumLineLength, requireAlignedObjectValues, validateLineBreaks, validateParameterSeparator
    • Update to JSCS 1.13

    0.1.1 (2015-04-25)

    • Fix JSCS invocation
    • Show errors emitted by JSCS
    • Add JSCS check to npm test pipeline

    0.1.0 (2015-04-22)

    • Initial version.

    Todo

    Fixes

    • Handle all different possible values for all rules
    • Fold multi-value options back to true

    Features

    • Emit YAML
    • Compare to presets or existing .jscsrc, jscs.json or .jscs.yaml file
    • Sort rules in output alphabetically
    • Add i18n
    • Check which rules checked successfully instead of which rules didn't fail
    • Handle rules which failed rarely (for example by interactively proposing to add them to the output)

    License

    AGPL

    Keywords

    Install

    npm i jscsrc-guesser

    DownloadsWeekly Downloads

    2

    Version

    0.5.0

    License

    AGPL-3.0

    Last publish

    Collaborators

    • avatar