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 withallExcept
values -
requireNamedUnassignedFunctions
is not tried withallExcept
values -
requireSpacesInsideArrayBrackets
is not tried withallExcept
values -
requireSpacesInsideObjectBrackets
is not tried withallExcept
values -
validateCommentPosition
is not tried withallExcept
values -
requireCapitalizedComments
is only tried with valuetrue
-
requireOperatorBeforeLineBreak
is only tried with valuetrue
-
disallowOperatorBeforeLineBreak
is only tried with valuetrue
-
disallowMultipleVarDecl
is only tried with valuetrue
-
disallowSpaceAfterObjectKeys
is only tried with valuetrue
-
disallowCommaBeforeLineBreak
is only tried with valuetrue
-
requirePaddingNewlinesInBlocks
is only tried with valuetrue
-
disallowNewlineBeforeBlockStatements
is only tried with valuetrue
-
requireNewlineBeforeBlockStatements
is only tried with valuetrue
-
disallowSpacesInsideParentheses
is only tried with valuetrue
-
requireSpacesInsideParentheses
is only tried with valueall
-
safeContextKeyword
is only tried for value_this
andself
-
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
toInfinity
- 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