3.0.0
Version 3.0.0 (2016-04-14):
Hell yeah! 3.0 is here. First and foremost we rewrote every... single... rule. We fixed a plentiful amount of bugs (most of which were found during refactoring those rules using CST). This provides us the opportunity to include autofix for complicated rules like the brand new disallowUnusedVariables
rule (see below).
Breaking Changes
If you aren't a plugin writer or support build extensions (like grunt or gulp), etc you don't have to worry about anything.
We didn't rename/remove any rules. All you should have to do to update is just bump the jscs
version in your package
version to 3.0.0
and be done with it.
Configuration
These following config options have been replaced in 3.0:
--esnext
(-e) // enabled by default--esprima
(-s) and--esprimaOptions
// babylon is the underlying CST parser--verbose
// also enabled by default to show rule name when there is an error
One thing to notice: the yandex
preset was removed. Since Yandex doesn't have official code style (don't look at the https://github.com/ymaps/codestyle), we were requested to remove it
One drawback from all these changes is that JSCS might be a little, just a little slower, so if you find any issues related to that - don't hesitate to drop us a line, or just drop us a line since we are all friendly :).
New rules
Since this release is about rewrite of internal design, we adding only four new rules (all of them were added by our contributors!).
[disallowUnusedVariables](http://jscs.info/rule/disallowUnusedVariables
) by Brian Schemp
That rule useful when you have var x = <whatever>
and you don't export that x
and don't use it. This rule will highlight that and remove it if you want.
[disallowSpacesInsideImportedObjectBraces](http://jscs.info/rule/disallowSpacesInsideImportedObjectBraces
) and [requireSpacesInsideImportedObjectBraces](http://jscs.info/rule/requireSpacesInsideImportedObjectBraces
) by Maks Sadowsky
When you need or don't need additional parentheses -
import /*–>*/{foo, bar}/*<–*/ from 'foo-bar';
[requireUseStrict](http://jscs.info/rule/requireUseStrict
) Erik Vold
Short and cool - ask you to use "use strict"
pragma on top of the file if you so desire.
[requireImportsAlphabetized](http://jscs.info/rule/requireImportsAlphabetized
) by Ray Hammond
Keeps your imports alphabetized, pretty handy way to keep your dependency in tidy state.
Presets
- Preset: allow URLs inside comments for airbnb (andreyvolokitin)
- Preset: add
requireSpaceBeforeObjectValues
rule to airbnb preset (Oleg Gaidarenko) - Preset: add
requireSpacesInsideImportedObjectBraces
to airbnb (Maks Sadowsky) - Preset: Add 'requireSpaceBetweenArguments' to google preset (Jon Merrifield)
Internal
There are a lot of internal changes but we like to keep this changelog short and tidy. We will continue to update this shortly.