UNPKG

27.6 kBMarkdownView Raw
1# Versions
2
3
4## v1.9.0 - (29/11/2016)
5
6* Now ignoring the "coverage" directory by default.
7
8* New ES2015+ rules:
9 * Now disallowing `async` functions which have no `await` expression.
10 (`require-await`)
11 * Added new Flow-related rule, applied only to files with the `@flow`
12 annotation, so it doesn't become intrusive:
13 * Now disallowing the use of primitive constructors as types, such as
14 `Boolean`, `Number` and `String`.
15 (`flowtype/no-primitive-constructor-types`)
16
17* New style rule:
18 * Now enforcing capitalization of the first letter of a comment.
19 (`capitalized-comments`)
20
21* Updated `@novivia/babel` dependency to v0.0.5.
22
23
24## v1.8.1 - (18/11/2016)
25
26* Updated `eslint-plugin-babel` dependency to v4.
27
28
29## v1.8.0 - (14/11/2016)
30
31* New ES2015+ rule:
32 * Now disallowing unnecessary `return await`. (`no-return-await`)
33
34* New React rule:
35 * Now validating whitespace in and around the JSX opening and closing
36 brackets. (`react/jsx-tag-spacing`)
37
38* Updated `eslint-plugin-jsx-a11y` dependency to v3.
39
40
41## v1.7.0 - (04/11/2016)
42
43* Now recognizing Jasmine global variables.
44
45* Removed ES2015+ rule:
46 * `prefer-reflect` was deprecated. See
47 http://eslint.org/blog/2016/10/eslint-v3.9.0-released#deprecated-rules
48
49* New global rule:
50 * Now disallowing redundant return statements. (`no-useless-return`)
51
52* New ES2015+ rule:
53 * Now preventing the use of a default export as a locally named import.
54 (`import/no-named-default`)
55
56* Removed dependencies:
57 * `babel-cli`
58 * `babel-plugin-syntax-trailing-function-commas`
59 * `babel-plugin-transform-es2015-destructuring`
60 * `babel-plugin-transform-es2015-modules-commonjs`
61 * `babel-plugin-transform-es2015-parameters`
62 * `babel-register`
63
64* Updated dependencies:
65 * `@novivia/build-module` to v0.5.
66 * `eslint-plugin-node` to v3.
67
68
69## v1.6.0 - (27/10/2016)
70
71* Now officially requiring Node 4+ and npm 3+ to work.
72* Now recognizing Jest global variables.
73
74* New ES2015+ rules:
75 * Now ensuring that inside a `then()` or a `catch()` we always `return` or
76 `throw` a raw value instead of wrapping in `Promise.resolve` or
77 `Promise.reject`. (`promise/no-return-wrap`)
78 * Added new Flow-related rule, applied only to files with the `@flow`
79 annotation, so it doesn't become intrusive:
80 * Now enforcing consistent separators between properties in object
81 types. (`flowtype/object-type-delimiter`)
82
83
84## v1.5.0 - (17/10/2016)
85
86* New global rule:
87 * Now enforcing function names to match the name of the variable or property
88 to which they are assigned. (`func-name-matching`)
89
90* Updated dependencies:
91 * `eslint-plugin-lodash` to v2.
92 * `eslint-plugin-promise` to v3.
93
94
95## v1.4.0 - (29/09/2016)
96
97* New global rule:
98 * Now enforcing `module.exports =` over `exports =`. (`node/exports-style`)
99
100* New frontend rule:
101 * Now forbidding require() calls with expressions.
102 (`import/no-dynamic-require`)
103
104* New ES2015+ rules:
105 * Now forbidding modules to have too many dependencies, maximum set at 30
106 for now. (`import/max-dependencies`)
107 * Now forbidding import of modules using absolute paths.
108 (`import/no-absolute-path`)
109 * Now forbidding Webpack loader syntax in imports, save for frontend.
110 (`import/no-webpack-loader-syntax`)
111 * Added new Flow-related rules, applied only to files with the `@flow`
112 annotation, so it doesn't become intrusive:
113 * Now checking for duplicate properties in object annotations.
114 (`flowtype/no-dupe-keys`)
115 * Now enforcing the sorting of object annotations.
116 (`flowtype/sort-keys`)
117
118* New React rules:
119 * Added React-related exceptions to the `class-methods-use-this` rule.
120 * Now preventing the passing of children as props.
121 (`react/no-children-prop`)
122 * Now preventing invalid characters from appearing in markup.
123 (`react/no-unescaped-entities`)
124
125* Addressed an issue where the "frontend" configuration would not properly
126 include the "import" plugin.
127
128* Updated dependencies:
129 * `babel-eslint` to v7.
130 * `eslint-plugin-import` to v2.
131
132
133## v1.3.0 - (12/09/2016)
134
135* Updated global rule:
136 * Now enforcing indentation levels in function declarations and function
137 expressions. (`indent`)
138
139* New ES2015+ rules:
140 * Added new Flow-related rules, applied only to files with the `@flow`
141 annotation, so it doesn't become intrusive:
142 * Now enforcing the use of "boolean" for boolean type annotations.
143 (`flowtype/boolean-style`)
144 * Now enforcing consistent use of trailing commas in Object and Tuple
145 annotations. (`flowtype/delimiter-dangle`)
146 * Now enforcing consistent use of semicolons after type aliases.
147 (`flowtype/semi`)
148
149* New style rules:
150 * Now disallowing newlines before directives and requiring them after
151 directives. (`lines-around-directive`)
152 * Now disallowing `parseInt()` in favor of binary, octal, and hexadecimal
153 literals. (`prefer-numeric-literals`)
154
155
156## v1.2.0 - (01/09/2016)
157
158* New global rules:
159 * Now disallowing negating the left operand of relational operators.
160 (`no-unsafe-negation`)
161 * Now enforcing comparing `typeof` expressions against valid strings.
162 (`valid-typeof`)
163
164* New frontend rule:
165 * Now forbidding the use of Node.js builtin modules, except `path`.
166 (`import/no-nodejs-modules`)
167
168* New ES2015+ rules:
169 * Now enforcing that class methods utilize `this`.
170 (`class-methods-use-this`)
171 * Now disallowing template literal placeholder syntax in regular strings.
172 (`no-template-curly-in-string`)
173 * Added new Flow-related rules, applied only to files with the `@flow`
174 annotation, so it doesn't become intrusive:
175 * Now enforcing consistent spacing before the opening of generic type
176 annotation parameters. (`flowtype/space-before-generic-bracket`)
177 * Now enforcing consistent spacing around union and intersection type
178 separators. (`flowtype/union-intersection-spacing`)
179
180* New style rule:
181 * Now requiring object keys to be sorted. (`sort-keys`)
182
183* New React rules:
184 * Now attempting to prevent problems with children and
185 `dangerouslySetInnerHTML`. (`react/no-danger-with-children`)
186 * Now preventing definitions of unused prop types.
187 (`react/no-unused-prop-types`)
188 * Now enforcing the value of the style prop to be an object.
189 (`react/style-prop-object`)
190 * New accessibility rules:
191 * Now enforcing all anchors to contain accessible content.
192 (`jsx-a11y/anchor-has-content`)
193 * Now enforcing a clickable non-interactive element has at least one
194 keyboard event listener. (`jsx-a11y/click-events-have-key-events`)
195 * Now enforcing that non-interactive elements have no interactive
196 handlers. (`jsx-a11y/no-static-element-interactions`)
197
198* Removed `eslint-plugin-flow-vars` dependency.
199* Updated `eslint-plugin-react` dependency to v6.
200
201
202## v1.1.1 - (01/08/2016)
203
204* Addressed an issue where non-ES2015 code would not have the proper
205 configuration for the `no-magic-numbers` rule.
206* Removed the `jsx-require-extension` React rule since it was redundant with
207 the `extensions` import rule.
208
209* Updated `eslint-plugin-react` dependency to v6-rc.1.
210
211
212## v1.1.0 - (29/07/2016)
213
214* New global rule:
215 * Now disallowing tab characters in files. (`no-tabs`)
216
217* Updated rules:
218 * Now requiring no spacing for `MemberExpression` in the `indent` rule.
219
220* Updated `eslint-plugin-react` dependency to v6-rc.0.
221
222
223## v1.0.0 - (25/07/2016)
224
225* Project now maintained under the Novivia scope (@novivia) and renamed to
226 "linter". (formerly "eslint-myrules") Options must now be specified
227 using the `novivia-linter` field in the package manifest or using a
228 `.novivialinterrc` file.
229
230* New global rules:
231 * Now enforcing return statements in callbacks of array’s methods.
232 (`array-callback-return`)
233 * Now requiring or disallow named function expressions. (`func-names`)
234 * Now ensuring that files begin with the Novivia header. (`header/header`)
235 * Now enforcing consistent spacing before and after keywords.
236 (`keyword-spacing`)
237 * Now validating the file name against the default exported value in the
238 module. (`filenames/match-exported`)
239 * Now enforcing a certain file naming convention.
240 (`filenames/match-regex`)
241 * Now enforcing a maximum file length of 500 lines, excluding whitespace
242 and comments. (`max-lines`)
243 * Now enforcing a maximum number of statements allowed per line.
244 (`max-statements-per-line`)
245 * Now requiring an empty line before return statements.
246 (`newline-before-return`)
247 * Now disallowing deprecated APIs. (`node/no-deprecated-api`)
248 * Now disallowing unnecessary nested blocks. (`no-lone-blocks`)
249 * Now disallowing unmodified conditions of loops.
250 (`no-unmodified-loop-condition`)
251 * Now disallowing control flow statements in finally blocks.
252 (`no-unsafe-finally`)
253 * Now disallowing unnecessary computed property keys on objects.
254 (`no-useless-computed-key`)
255 * Now disallowing unnecessary escape usage. (`no-useless-escape`)
256 * Now disallowing renaming import, export, and destructured assignments to
257 the same name. (`no-useless-rename`)
258 * Now disallowing whitespace before properties.
259 (`no-whitespace-before-property`)
260 * Now enforcing placing object properties on separate lines.
261 (`object-property-newline`)
262 * Now enforcing spacing between rest and spread operators and their
263 expressions. (`rest-spread-spacing`)
264 * Now suggesting the correct usage for the shebang. (`node/shebang`)
265 * Now disallowing the Unicode Byte Order Mark (BOM). (`unicode-bom`)
266 * Security-oriented rules:
267 * Now detecting calls to `Buffer` with the `noassert` flag set.
268 (`security/detect-buffer-noassert`)
269 * Now detecting instances of `child_process` and non-literal
270 `cp.exec()`. (`security/detect-child-process`)
271 * Now detecting variables in the filename argument of `fs` calls.
272 (`security/detect-non-literal-fs-filename`)
273 * Now detecting dynamic regular expressions.
274 (`security/detect-non-literal-regexp`)
275 * Now detecting insecure comparisons.
276 (`security/detect-possible-timing-attacks`)
277 * Now detecting if `pseudoRandomBytes()` is in use.
278 (`security/detect-pseudoRandomBytes`)
279 * Now locating potentially unsafe regular expressions.
280 (`security/detect-unsafe-regex`)
281
282 * Lo-Dash specific rules:
283 * Now disallowing `thisArg` for Lo-Dash method callbacks.
284 (`lodash/callback-binding`)
285 * Now enforcing a specific chain style. (`lodash/chain-style`)
286 * Now ensuring values returned from collection methods are used
287 properly. (`lodash/collection-method-value`)
288 * Now ensuring a value is always returned in iteratees of Lo-Dash
289 collection methods that aren't `forEach`.
290 (`lodash/collection-return`)
291 * Now enforce a specific function composition direction.
292 (`lodash/consistent-compose`)
293 * Now enforcing `_.identity` shorthand syntax.
294 (`lodash/identity-shorthand`)
295 * Now enforcing `_.matches` property shorthand syntax.
296 (`lodash/matches-prop-shorthand`)
297 * Now enforcing `_.matches` shorthand syntax.
298 (`lodash/matches-shorthand`)
299 * Now disallowing the use of `.commit()` on chains that should end
300 with `.value()`. (`lodash/no-commit`)
301 * Now disallowing the use of `.value()` on chains that have already
302 ended. (`lodash/no-double-unwrap`)
303 * Now disallowing superfluous arguments on Lo-Dash methods with a
304 specified arity. (`lodash/no-extra-args`)
305 * Now disallowing chaining syntax for single methods.
306 (`lodash/no-single-chain`)
307 * Now enforcing a specific path style for methods like `get` and
308 `property`. (`lodash/path-style`)
309 * Now enforcing Lo-Dash chains over nested Lo-Dash calls.
310 (`lodash/prefer-chain`)
311 * Now enforcing `_.compact` over `_.filter` for only truthy values.
312 (`lodash/prefer-compact`)
313 * Now enforcing `_.filter` over `_.forEach` with an if statement
314 inside. (`lodash/prefer-filter`)
315 * Now enforcing `_.flatMap` over consecutive map and `_.flatten`.
316 (`lodash/prefer-flat-map`)
317 * Now enforcing using `_.get` or `_.has` over expression chains like
318 `a && a.b && a.b.c`. (`lodash/prefer-get`)
319 * Now enforcing using `_.invoke` over `_.map` with a method call
320 inside. (`lodash/prefer-invoke-map`)
321 * Now enforcing using `_.isNil` over checks for both null and
322 undefined. (`lodash/prefer-is-nil`)
323 * Now enforcing using `_.map` over `_.forEach` with a push inside.
324 (`lodash/prefer-map`)
325 * Now enforcing using `_.matches` over conditions like
326 `a.foo === 1 && a.bar === 2 && a.baz === 3`.
327 (`lodash/prefer-matches`)
328 * Now enforcing using `_.noop` over empty functions.
329 (`lodash/prefer-noop`)
330 * Now enforcing using `_.overSome` and `_.overEvery` over checks with
331 `&&` and `||` for methods that have a boolean check iteratee.
332 (`lodash/prefer-over-quantifier`)
333 * Now enforcing using `_.reject` over `_.filter` with `!(expression)`
334 or `x.prop1 !== value`. (`lodash/prefer-reject`)
335 * Now enforcing using `_.prototype.thru` in the chain and not calling
336 functions in the initial value. (`lodash/prefer-thru`)
337 * Now enforcing using `_.times` over `_.map` without using the
338 iteratee's arguments. (`lodash/prefer-times`)
339 * Now enforcing using array and string methods in the chain and no
340 the initial value. (`lodash/prefer-wrapper-method`)
341 * Now enforcing using main method names instead of aliases.
342 (`lodash/preferred-alias`)
343 * Now enforcing property shorthand syntax. (`lodash/prop-shorthand`)
344 * Now preventing chaining without evaluation via `value()` or
345 non-chainable methods like `max()`. (`lodash/unwrap`)
346
347* New frontend rule:
348 * Now preventing Lo-Dash and React-Bootstrap from being completely
349 imported. (`lean-imports/import`)
350
351* New ES2015+ rules:
352 * Now ensuring a default export is present, given a default import.
353 (`import/default`)
354 * Now reporting any invalid exports such as re-exports of the same name.
355 (`import/export`)
356 * Now ensuring consistent use of file extension within the import path.
357 (`import/extensions`)
358 * Now ensuring all imports appear before other statements.
359 (`import/imports-first`)
360 * Now ensuring named imports correspond to a named export in the remote
361 file. (`import/named`)
362 * Now enforcing a newline after import statements.
363 (`import/newline-after-import`)
364 * Now disallowing modifying variables of class declarations.
365 (`no-class-assign`)
366 * Now disallowing arrow functions where they could be confused with
367 comparisons. (`no-confusing-arrow`)
368 * Now disallowing constant expressions in conditions.
369 (`no-constant-condition`)
370 * Now reporting imported names marked with @deprecated documentation tag.
371 (`import/no-deprecated`)
372 * Now disallowing duplicate imports. (`no-duplicate-imports`)
373 * Now forbidding the use of mutable exports with `var` or `let`.
374 (`import/no-mutable-exports`)
375 * Now disallowing the `Symbol` constructor. (`no-new-symbol`)
376 * Now ensuring imported namespaces contain dereferenced properties as they
377 are dereferenced. (`import/no-namespace`)
378 * Now ensuring imports point to a file/module that can be resolved.
379 (`import/no-unresolved`)
380 * Now disallowing unnecessary constructor. (`no-useless-constructor`)
381 * Now suggesting using the rest parameters instead of arguments.
382 (`prefer-rest-params`)
383 * Now disallowing usage of spacing in template strings.
384 (`template-curly-spacing`)
385 * Now enforcing spacing around the `*` in `yield*` expressions.
386 (`yield-star-spacing`)
387 * Now ensuring that a new promise or a value is returned inside a `then()`.
388 (`promise/always-return`)
389 * Now ensuring that each time a `then()` is applied to a promise, a
390 `catch()` is applied as well. (`promise/catch-or-return`)
391 * Now enforcing standard parameter names for Promise constructors.
392 (`promise/param-names`)
393 * Added new Flow-related rules, applied only to files with the `@flow`
394 annotation, so it doesn't become intrusive:
395 * Now requiring that all function parameters have type annotations.
396 (`flowtype/require-parameter-type`)
397 * Now requiring that functions have return type annotation.
398 (`flowtype/require-return-type`)
399 * Now verifying that files have a valid `@flow` annotation. It will
400 report annotations with typos (such as `// @floww`) or not placed at
401 the top of the file. (`flowtype/require-valid-file-annotation`)
402 * Now enforcing consistent spacing after the type annotation colon.
403 (`flowtype/space-after-type-colon`)
404 * Now enforcing consistent spacing before the type annotation colon.
405 (`flowtype/space-before-type-colon`)
406 * Now enforcing a consistent naming pattern for type aliases.
407 (`flowtype/type-id-match`)
408
409* New style rules:
410 * Now requiring a newline after each call in a method chain.
411 (`newline-per-chained-call`)
412 * Now disallowing nested ternary expressions. (`no-nested-ternary`)
413 * Now disallowing spacing between function identifiers and their
414 applications. (`no-spaced-func`)
415 * Now disallowing a space before function parenthesis.
416 (`space-before-function-paren`)
417
418* New React rules:
419 * Now disallowing spaces around equal signs in JSX attributes.
420 (`react/jsx-equals-spacing`)
421 * Now restricting file extensions that may contain JSX to `.jsx`.
422 (`react/jsx-filename-extension`)
423 * Now preventing the usage of unsafe `target="_blank"`.
424 (`react/jsx-no-target-blank`)
425 * Now preventing comments from being inserted as text nodes.
426 (`react/jsx-no-comment-textnodes`)
427 * Now enforcing the position of the first prop in JSX.
428 (`react/jsx-first-prop-new-line`)
429 * Now enforcing alphabetical props sorting. (`react/jsx-sort-props`)
430 * Now validating spacing before closing bracket in JSX.
431 (`react/jsx-space-before-closing`)
432 * Now preventing usage of the return value of `React.render`.
433 (`react/no-render-return-value`)
434 * Now enforcing stateless React components to be written as pure
435 functions. (`react/prefer-stateless-function`)
436 * Now enforcing React components to have a `shouldComponentUpdate` method.
437 (`react/require-optimization`)
438 * Now enforcing ES2015+ classes extending `React.Component` to return
439 a value in their render function. (`react/require-render-return`)
440
441* Updated rules:
442 * Reduced the minimum identifier length to 2 in the `id-length` rule, as
443 there were too many relevant 3-letter identifiers.
444 * Now ignoring array indexes in the `no-magic-numbers` rule.
445
446* Removed rules:
447 * `no-negated-condition`
448
449* New dependencies:
450 * `@novivia/open-sourcer`
451 * `babel-cli`.
452 * `babel-plugin-syntax-trailing-function-commas`.
453 * `babel-plugin-transform-es2015-destructuring`.
454 * `babel-plugin-transform-es2015-modules-commonjs`.
455 * `babel-plugin-transform-es2015-parameters`.
456 * `babel-register`.
457 * `eslint-plugin-filenames`.
458 * `eslint-plugin-flowtype`.
459 * `eslint-plugin-header`.
460 * `eslint-plugin-import`.
461 * `eslint-plugin-jsx-a11y`.
462 * `eslint-plugin-lean-imports`.
463 * `eslint-plugin-lodash`.
464 * `eslint-plugin-markdown`.
465 * `eslint-plugin-new-with-error`.
466 * `eslint-plugin-node`.
467 * `eslint-plugin-promise`.
468 * `eslint-plugin-security`.
469 * `eslint-plugin-you-dont-need-lodash-underscore`.
470
471* Updated dependencies:
472 * `@novivia/build-module` to v0.3.
473 * `babel-eslint` to v6.
474 * `eslint` to v3.
475 * `eslint-plugin-flow-vars` to v0.4.
476 * `eslint-plugin-react` to v6-alpha.2.
477
478
479## v0.6.3 - (13/01/2016)
480
481* Updated `babel-eslint` to v5-beta6.
482
483
484## v0.6.2 - (12/01/2016)
485
486* Updated rule:
487 * No longer enforcing the use of `const` outside ES2015 environments for the
488 `no-magic-numbers` global rule.
489
490
491## v0.6.1 - (12/01/2016)
492
493* Fixed configuration mistake for the `jsx-handler-names` React rule.
494
495
496## v0.6.0 - (12/01/2016)
497
498* New global rule:
499 * Now disallowing the use of lexical declarations in `case`/`default`
500 clauses. (`no-case-declarations`)
501
502* New ES2015+ rule:
503 * Now disallowing the use of `await` in loops. (`no-await-in-loop`)
504
505* New style rule:
506 * Now requiring the use of the second argument for `parseInt`, unless it's
507 the value 10. (`radix`)
508
509* New React rules:
510 * Now ensuring that any component or prop methods used to handle events are
511 correctly prefixed. (`jsx-handler-names`)
512 * Now enforcing component indentation. (`jsx-indent`)
513 * Now pointing out missing key properties. (`jsx-key`)
514 * Now enforcing PascalCase for component names. (`jsx-pascal-case`)
515 * Now disallowing the use of deprecated React methods. (`no-deprecated`)
516 * Now disallowing the use of `isMounted`. (`no-is-mounted`)
517 * Now disallowing the use of strings for refs. (`no-string-refs`)
518
519* Updated rules:
520 * Now allowing `setState` calls in functions inside `componentDidUpdate`,
521 for the `no-did-update-set-state` React rule.
522 * Added the following exceptions to the `id-length` rule:
523 * `fs`
524 * `i`
525 * `j`
526 * `k`
527 * `log`
528
529* New dependency:
530 * `eslint-plugin-flow-vars`.
531
532* Updated dependency:
533 * `@auex/build-module` to v0.2.
534
535
536## v0.5.3 - (18/12/2015)
537
538* Updated `eslint-myrules-manager` to v0.5 to fix crash pertaining to recent
539 ESLint internal modification.
540
541
542## v0.5.2 - (06/11/2015)
543
544* Added the following exceptions to the `no-underscore-dangle` rule:
545 * `__DEV__`
546 * `__PRERENDER__`
547 * `__PROD__`
548 * `__STAGE__`
549 * `__TEST_ENV__`
550 * `_id`
551
552* Added the following exceptions to the `id-length` rule:
553 * `key`
554 * `src`
555 * `url`
556
557* Added an exception for `self` in the `no-shadow` rule.
558* Relaxed the format requirement for descriptions in the `valid-jsdoc` rule.
559* Added an exception for the `?` operator in the `operator-linebreak` style
560 rule. It now has to be at the end of a multi-line statement like all other
561 operators except for `:`. This is how it should already have been.
562
563
564## v0.5.1 - (05/11/2015)
565
566* Properly removed all leftovers from the removed
567 `eslint-plugin-shadow-exception` ESLint plugin.
568
569
570## v0.5.0 - (03/11/2015)
571
572* New ES2015 rules:
573 * Now disallowing arrow functions where a condition is expected.
574 (`no-arrow-condition`)
575 * Now enforcing proper arrow body style depending on body content.
576 (`arrow-body-style`)
577
578* Updated rules:
579 * Now only allowing 1 empty line to end a file when enforcing the
580 `no-multiple-empty-lines` style rule.
581
582## v0.4.0 - (29/10/2015)
583
584* New global rules:
585 * Now disallowing the use of magic numbers. (`no-magic-numbers`)
586 * Now disallowing the assignment of function expressions, except in the case
587 of arrow functions. (`func-style`)
588 * Now disallowing the use of undeclared variables, except if they're known
589 globals. (`no-undef`)
590 * Now disallowing dangling underscores in identifiers with the exception of
591 `_id`. (`no-underscore-dangle`)
592
593* New style rules:
594 * Now disallowing spaces inside of single line blocks. (`block-spacing`)
595 * Now disallowing negated conditions in lone if statements.
596 (`no-negated-condition`)
597 * Now requiring a space before all keywords. (`space-before-keywords`)
598 * Now requiring a space after all keywords. (`space-after-keywords`)
599
600* New ES2015 rules:
601 * Now disallowing duplicate names in class members.
602 (`no-dupe-class-members`)
603 * Now disallowing unnecessary concatenation of literals or template
604 literals. (`no-useless-concat`)
605 * Now disallowing empty destructuring patterns. (`no-empty-pattern`)
606 * Now suggesting to use arrow functions as callbacks.
607 (`prefer-arrow-callback`)
608 * Now suggesting to use template literals instead of strings concatenation.
609 (`prefer-template `)
610
611* New React rules:
612 * Now disallowing the direct mutation of `this.state`.
613 (`no-direct-mutation-state`)
614 * Now suggesting components to be ES2015 classes. (`prefer-es6-class`)
615 * Now enforcing the closing bracket location for JSX multiline elements.
616 (`jsx-closing-bracket-location`)
617 * Now validating a specific indentation style for props.
618 (`jsx-indent-props`)
619
620* Updated rules:
621 * Now ignoring object properties when enforcing the `id-length` global rule.
622 * Now allowing the following identifiers when enforcing the `id-length`
623 global rule:
624 * `_`
625 * `__`
626 * `db`
627 * `lot`
628
629 * Now allowing short-circuiting and ternary expressions in the
630 `no-unused-expressions` global rule.
631 * Now allowing comments at the start of arrays, array-likes, objects and
632 object-likes in the `lines-around-comment` style rule. (`allowArrayStart`
633 and `allowObjectStart`)
634 * Now expecting properties beginning with "on" to be last in a component's
635 `propTypes`. (`callbacksLast`)
636
637* Updated dependency:
638 * `eslint-myrules-manager` to v0.4 and adjusted configuration accordingly.
639
640
641## v0.3.0 - (19/08/2015)
642
643* Modified rules:
644 * Now ignoring URLs in the `max-len` rule.
645 * Now enforcing indentation for switch-cases and variable declarations in
646 the `indent` rule.
647
648* New rules:
649 * Now disallowing unnecessary `.call()` and `.apply()`. (`no-useless-call`)
650 * Now enforcing the use of `return` when executing a callback, unless it's
651 the last operation. (`callback-return`)
652
653* New ES2015 rules:
654 * Now enforcing arrow function spacing. (`arrow-spacing`)
655 * Now enforcing trailing commas on multiline arrays and objects.
656 (`comma-dangle`)
657 * Now disallowing the use of multiple spaces in all cases.
658 (`no-multi-spaces`)
659 * Now disallowing mixing regular variable and require declarations.
660 (`no-mixed-requires`)
661 * Now disallowing modifying variables of class declarations
662 (`no-class-assign`)
663 * Now disallowing modifying variables that are declared using `const`
664 (`no-const-assign`)
665 * Now disallowing the `this` keyword outside of classes or class-like
666 objects (`no-invalid-this`)
667 * Now disallowing reassignment of function parameters. (`no-param-reassign`)
668 * Now suggesting to use Reflect methods where applicable. (`prefer-reflect`)
669 * Now suggesting to use the spread operator instead of `.apply()`.
670 (`prefer-spread`)
671 * Now disallowing generator functions that do not have `yield`.
672 (`require-yield`)
673 * Now preventing the use of any `strict` directive. (`strict`)
674
675* Under the hood: Updated ESLint to 1.1, eslint-plugin-react to 3.2 and
676 eslint-plugin-babel to 2.0. As a result, added rules that were on by default
677 prior to ESLint 1.0.
678
679
680## v0.2.0 - (31/07/2015)
681
682* Package now scoped under @auex and published in private npm.
683* Added change log (This!)