Releases: jscs-dev/node-jscs
3.0.7
3.0.6
3.0.5
3.0.4
Version 3.0.4 (2016-06-04):
Fixed some bugs, correctly output CST errors plus improve speed and memory consumption
Bug fixes
- requireObjectKeysOnNewLine: do not break on object methods (Oleg Gaidarenko)
- Fix: Last method throw in requireObjectKeysOnNewLine (Alexey Yaroshevich)
- disallowQuotedKeysInObjects: ignore spread properties (Oleg Gaidarenko)
- maximumLineLength: correctly position error for comment nodes (Oleg Gaidarenko)
- disallowUnusedParams: notice AssignmentPattern nodes (Oleg Gaidarenko)
- disallowPaddingNewlinesBeforeKeywords: should not ignore comments (Oleg Gaidarenko)
- disallowObjectKeysOnNewLine: correct error message (Oleg Gaidarenko)
Misc
- Misc: make linters happy (Oleg Gaidarenko)
- Misc: add node 6 to travis (Oleg Gaidarenko)
- Misc: do not modify CST in check mode (#2252) (Oleg Gaidarenko)
- Misc: remove rules "grouping" (Oleg Gaidarenko)
- Misc: bump cst version (Oleg Gaidarenko)
- Tests: remove mocha
.only
call (Oleg Gaidarenko) - Misc: parallelizing build on travis (Alexey Yaroshevich)
- Misc: Set higher timeout for config generator tests (Alexey Yaroshevich)
- Build: update cst to 0.3.0 (Henry Zhu)
- Errors: add ugly exception for
validateQuoteMarks
of position calc (Oleg Gaidarenko) - Errors: always add to
line
andcolumn
properties (Oleg Gaidarenko)
Docs
3.0.3
3.0.2
3.0.1
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.
2.11.0
Version 2.11.0 (2016-03-01):
Spring release! Yeah, yeah, technically spring only comes in middle of the March (you nerds, you), but we're coming to you a bit earlier!
Anyways, there are three new rules, a couple of changes for the airbnb
preset and important fixes for disallowSpacesInsideTemplateStringPlaceholders
and validateQuoteMarks
(for all you ES7 lovers).
New Rules
requireSpaceBeforeDestructuredValues
by Maks Sadowsky
Enforces colon spacing after destructuring assignment i.e. requireSpaceBeforeObjectValues
but for destructuring.
// good
const { String: EmberString } = Ember;
// bad
const { String:EmberString } = Ember;
disallowArrayDestructuringReturn
by Maks Sadowsky
Enforces the 5:3 verse of airbnb code style, which prohibits use of array destructuring for thy CallExpressions
.
// God is on your side
const { left, right } = processInput(input);
// Devil is on your shoulder!
const [left, __, top] = processInput(input);
requireNewlineBeforeSingleStatementsInIf
by Brian Schemp
Enforces using newlines in your parenthesesless code.
// Cool stairs brah
if (x)
doX();
else
doY();
// Just how could you have "X" and "Y"'s on the same line?!
if (x) doX();
else doY();
Presets
- Preset: ease up on
requireCamelCaseOrUpperCaseIdentifiers
in airbnb (Oleg Gaidarenko) - Preset: add
disallowArrayDestructuringReturn
to airbnb preset (Maks Sadowsky)
Bug fixes
disallowSpacesInsideTemplateStringPlaceholders
: check template literal (ikokostya)validateQuoteMarks
: do not throw on es7 decorators (Oleg Gaidarenko)
Other commits (as always) are omitted, since they're all about internal stuff and we care about your viewing pleasure.