UNPKG

135 kBPlain TextView Raw
12021.03.15, v15.7.2
2
3fix:
4- fix(putout) remove-useless-types-from-constants: on -> off (not for TS)
5
6
7
82021.03.12, v15.7.1
9
10fix:
11- fix(putout) convert-any-to-primitive -> remove-useless-types-from-constants
12
13
14feature:
15- feature(@putout/plugin-convert-any-to-primitive) simplify: rm bigFirst
16
17
18
192021.03.12, v15.7.0
20
21feature:
22- feature(@putout/plugin-convert-any-to-primitive) add
23
24
25
262021.03.12, v15.6.0
27
28feature:
29- feature(package) @putout/engine-processor v3.0.0
30- feature(package) @putout/engine-loader v4.0.0
31- feature(@putout/engine-processor) drop support of node < 14
32- feature(package) @putout/engine-loader v4.0.0
33- feature(@putout/engine-loader) drop support of node < 14
34- feature(@putout/compare) add support of exportKind
35- feature(@putout/engine-loader) add plugin validation
36- feature(@putout/compare) add support of typescript
37- feature(@putout/engine-parser) template: enable typescript
38- feature(@putout/plugin-remove-useless-await) add support of Promise constructor, and methods
39- feature(@putout/plugin-remove-useless-await) add support of typescript Promise generic
40- feature(@putout/plugin-tape) add convert-ok-to-match
41
42
43
442021.03.09, v15.5.1
45
46fix:
47- fix(putout) mjs: remove disable of strict-mode/add
48
49
50feature:
51- feature(@putout/processor-css) stylelint-config-standard v21.0.0
52- feature(@putout/plugin-strict-mode) add support of top level await
53
54
55
562021.03.08, v15.5.0
57
58fix:
59- fix(eslint-plugin-putout) single-property-destructuring: add support of ","
60- fix(@putout/operate) rm Changelog
61- fix(@putout/plugin-declare-udnefined-variables) report: Readable
62- chore(@putout/plugin-declare-udnefined-variables) fixture: rm " "
63
64
65feature:
66- feature(@putout/plugin-remove-useless-await) add suppoort of not async functions
67- feature(putout) bin: disable remove-empty/import, ESM: disable strict-mode/add
68- feature(eslint-plugin-putout) single-property-destructuring: add support of ImportDeclaration
69- feature(eslint-plugin-putout) ide: remove-empty/block -> remove-empty
70- feature(package) lerna v4.0.0
71- feature(@putout/plugin-declare-undefined-variables) add support of tryCatch, tryToCatch
72- feature(@putout/plugin-convert-esm-to-commonjs) add support of @putout/plugin-declare-undefined-variables
73- feature(@putout/plugin-declare-undefined-variables) add support of Readable.from
74
75
76
772021.03.01, v15.4.3
78
79feature:
80- feature(putout) rm array-union
81
82
83
842021.03.01, v15.4.2
85
86feature:
87- feature(package) @putout/plugin-madrun v10.0.0
88- feature(@putout/plugin-madrun) remove add-fresh-lint
89
90
91
922021.02.28, v15.4.1
93
94fix:
95- fix(putout) remove-duplicates-interface-keys -> remove-duplicate-interface-keys
96- fix(@putout/test) bin: dynamic import -> import
97
98
99feature:
100- feature(package) acorn-stage3 v4.0.0
101- feature(package) acorn v8.0.5
102
103
104
1052021.02.28, v15.4.0
106
107fix:
108- fix(@putout/plugin-declare-undefined-variables) crawl after declare
109- fix(@putout/plugin-remove-useless-escape) false positives on strings with emoji but without escaping
110
111
112feature:
113- feature(@putout/plugin-convert-assignment-to-arrow-function) add
114- feature(@putout/plugin-remove-useless-escape) template literal: add support of emoji
115- feature(eslint-plugin-putout) objects-braces-inside-array: add badStart variable
116- feature(@putout/plugin-remove-useless-escape) speed up: add early return when no escape: 1m12.388s -> 1m6.770s on Mac OS
117- feature(eslint-plugin-putout) html: add env browser
118- feature(@putout/test) add noReportAfterTransform
119- feature(@putout/plugin-remove-useless-escape) add support of emoji
120- feature(@putout/plugin-madrun) add set-report-lcov
121
122
123
1242021.02.23, v15.3.1
125
126fix:
127- feature(package) enabled fixed @putout/plugin-remove-duplicate-interface-keys v3.0.0 (benajmn/recast#868)
128
129
130feature:
131- feature(package) enabled fixed @putout/plugin-remove-duplicate-interface-keys v3.0.0 (benajmn/recast#868)
132- feature(@putout/plugin-remove-duplicate-interface-keys) drop support of node < 14
133- feature(@putout/test) bin: convert to ESM
134- feature(package) supertape v5.0.0
135
136
137
1382021.02.22, v15.3.0
139
140feature:
141- feature(@putout/operate) add getPathAfterImports
142- feature(package) @putout/plugin-convert-commonjs-to-esm v5.0.0
143- feature(@putout/plugin-convert-commonjs-to-esm) add ability to declare commonjs variables
144- feature(putout) speed up start time: 0m2.071s -> 0m1.637s
145- feature(@putout/cli-validate-args) move out from putout
146- feature(@putout/cli-keypress) rename: @putout/keypress -> @putout/cli-keypress
147
148
149
1502021.02.22, v15.2.0
151
152fix:
153- fix(@putout/plugin-remove-unused-expressions) rm log
154
155
156feature:
157- feature(@putout/plugin-merge-destructuring-properties) add support of removed node
158- feature(@putout/plugin-convert-mock-require-to-mock-import) add
159- feature(@putout/plugin-remove-unused-expressions) add support of options
160
161
162
1632021.02.18, v15.1.2
164
165feature:
166- feature(package) ci-info v3.1.1
167- feature(package) ci-info v3.1.1
168
169
170
1712021.02.15, v15.1.1
172
173fix:
174- fix(putout) .putoutcache -> cache
175- feature(@putout/processor-css) return unchanged source when fix false
176
177
178feature:
179- feature(package) @putout/operate v6.0.0
180- feature(@putout/processor-html) add ability to handle empty script
181- feature(@putout/processor-css) return unchanged source when fix false
182
183
184
1852021.02.12, v15.1.0
186
187fix:
188- (@putout/process-html) no content inside script tag
189
190feature:
191- (putout) add ability to handle crash of processor
192- (@putout/engine-loader) loadProcessors: add support of passing function, similar to loadPlugins
193
194
1952021.02.12, v15.0.2
196
197fix:
198- (putout) parse-options: read rules from dir: never called after reading codemods
199
200
2012021.02.11, v15.0.1
202
203feature:
204- feature(putout) parse-options: speed up: 0m37.367s -> 0m36.347s
205
206
207
2082021.02.11, v15.0.0
209
210fix:
211- fix(help) .putoutcache -> cache
212
213
214feature:
215- feature(putout) remove-duplicate-interface-keys: removed from dependency after being disabled for a long time
216- feature(putout) apply-nullish-coalescing: remove from default install after a long time being disabled
217- feature(putout) madrun/convert-nyc-to-c8: enable by default
218- feature(package) @putout/plugin-gitignore v3.0.0
219- feature(@putout/plugin-gitignore) rm .putoutcache
220
221
222
2232021.02.11, v14.5.0
224
225fix:
226- (help) .putoutcache -> cache
227
228feature:
229- (package) @putout/plugin-gitignore v3.0.0
230- (@putout/plugin-gitignore) rm .putoutcache
231
232
2332021.02.11, v14.4.0
234
235feature:
236- feature(package) @putout/processor-html v1.0.0
237- feature(@putout/processor-html) add
238
239
240
2412021.02.10, v14.3.0
242
243fix:
244- feature(putout) cli: --fix: speed up: look at cache first, and if there is no places - can read from cache
245
246
247feature:
248- feature(putout) cli: --fix: speed up: look at cache first, and if there is no places - can read from cache
249- feature(putout) cli: cache-files: mv to node_modules/.cache
250- feature(@putout/plugin-declare-undefined-variables) simplify: getAllBindings -> hasBinding
251- feature(@putout/plugin-convert-commonjs-to-esm) require: simplify: getAllBingins -> hasBinding
252
253
254
2552021.02.10, v14.2.1
256
257fix:
258- fix(putout) cli: cache-files: cold cache after first run
259
260
261feature:
262- feature(@putout/plugin-reuse-duplicate-init) add support of the same paths with changed values
263- feature(@putout/plugin-tape) declare-stub: speed up search of "test" declaration (https://github.com/jamiebuilds/babel-handbook/blob/master/translations/en/plugin-handbook.md#do-not-traverse-when-manual-lookup-will-do)
264- feature(@putout/plugin-tape) declare-stub: getAllBindings -> hasBinding
265
266
267
2682021.02.08, v14.2.0
269
270feature:
271- feature(package) @putout/plugin-tape v2.0.0
272- feature(@putout/plugin-tape) drop support of node < 14
273- feature(@putout/plugin-tape) add declare-stub
274- feature(package) tenko v2.0.0
275
276
277
2782021.02.07, v14.1.3
279
280fix:
281- (putout) cli: --disable-all: exit before write file
282
283
2842021.02.07, v14.1.2
285
286fix:
287- (putout) default option: madrun: disable convert-nyc-to-c8 rule
288
289
2902021.02.06, v14.1.1
291
292fix:
293- (@putout/plugin-madrun) npmignore: add coverage
294
295feature:
296- (package) @putout/plugin-npmignore v2.0.0
297- (@putout/plugin-npmignore) drop support of node < 14
298- (@putout/plugin-npmignore) add coverage
299- (@putout/plugin-madrun) convert-nyc-to-c8: add report support
300- (putout) madrun: convert-nyc-to-c8: disable
301
302
3032021.02.05, v14.1.0
304
305fix:
306- fix(@putout/test) false positive on noReport
307
308
309feature:
310- feature(putout) madrun: convert-nyc-to-c8: disable
311- feature(@putout/plugin-madrun) add convert-nyc-to-c8
312- feature(putout) bin: Commonjs -> ESM: prevent hang on errors
313- feature(@putout/plugin-gitignore) add coverage
314- feature(@putout/engine-loader) loadPlugins: rm useless memo
315
316
317
3182021.02.04, v14.0.4
319
320fix:
321- (@putout/engine-processor) postProcess: rawSource -> processedSource
322- (putout) uncomment v8-compile cache
323- (@putout/traverse) dependencies
324- (eslint-plugin-putout) multiple-properties-destructuring: ImportDeclaration: loc
325- (eslint-plugin-putout) objects-braces-inside-array: multiple objects
326
327feature:
328- (eslint-plugin-putout) multiple-properties-destructuring: add support of ImportDeclaration
329
330
3312021.01.30, v14.0.3
332
333fix:
334- (putout) prevent unhandled exeptions
335- (@putout/processor-ignore) windows line endings
336
337feature:
338- (@putout/plugin-gitignore) add yarn-error.log
339
340
3412021.01.28, v14.0.2
342
343fix:
344- (putout) VS Code support (#48)
345- (@putout/plugin-putout) shorten-putout-exports -> shorten-imports
346
347feature:
348- (@putout/engine-processor) drop memo: speed up
349
350
3512021.01.27, v14.0.1
352
353fix:
354- (putout) cache-files: rm useless logical operation: "" always possitive after condition
355
356feature:
357- (package) eslint-plugin-putout v7.0.0
358
359
3602021.01.26, v14.0.0
361
362feature:
363- (package) @putout/plugin-putout v6.0.0
364- (@putout/plugin-putout) drop support of putout < 14
365- (babel-plugin-putout) drop support of node < 14
366- (eslint-plugin-putout) drop support of node < 14
367- (putout) plugin-apply-shorthand-properties: remove from default install
368- (@putout/formatter-progress-bar) add ability to hide cursor
369- (@putout/formatter-memory) add ability to hide cursor
370- (putout) putout/lib/cli/process-file -> putout/process-file
371
372
3732021.01.26, v13.10.0
374
375fix:
376- (putout) parse-options: recursive read: throw when cannot parse config
377
378feature:
379- (putout) process-file: add ability to set match on inner formats
380
381
3822021.01.25, v13.9.1
383
384fix:
385- (putout) cli: get-files: windows
386
387
3882021.01.22, v13.9.0
389
390fix:
391- fix(gitignore) report
392- fix(eslint-plugin-putout) objects-braces-inside-array: false positives
393- feature(@putout/plugin-apply-destructuring) add support of second array element (prefer-destructuring in eslint do not fixes)
394
395
396feature:
397- feature(package) @putout/plugin-gitignore v2.0.1
398- feature(@putout/plugin-gitignore) drop support of putout < 13
399- feature(@putout/plugin-gitignore) merge 3 rules into one
400- feature(@putout/plugin-gitignore) add-nyc-output
401- feature(@putout/plugin-tape) convert-throws-to-try-catch: add support of two args
402- feature(@putout/plugin-remove-boolean-from-logical-expressions) add support of using booleans in conditions
403- feature(eslint-plugin-putout) improve support of objects-braces-inside-array
404- feature(eslint-plugin-putout) add "ide" to extend from to improve experiance in IDE
405- feature(eslint-plugin-putout) add objects-braces-inside-array
406- feature(@putout/plugin-apply-destructuring) add support of second array element (prefer-destructuring in eslint do not fixes)
407- feature(@putout/plugin-declare-undefined-variables) place name of a variable into report
408- feature(@putout/plugin-declare-undefined-variables) add ability to put ImportDeclarations on top
409- feature(@putout/plugin-declarations) mv out declarations
410- feature(@putout/plugin-declare-undefined-variables) add support of join
411
412
413
4142021.01.20, v13.8.0
415
416fix:
417- (@putout/processor-markdown) show errors after fixing
418- (@putout/compare) undefined as argument
419
420feature:
421- (@putout/plugin-declare-undefined-variables) add
422- (putout) parser-error: add ability to show rule
423
424
4252021.01.18, v13.7.1
426
427fix:
428- (putout) recursive-read: windows (#46)
429- (@putout/plugin-regexp) remove-useless-group: false positives (#45)
430
431
4322021.01.16, v13.7.0
433
434feature:
435- feature(package) @putout/engine-processor v2.7.0: getProcessor runners
436- feature(@putout/engine-processor) add getProcessorRunners
437- feature(@putout/formatter-memory) add to finale output rss, heap total and heap usage'
438- feature(@putout/engine-processor) improve speed and memory usage according to (node --prof): 269MB -> 65mb, 1m7s -> 0m58s
439
440
441
4422021.01.15, v13.6.0
443
444feature:
445- (package) @putout/plugin-regexp v2.0.0
446- (@putout/plugin-regexp) add remove-useless-regexp
447- (@putout/plugin-regexp) add remove-useless-group
448- (@putout/plugin-regexp) drop support of node < 14
449- (@putout/plugin-regexp) simplify -> apply-literal-notation
450
451
4522021.01.14, v13.5.1
453
454fix:
455- (putout) match: absolute path
456- (@putout/plugin-regexp) replaceWith -> operator.replaceWith
457
458feature:
459- (@putout/processor-css) improve merge configs support
460
461
4622021.01.13, v13.5.0
463
464feature:
465- feature(putout) add recursive read of config
466
467
468
4692021.01.12, v13.4.0
470
471fix:
472- (@putout/test) format, formatMany with UPDATE env variable set
473
474feature:
475- (@putout/formatter-json-lines) add
476
477
4782021.01.11, v13.3.0
479
480fix:
481- (putout) supported-files: path with slash
482
483feature:
484- (putout) cli: cache: add ability to detect eslintrc change
485- (putout) cache-files: add ability to detect node_modules changes
486- (@putout/plugin-tape) add convert-emitter-to-promise
487- (@putout/formatter-memory) add suppoort of PUTOUT_PROGRESS_BAR
488- (@putout/plugin-nodejs) add convert-promisify-to-fs-promises
489
490
4912021.01.08, v13.2.0
492
493feature:
494- (@putout/plugin-nodejs) add
495- (@putout/processsor-yaml) package: js-yaml v4.0.0
496- (@putout/plugin-madrun) convert-to-async: imporve support of couple run arguments
497- (@putout/plugin-madrun) add-fresh-lint: add support of ESM
498
499
5002021.01.03, v13.1.2
501
502fix:
503- (putout) handle promise rejections: rm duplicates
504- (@putotu/formatter-progress-bar) PUTOUT_NO_PROGRESS_BAR -> PUTOUT_PROGRESS_BAR
505
506feature:
507- (@putout/eslint-config) add key-spacing
508- (@putout/plugin-tape) add convert-does-not-throw-to-try-catch
509- (@putout/plugin-remove-useless-arguments) argument: report: improve message when find function
510- (@putout/keypress) add ability to force enable with KEYPRESS env variable
511- (@putout/plugin-gitignore) add-vim-files
512- (@putout/keypress) add ability to set listener once
513
514
5152020.12.29, v13.1.1
516
517feature:
518- (@putout/keypress) add
519
520
5212020.12.29, v13.1.0
522
523feature:
524- (package) @putout/engine-runner v10.0.0
525- (@putout/remove-duplicates-from-logical-expressions) add
526- (@putout/plugin-apply-optional-chaining) add support of nested expressions
527- (@putout/engine-runner) @putout/compare v7.0.0
528- (@putout/engine-runner) @putout/operate v6.0.0
529- (package) @putout/compare v7.0.0
530- (@putout/compare) drop support of node < 14
531- (package) @putout/operate v6.0.0
532- (@putout/operate) drop support of node < 14
533- (package) @putout/processor-css v2.0.0
534- (@putout/processor-css) drop support of node < 14
535- (@putout/plugin-convert-for-to-for-of) add ability to find previous siblings
536- (@putout/processor-json) postProcess: removeEmptyLines: simplify and speed up: 300ms -> 200ms
537
538
5392020.12.28, v13.0.0
540
541feature:
542- (package) @putout/plugin-madrun v9.0.0
543- (@putout/plugin-madrun) rename-predefined-eslint-to-putout: remove
544- (@putout/plugin-madrun drop support of node < 14
545- (putout) drop support of node < 14
546- (putout) apply-optional-chaining: enable
547- (@putout/plugin-madrun) drop support of putout < 13
548- (@putout/plugin-madun) add fresh:lint
549- (@putout/plugin-madrun) add-madrun-to-lint: remove
550
551
5522020.12.28, v12.12.0
553
554feature:
555- (@putout/plugin-package-json) add
556- (@putout/processor-json) add ability to cut empty lines
557- (@putout/plugin-convert-commonjs-to-esm) require: add support of existing require binding
558- (@putout/plugin-convert-for-to-for-of) improve support of using with: remove-unused-variables, remove-useless-arguments
559
560
5612020.12.28, v12.11.1
562
563fix:
564- (putout) cli: validate-args: import -> require: Invalid host defined options in v8-compile-cache
565
566
5672020.12.28, v12.11.0
568
569feature:
570- (putout) add ability to handle promise rejections
571- (@putout/plugin-browserlist) add
572
573
5742020.12.27, v12.10.0
575
576fix:
577- (@putout/plugin-eslint) move-putout-to-end-of-extends: putout is only recorod
578
579feature:
580- (putout) add ability to handle absense of processor with CANNOT_LOAD_PROCESSOR exit code
581
582
5832020.12.25, v12.9.4
584
585fix:
586- (putout) *.spec.mjs, *.spec.cjs: glob
587
588
5892020.12.25, v12.9.3
590
591feature:
592- (putout) mjs, cjs: add support of remove-only, remove-skip
593
594
5952020.12.24, v12.9.2
596
597fix:
598- (putout) cjs: enable convert-esm-to-commonjs
599
600feature:
601- (@putout/compare) baseNode -> templateNode
602- (@putout/plugin-convert-esm-to-commonjs) add support of async function
603
604
6052020.12.24, v12.9.1
606
607feature:
608- (putout) add ability to import cli
609
610
6112020.12.24, v12.9.0
612
613feature:
614- (package) add v8-compile-cache: speed up start time: 0m0.993s -> 0m0.843s
615- (package) supertape v4.0.0
616
617
6182020.12.23, v12.8.0
619
620fix:
621- (@putout/engine-runner) replace: match: avoid move top while compare
622
623feature:
624- (putout) add @putout/plugin-npmignore
625- (@putout/plugin-convert-commonjs-to-esm) exports: add support of VariableDeclarator
626- (@putout/plugin-convert-commonjs-to-esm) require: add ability to evaluate argument
627- (@putout/plugin-convert-commonjs-to-esm) require: single
628- (@putout/plugin-convert-commonjs-to-esm) module.exports.__a = __b: __a.name !== __b.name
629
630
6312020.12.22, v12.7.2
632
633fix:
634- (putout) cjs: disable convert-commonjs-to-esm
635- (@putout/plugin-merge-destructuring-properties) remove VariableDeclaration when used with @putout/plugin-convert-commonjs-to-esm
636- (@putout/plugin-convert-commonjs-to-esm) exports: duplicate binding
637
638feature:
639- (@putout/plugin-tape) add convert-called-with-to-called-with-no-args
640
641
6422020.12.21, v12.7.1
643
644fix:
645- (putout) ignore: dist* -> dist, dist-dev
646- docs(readme) no : without transformation
647
648feature:
649- (@putout/plugin-tape) convert-throws-to-try-catch: add support of MemberExpression
650- (@putout/plugin-promises) add-missing-await: exclude then-catch
651- (@putout/plugin-promises) add-missing-await: exclude top level
652- (@putout/plugin-promises) add support of SwitchStatement
653- (@putout/plugin-tape) add apply-stub-operator
654- (eslint-plugin-putout) markdown: disable node/no-unpublished-import
655- (eslint-plugin-putout) markdown: disable node/no-extraneous-import
656- (@putout/plugin-promises) add-missing-await: add support of ArrayExpression
657
658
6592020.12.18, v12.7.0
660
661feature:
662- (putout) add ability to guess possible command line option when provided is invalid
663- (@putout/plugin-promises) add-missing-await
664
665
6662020.12.18, v12.6.0
667
668fix:
669- (@putout/processor-yaml) preProcess: add early return when no rawSource
670- (@putout/engine-processor) update file content when there is no changes
671- (@putout/processor-yaml) replace yaml with json
672- (@putout/engine-processor) rm stubPostProcess: can't be called when preProcess returns empty array
673
674feature:
675- (putout) add ability to validate command line options
676- (@putout/plugin-tape) add expand-try-catch-arguments
677- (@putout/plugin-tape) add convert-throws-to-try-catch
678- (@putout/plugin-madrun) convert-to-async: add support of inner run call expression
679- (@putout/formatter-progress-bar) add ability to disable with PUTOUT_NO_PROGRESS_BAR
680- (@putout/formatter-memory) add ability to disable with PUTOUT_NO_PROGRESS_BAR
681- (@putout/processor-css) add ability to find config
682
683
6842020.12.15, v12.5.1
685
686feature:
687- (putout) ignore: add dist
688
689
6902020.12.15, v12.5.0
691
692fix:
693- (@putout/processor-markdown) process: avoid modification of rawSource
694
695feature:
696- (@putout/processor-css) add
697- (@putout/engine-processor) add ability to to pass fix into process, and ignore pre/post processes
698- (@putout/plugin-remove-useless-variables) for-of: exclude ObjectPattern properties with AssignmentPattern value
699
700
7012020.12.14, v12.4.0
702
703feature:
704- (package) @putout/processor-markdown v3.0.0
705- (package) @putout/engine-processor v2.5.0
706- (@putout/engine-processor) add ability to await process, preProcess and postProcess
707- (@putout/processor-markdown) use async unified API
708- (@putout/processor-markdown) speed up with help of cache: 2m16.072s -> 2m0.965
709- (@putout/plugin-tape) switch-expected-with-result: add ability to switch all assertions with expected, not only with result
710- (eslint-plugin-putout) single-property-destructuring: add support of RestElement
711- (@putout/plugin-tape) add convert-tape-to-supertape
712
713
7142020.12.09, v12.3.0
715
716fix:
717- (@putout/engine-processor) rm dead code
718
719feature:
720- (@putout/plugin-tape) add
721
722
7232020.12.09, v12.2.1
724
725fix:
726- (putout) remove-useless-escape: disable for yml
727
728
7292020.12.09, v12.2.0
730
731feature:
732- (@putout/plugin-putout-config) add
733
734
7352020.12.08, v12.1.0
736
737fix:
738- (@putout/plugin-remove-useless-type-convertion) npmignore: add fixture
739- (@putout/plugin-remove-useless-type-convertion) withDoubleNegations -> with-double-negations
740- (@putout/processor-ignore) no new last line
741
742feature:
743- (eslint-plugin-putout) add support of yaml
744- (@putout/processor-yaml) improve support of process result
745- (@putout/engine-processor) improve process support
746- (@putout/engine-loader) simplify plugins/processors search
747- (package) @putout/processor-markdown v2.0.1
748- (package) @putout/engine-loader v3.1.1
749- (@putout/plugin-remove-double-negations) add support of for, while, do
750- (package) @putout/plugin-remove-useless-type-convertion v2.0.0
751- (@putout/plugin-remove-useless-type-convertion) drop support of putout < 12
752- (@putout/plugin-remove-useless-type-convertion) include @putout/plugin-remove-double-negations
753- (@putout/plugin-remove-double-negations) drop support of node < 12
754- (@putout/plugin-remove-double-negations) add includes
755- (@putout/plugin-remove-useless-spread) add support of Array.from
756- (@putout/plugin-convert-array-copy-to-slice) exclude set
757
758
7592020.12.07, v12.0.1
760
761fix:
762- (putout) parse-match: memory leack: 400mb -> 140mb: rm memo
763
764feature:
765- (@putout/plugin-convert-commonjs-to-esm) require: exclude declared require
766
767
7682020.12.07, v12.0.0
769
770feature:
771- (@putout/plugin-madrun) set-lint-dot: add support of ExportDefaultDeclaration
772- (putout) strict-mode: enable for js
773- (putout) match: regexp -> glob
774
775
7762020.12.06, v11.16.0
777
778fix:
779- (putout) staged: fromEntries
780
781feature:
782- (putout) madrun: add support of .madrun.mjs, .madrun.cjs
783- (@putout/test) wrap -> extend
784
785
7862020.12.06, v11.15.0
787
788feature:
789- (package) @putout/plugin-madrun v8.0.0
790- (@putout/plugin-madrun) drop support of node < 12
791- (putout) madrun v8.0.1
792- (@putout/plugin-madrun) add convert-to-async
793- (putout) @putout/test v3.0.0
794- (putout) supertape v3.4.2
795- (@putout/test) supertape v3.4.2
796- (putout) plugins: rm supertape, @putout/test is enaught
797
798
7992020.12.05, v11.14.0
800
801feature:
802- (@putout/processor-engine) globs: simplify, speed up
803- (putout) apply-shorthand-properties: off
804
805
8062020.12.03, v11.13.0
807
808fix:
809- (@putout/engine-runner) no loc: x -> 0
810
811feature:
812- (putout) travis: disable remove-useless-escape
813- (@putout/test) add noReport, noReportCode, reportWithOptions, noReportWithOptions
814- (@putout/engine-runner) replace: match: add support of options
815
816
8172020.11.30, v11.12.1
818
819fix:
820- (putout) ignore: add coverage
821
822
8232020.11.28, v11.12.0
824
825fix:
826- (@putout/plugin-remove-useless-variables) remove: miss: path -> parentPath
827- (@putout/plugin-travis) set-node-versions: always set last two: 14, 15
828
829feature:
830- (putout) add ctrl+c handler
831- (@putout/engine-processor) remove useless arguments: index, length
832- (@putout/plugin-remove-useless-variables) remove: exclude unreferenced but existing path
833
834
8352020.11.27, v11.11.4
836
837fix:
838- (@putout/engine-processor) change when no places
839- (putout) formatter options: apply: for every file -> after load
840- (@putout/plugin-putout) replace-with: operator used before declaration
841
842feature:
843- (@putout/plugin-madrun) add set-lint-dot
844- (@putout/plugin-travis) set-node-version: rm 12
845- (@putout/plugin-regexp) optimize: exclude regexps of same length
846
847
8482020.11.27, v11.11.3
849
850fix:
851- chore(package) pre-commit: rm --
852
853feature:
854- (putout) mjs: enable convert-commonjs-to-esm
855- (@putout/plugin-convert-commonjs-to-esm) require: add support of dynamic import
856- (@putout/plugin-remove-useless-arguments) simplify
857
858
8592020.11.26, v11.11.2
860
861fix:
862- (@putout/plugin-remove-useless-arguments) function contains "arguments"
863- (@putout/plugin-travis) set-node-versions: 15 only
864
865feature:
866- (package) @putout/plugin-remove-useless-arguments v5.0.0
867- (@putout/plugin-remove-useless-arguments) drop support of node < 12
868
869
8702020.11.26, v11.11.1
871
872fix:
873- (putout) staged: supported files: dot, dir
874
875feature:
876- (eslint-plugin-putout) mjs: disable node/no-unsupported^Ceatures/es-syntax
877- (@putout/eslint-config) disable no-process-exit
878
879
8802020.11.26, v11.11.0
881
882fix:
883- (putout) eslint: crash: x -> 0
884- (putout) crash/parser -> parser
885
886feature:
887- (putout) mjs: enable apply-top-level-await
888- (eslint-plugin-putout) add support of esm
889
890
8912020.11.26, v11.10.2
892
893feature:
894- (putout) md: disable remove-useless-escape
895
896
8972020.11.26, v11.10.1
898
899fix:
900- (eslint-plugin-putout) markdown: disable no-prototype-builtins
901- (putout) json: disable apply-numeric-separators
902- (putout) json: disable remove-useless-escape
903- (eslint-plugin-putout) markdown: add sourceType
904
905feature:
906- (putout) md: disable convert-binary-expressions-to-boolean, remove-constant-conditions
907- (eslint-plugin-putout) markdown: disable no-constant-condition
908- (@putout/engine-processor) add ablity to not provide startLine
909- (@putout/plugin-travis) add disable-cache
910- (@putout/codemod-remove-legacy-from-gitignore) add
911- (eslint-plugin-putout) markdown: add top-level-await support
912- (eslint-plugin-putout) markdown: disable quote-props
913- (eslint-plugin-putout) markdown: add @babel/plugin-syntax-class-properties
914- (package) @putout/processor-json v2.0.0
915- (package) @putout/processor-json v2.0.0
916- (@putout/engine-runner) replace: add support of options
917- (@putout/plugin-regexp) simplify -> optimize
918
919
9202020.11.23, v11.10.0
921
922feature:
923- (eslint-plugin-putout) add support of *.yml{json}
924- (@putout/processor-yaml) add
925- (@putout/plugin-travis) add
926
927
9282020.11.23, v11.9.0
929
930fix:
931- (@putout/plugin-remove-useless-escape) add global flag
932- (@putout/engine-runner) replace: watermark: optional chaining not supported on node v12
933- (putout) rm --ext, has no sense since processors introduced
934
935feature:
936- (@putout/plugin-regexp) add support of disjunction
937- (package) @putout/plugin-regexp v1.0.0
938- (@putout/plugin-regexp) add
939- (@putout/codemod-cut-useless) exclude: const fn = (a) => a()
940- (@putout/compare) add support of regexp /__a/
941
942
9432020.11.22, v11.8.1
944
945fix:
946- (putout) rm --ext, has no sense since processors introduced
947
948feature:
949- (putout) ignore: add package-lock.json
950
951
9522020.11.22, v11.8.0
953
954fix:
955- (@putout/processor-ignore) JSON.parse -> Function
956- (@putout/engine-processor) markdown changed without places found
957
958feature:
959- (@putout/processor-ignore) add
960- (eslint-plugin-putout) add support of json in .gitignore
961- (package) @putout/processor-markdown v2.0.0
962- (package) @putout/processor-json v2.0.0
963- (package) @putout/processor-javascript v2.0.0
964- (package) @putout/engine-processor v2.0.0
965- (@putout/plugin-gitignore) add
966- (putout) engine-processor: extensions -> files
967- (eslint-plugin-putout) json: *.md{json} -> *.*{json}
968- (@putout/engine-processor) extensions -> files
969- (@putout/processor-ignore) add
970
971
9722020.11.21, v11.7.2
973
974feature:
975- (package) @putout/plugin-extract-object-properties v5.0.0
976- (@putout/plugin-extract-object-properties) drop support of node < 12
977- (@putout/plugin-extract-object-properties) rm uncovered code
978- (@putout/engine-runner) replace: watermark: path -> node
979
980
9812020.11.21, v11.7.1
982
983feature:
984- (putout) cli: move out ignores: process-file -> index
985- (@putout/engine-processor) add process
986- (@putout/processor-markdown) add ability to lint markdown files with remark-lint
987
988
9892020.11.20, v11.7.0
990
991feature:
992- (@putout/engine-processor) add process
993- (@putout/processor-markdown) add ability to lint markdown files with remark-lint
994
995
9962020.11.20, v11.6.0
997
998feature:
999- (@putout/engine-loader) add ability to override rules from top
1000- (putout) ignore: add .nyc_output
1001- (eslint-plugin-putout) markdown: add @babel/eslint-parser
1002
1003
10042020.11.19, v11.5.0
1005
1006feature:
1007- (putout) add ability to get extensions from processors before getting file names
1008- (@putout/engine-processor) add getExtensions
1009- (@putout/processor-javascript) move in extensions
1010- (eslint-plugin-putout) long-properties-destructuring: 10 -> 15
1011
1012
10132020.11.19, v11.4.0
1014
1015feature:
1016- (putout) read options before getting file list: speed up: 1m12s -> 1m8s
1017
1018
10192020.11.18, v11.3.0
1020
1021feature:
1022- (putout) add support of typescript in markdown files
1023- (@putout/processor-markdown) add support of typescript
1024- (eslint-plugin-putout) markdown: add support of typescript
1025- (eslint-plugin-putout) markdown: disable node/no-unsupported-features/node-builtins
1026
1027
10282020.11.18, v11.2.2
1029
1030feature:
1031- (package) @putout/plugin-strict-mode v2.0.0
1032- (putout) @babel/parser 7.12.5
1033
1034
10352020.11.17, v11.2.1
1036
1037fix:
1038- (putout) eslint: rm useless memo
1039
1040feature:
1041- (package) @putout/engine-runner v9.0.0
1042- (@putout/engine-runner) drop support of node < 12
1043- (package) @putout/traverse v3.0.0
1044- (package) @putout/compare v6.0.0
1045- (package) @putout/engine-parser v3.0.0
1046- (@putout/traverse) drop support of node < 12
1047- (@putout/traverse) @putout/compare v6.0.0
1048- (@putout/engine-runner) @putout/compare v6.0.0
1049- (@putout/compare) drop support of node < 12
1050- (@putout/compare) @putout/engine-parser v3.0.0
1051- (@putout/engine-runner) @putout/engine-parser v3.0.0
1052- (@putout/engine-loader) @putout/engine-parser v3.0.0
1053- (@putout/engine-parser) drop support of node < 12
1054- (@putout/engine-parser) rm parse.fresh -> parse: rm memo
1055
1056
10572020.11.16, v11.2.0
1058
1059feature:
1060- (putout) formatter: show an error when can't load formatter
1061- (@putout/formatter-memory) add
1062- (putout) speed up lint with cache: readFile: every time -> only when needed
1063- (eslint-plugin-putout) json: no-mulsti-spaces: off
1064
1065
10662020.11.16, v11.1.3
1067
1068fix:
1069- (putout) eslint: null -> crash/parser (when can't parse)
1070
1071
10722020.11.16, v11.1.2
1073
1074fix:
1075- (putout) file-cache: eslint/ -> (eslint)
1076- (@putout/engine-loader) is-enabled: rule names cross
1077
1078feature:
1079- (package) @putout/engine-loader v3.0.0
1080- (@putout/processor-markdown) add support of json
1081- (@putout/engine-processor) add support of extension field in preProcessor result
1082- (@putout/engine-loader) drop support of node < 12
1083
1084
10852020.11.14, v11.1.1
1086
1087feature:
1088- (package) @putout/plugin-remove-boolean-from-logical-expressions v3.0.0
1089- (@putout/plugin-remove-boolean-from-logical-expressions) drop support of node < 12, putout < 11
1090- (@putout/plugin-remove-boolean-from-logical-expressions) improve support of "&& true" expression (joaquimserafim/is-json#15)
1091
1092
10932020.11.13, v11.1.0
1094
1095feature:
1096- (@putout/processor-json) add
1097- (@putout/plugin-eslint) add
1098- (eslint-plugin-putout) add support of json
1099
1100
11012020.11.13, v11.0.9
1102
1103fix:
1104- (putout) eslint: eslint/rule -> rule (eslint)
1105
1106
11072020.11.12, v11.0.8
1108
1109fix:
1110- (eslint-plugin-putout) engines: node v8 -> node v12
1111
1112feature:
1113- (eslint-plugin-putout) markdown: disable: no-empty
1114- (putout) md: disable remove-empty, remove-unused-for-of-variables, remove-useless-variables
1115- (eslint-plugin-putout) markdown: disable: node/no-unsupported-features/es-syntax, node/no-missing-import
1116
1117
11182020.11.11, v11.0.7
1119
1120feature:
1121- (package) file-entry-cache v6.0.0
1122
1123
11242020.11.11, v11.0.6
1125
1126fix:
1127- (@putout/processor-markdown) disable: [ -> \[
1128
1129feature:
1130- (putout) md: disable remove-console
1131- (@putout/processor-markdown) links: prevent new lines
1132- (eslint-plugin-putout) markdown: disable no-multi-space
1133- (@putout/plugin-madrun) add-madrun-to-lint: add support of *.js
1134
1135
11362020.11.05, v11.0.5
1137
1138fix:
1139- (putout) write to cache on crash
1140
1141feature:
1142- (@putout/engine-loader) add jscodeshift peerDependency: @babel/preset-env v7.12.1
1143
1144
11452020.11.04, v11.0.4
1146
1147feature:
1148- (putout) cli: get-files: add normalize
1149- (package) nessy v4.0.0
1150- (package) nessy v4.0.0
1151
1152
11532020.11.04, v11.0.3
1154
1155fix:
1156- (eslint-plugin-putout) peerDependencies: putout: 9 -> 11
1157
1158feature:
1159- (package) @putout/plugin-strict-mode v2.0.0
1160- (@putout/plugin-madrun) add-madrun-to-lint: exclude .*.js
1161- (package) @putout/plugin-convert-object-assign-to-merge-spread v5.0.0
1162- (@putout/plugin-convert-object-assign-to-merge-spread) drop support of node < 12
1163- (@putout/plugin-convert-object-assign-to-merge-spread) exclude assign with one parameter: Object.assign({}, __)
1164
1165
11662020.11.03, v11.0.2
1167
1168feature:
1169- (putout) md: disable apply-shorthand-properties, remove-unused-variables
1170- (@putout/plugin-webpack) convert-query-loader-to-use: add support of couple queries
1171- (@putout/plugin-madrun) add-madrun-to-lint: add support of dot
1172
1173
11742020.11.03, v11.0.1
1175
1176fix:
1177- (putout) rm unused tryrequire
1178
1179feature:
1180- (putout) eslint-plugin-putout v6.0.0
1181
1182
11832020.11.02, v11.0.0
1184
1185feature:
1186- (putout) add processors
1187- (putout) cli: move out readFile, writeFile from process-file
1188
1189
11902020.10.29, v10.5.1
1191
1192feature:
1193- (putout) cli: process-file: rm useless rawOrFixed
1194- (@putout/plugin-convert-commonjs-to-esm) add partial support of json (babel/babel#12262)
1195- (@putout/engine-parser) options: allowAwaitOutsideFunction -> plugins: topLevelAwait
1196- (@putout/engine-parser) enable importAssertions
1197- (@putout/plugin-remove-iife) exclude functions with ReturnStatement
1198- (@putout/plugin-remove-useless-type-convertion) add support of typeof
1199- (package) nodemon v2.0.6
1200
1201
12022020.10.25, v10.5.0
1203
1204feature:
1205- (@putout/plugin-remove-useless-type-convertion) add
1206
1207
12082020.10.25, v10.4.0
1209
1210feature:
1211- (@putout/plugin-remove-iife) add
1212
1213
12142020.10.24, v10.3.0
1215
1216feature:
1217- (package) @putout/plugin-convert-to-arrow-function v3.0.0
1218- (@putout/plugin-convert-to-arrow-function) drop support of node < 12
1219- (@putout/plugin-convert-to-arrow-function) add support of ReturnStatement
1220- (@putout/plugin-postcss) add
1221- (@putout/plugin-apply-numeric-separators) add support of absent raw
1222- (@putout/plugin-webpack) add covert-query-loader-to-use
1223
1224
12252020.10.17, v10.2.1
1226
1227fix:
1228- (putout) 'webpack -> webpack
1229
1230
12312020.10.17, v10.2.0
1232
1233fix:
1234- (@putout/plugin-remove-useless-variables) for-of: get back binding check
1235- (@putout/plugin-extract-sequence-expressions) capitalize report message
1236
1237feature:
1238- (@putout/plugin-webpack) add
1239- (@putout/compare) add support of innerComments, trailingComments
1240- (@putout/plugin-remove-useless-variables) for-of: rm dead code
1241- (@putout/plugin-apply-numeric-separators) exclude hex
1242- (@putout/plugin-remove-empty) block: excludeof blocks with comments
1243
1244
12452020.10.14, v10.1.1
1246
1247fix:
1248- (putout) add --no-cache
1249
1250feature:
1251- (package) mocha v8.1.3
1252
1253
12542020.10.09, v10.1.0
1255
1256fix:
1257- (@putout/plugin-apply-shorthand-properties) add support of ImportDefaultSpecifier (#24)
1258
1259feature:
1260- (putout) supported-files: isJS -> isSupported
1261- (package) jscodeshift v0.11.0
1262- (package) @putout/plugin-remove-unused-expressions v2.0.0
1263
1264
12652020.10.07, v10.0.6
1266
1267fix:
1268- (@putout/plugin-strict-mode) add: add support of ExportAllDeclaration (#25)
1269
1270feature:
1271- (package) @putout/plugin-strict-mode v2.0.0
1272- (@putout/plugin-strict-mode) drop support of node < 12, putout < 10
1273- (@putout/plugin-strict-mode) remove: add support of ExportAllDeclaration
1274
1275
12762020.09.29, v10.0.5
1277
1278fix:
1279- (putout) help: default formatter
1280
1281
12822020.09.28, v10.0.4
1283
1284fix:
1285- (@putout/plugin-remove-useless-arguments) false positive on using function as argument (#23)
1286- (eslint-plugin-putout) comments break location (#22)
1287
1288feature:
1289- (package) @putout/plugin-remove-unused-expressions v2.0.0
1290- (@putout/plugin-remove-unused-expressions) speed up: find -> traverse
1291
1292
12932020.09.17, v10.0.3
1294
1295fix:
1296- (putout) eslint report
1297
1298
12992020.09.17, v10.0.2
1300
1301fix:
1302- (putout) cli: process-file: always return array
1303- (@putout/formatter-progress-bar) add " "
1304
1305
13062020.09.16, v10.0.1
1307
1308fix:
1309- (putout) add @putout/formatter-progress-bar
1310
1311
13122020.09.16, v10.0.0
1313
1314fix:
1315- (@putout/formatter-progress-bar) stop
1316
1317feature:
1318- (@putout/formatter-progress-bar) 0 -> 👌
1319- (putout) cache: add ability to use root cache
1320- (putout) enable cache by default
1321- (putout) add ability to detect CI
1322- (putout) drop support of node < 12
1323- (@putout/formatter-progress-bar) add
1324
1325
13262020.09.11, v9.14.2
1327
1328fix:
1329- (@putout/eslint-config) eslint 6.2 -> 7
1330- (eslint-plugin-putout) multiple-properties-destructuring: add support of comments
1331
1332feature:
1333- (package) yargs-parser v20.0.0
1334- (package) montag v1.0.0
1335- (eslint-plugin-putout) add support of typescript
1336
1337
13382020.09.04, v9.14.1
1339
1340fix:
1341- (@putout/plugin-remove-duplicate-interface-keys) index signature
1342
1343feature:
1344- (putout) disable remove-duplicate-interface-keys, because of additional semicolon
1345
1346
13472020.09.04, v9.14.0
1348
1349feature:
1350- (@putout/plugin-remove-duplicate-interface-keys) add
1351
1352
13532020.09.03, v9.13.0
1354
1355feature:
1356- (putout) add ability to run a couple mentioned plugins with: --no-config, --plugins (#10)
1357
1358
13592020.09.02, v9.12.0
1360
1361fix:
1362- (@putout/engine-runner) rm useless debug
1363
1364feature:
1365- (putout) apply-numeric-superators: enable
1366- (@putout/engine-runner) store: add support of adding properties
1367- (@putout/plugin-remove-unused-types) add support of bubling
1368- (@putout/eslint-config) ecmaVersion 2021
1369- (@putout/formatter-codeframe) table v6.0.1
1370- (@putout/formatter-codeframe) @putout/plugin-remove-unused-variables v3.0.0
1371- (@putout/formatter-frame) @putout/plugin-remove-unused-variables v3.0.0
1372- (@putout/formatter-stream) table v6.0.1
1373- (@putout/formatter-stream) @putout/plugin-remove-unused-variables v3.0.0
1374- (@putout/formatter-dump) @putout/plugin-remove-unused-variables v3.0.0
1375- (@putout/formatter-dump) table v6.0.1
1376- (@putout/engine-parser) recast v0.20.2 (@putout/recast: https://github.com/benjamn/recast/issues/743)
1377
1378
13792020.08.20, v9.11.5
1380
1381feature:
1382- (package) @putout/plugin-convert-for-in-to-for-of v2.0.0
1383- (@putout/plugin-convert-for-in-to-for-of) drop support of node < 10
1384- (@putout/plugin-convert-for-in-to-for-of) drop support of putout < 9
1385- (@putout/traverse) add support of template values
1386- (@putout/compare) getValues: normalize behavior of empty selector
1387- (package) @putout/plugin-remove-unused-variables v3.0.0
1388- (package) @putout/engine-parser v2.0.0
1389- (@putout/plugin-cloudcmd) convert IO.write to IO.createDirectory
1390- (@putout/compare) add support of template literals
1391- (@putout/plugin-cloudcmd) add convert-io-cp-to-io-copy
1392- (@putout/plugin-cloudcmd) add
1393
1394
13952020.08.14, v9.11.4
1396
1397feature:
1398- (package) find-up v5.0.0
1399
1400
14012020.08.09, v9.11.3
1402
1403feature:
1404- (package) yargs-parser v19.0.1
1405
1406
14072020.08.08, v9.11.2
1408
1409feature:
1410- (package) @putout/compare v5.0.0
1411- (@putout/engine-runner) replace: add ability to preserve comments
1412
1413
14142020.08.06, v9.11.1
1415
1416feature:
1417- (package) @putout/engine-parser v2.0.0
1418- (package) @putout/operate v5.0.0
1419- (package) @putout/compare v5.0.0
1420- (package) @putout/traverse v2.0.0
1421- (@putout/traverse) drop support of node < 10
1422- (@putout/traverse) @putout/compare v5.0.0
1423- (package) @putout/operate v5.0.0
1424- (@putout/compare) drop support of node < 10
1425- (package) @putout/engine-parser v2.0.0
1426
1427
14282020.08.06, v9.11.0
1429
1430feature:
1431- (package) @putout/plugin-remove-unused-variables v3.0.0
1432- (package) @putout/engine-parser v2.0.0
1433- (package) @putout/operate v5.0.0
1434- (@putout/plugin-remove-unused-variables) drop support of node < 10
1435- (@putout/plugin-remove-unused-variables) add ability to preserve comments
1436- (@putout/operate) drop support of node < 10
1437- (@putout/operate) add support of remove
1438- (@putout/engine-parser) drop support of node < 10
1439- (@putout/engine-parse) add parse.fresh
1440
1441
14422020.08.04, v9.10.2
1443
1444fix:
1445- (@putout/apply-optional-chaining) rm not relevant destructuring transform
1446
1447feature:
1448- (package) @putout/plugin-madrun v7.0.0
1449- (@putout/plugin-madrun) drop support of node < 10
1450- (package) eslint v7.6.0
1451
1452
14532020.07.31, v9.10.1
1454
1455fix:
1456- (@putout/engine-loader) babel plugins: rm useless options
1457
1458feature:
1459- (package) @putout/plugin-apply-optional-chaining v2.0.0
1460- (package) @putout/plugin-extract-object-properties v4.0.0
1461- (@putout/plugin-extract-object-properties) drop support of node < 10
1462- (@putout/plugin-apply-optional-chaining) drop support of node < 10
1463- (@putout/plugin-apply-optional-chaining) add support of destructuring
1464- (@putout/plugin-extract-object-properties) equal-deep: rm useless filter
1465- (@putout/engine-loader) babel plugins: simplify code with cloneInputAst (https://github.com/babel/babel/releases/tag/v7.11.0)
1466- (@putout/plugin-remove-unused-types) add exports support
1467
1468
14692020.07.30, v9.10.0
1470
1471fix:
1472- (@putout/plugin-remove-useless-types) array support
1473
1474feature:
1475- (@putout/plugin-remove-unused-types) add
1476- (@putout/plugin-remove-useless-types) add support of return types
1477- (@putout/plugin-remove-unused-for-of-variables) add support of unreferenced variables after remove-useless-variables plugin
1478- (@putout/plugin-remove-useless-types) add support of export
1479
1480
14812020.07.29, v9.9.1
1482
1483feature:
1484- (package) @putout/plugin-remove-duplicate-keys v2.0.0
1485- (@putout/plugin-remove-duplicate-keys) drop support of node < 10
1486
1487
14882020.07.29, v9.9.0
1489
1490fix:
1491- (@putout/plugin-remove-useless-for-of) replace return value: -> null
1492
1493feature:
1494- (package) @putout/plugin-merge-duplicate-imports v3.0.0
1495- (package) @putout/plugin-merge-destructuring-properties v5.0.0
1496- (package) @putout/engine-runner v8.0.0
1497- (@putout/engine-runner) store -> listStore
1498- (@putout/plugin-merge-duplicate-imports) store -> listStore
1499- (@putout/plugin-merge-destructuring-properties) new store
1500- (@putout/plugin-remove-useless-types) add
1501- (@putout/plugin-merge-destructuring-properties) remove useless check
1502
1503
15042020.07.23, v9.8.0
1505
1506feature:
1507- (@putout/plugin-remove-useless-for-of) add
1508
1509
15102020.07.23, v9.7.1
1511
1512feature:
1513- (package) @putout/engine-runner v7.0.0
1514- (@putout/engine-runner) drop support of node < 10
1515- (@putout/engine-runner) replace: fn: returns emtpy -> remove node
1516
1517
15182020.07.21, v9.7.0
1519
1520feature:
1521- (@putout/plugin-remove-useless-template-expressions) add
1522
1523
15242020.07.21, v9.6.1
1525
1526fix:
1527- (putout) disable numeric separators, stage3
1528
1529
15302020.07.21, v9.6.0
1531
1532feature:
1533- (@putout/plugin-apply-numeric-separator) add
1534
1535
15362020.07.19, v9.5.1
1537
1538feature:
1539- (package) @putout/plugin-remove-useless-spread v4.0.0
1540- (@putout/plugin-remove-useless-spread) add support of function call
1541
1542
15432020.07.19, v9.5.0
1544
1545feature:
1546- (@putout/plugin-convert-array-copy-to-slice) add
1547- (@putout/plugin-remove-unused-for-of-variables) add support of one destructuring element
1548
1549
15502020.07.17, v9.4.0
1551
1552fix:
1553- (@putout/engine-runner) merge-visitors: pull
1554
1555feature:
1556- (@putout/plugin-remove-unused-for-of-variables) add
1557
1558
15592020.07.16, v9.3.1
1560
1561feature:
1562- (putout) remove unused variables
1563
1564
15652020.07.14, v9.3.0
1566
1567feature:
1568- (putout) staged: add ability to abort pre-commit hook, when no staged changes
1569
1570
15712020.07.12, v9.2.2
1572
1573feature:
1574- (package) @putout/engine-loader v2.0.0
1575- (@putout/engine-loader) drop support of node < v10
1576- (package) jscodeshift v0.10.0
1577
1578
15792020.07.09, v9.2.1
1580
1581feature:
1582- (package) @putout/plugin-merge-duplicate-imports v2.0.0
1583- (@putout/plugin-merge-duplicate-imports) add store
1584
1585
15862020.07.08, v9.2.0
1587
1588fix:
1589- (@putout/engine-loader) rm unused get-babel-plugins
1590
1591feature:
1592- (package) @putout/plugin-merge-destructuring-properties v4.0.0
1593- (@putout/engine-runner) traverse: add store
1594- (@putout/plugin-merge-destructuring-properties) find -> traverse
1595- (@putout/plugin-remove-empty) add support of last argument
1596- (@putout/plugin-remove-useless-arguments) add support of no arguments
1597
1598
15992020.07.04, v9.1.1
1600
1601fix:
1602- (putout) formatterOptions -> format
1603
1604feature:
1605- (putout) process-file: reporter always return string
1606- (@putout/plugin-extract-object-properties) equal-deep: index
1607- (@putout/plugin-remove-unreferenced-variables) add support of VariableDeclarator
1608
1609
16102020.06.26, v9.1.0
1611
1612feature:
1613- (package) @putout/plugin-remove-unreferenced-variables v1.0.0
1614- (@putout/plugin-remove-unreferenced-variables) add
1615- (@putout/plugin-remove-unused-variables) improve unused import specifier handling
1616- (package) eslint-plugin-putout v5.0.1
1617- (package) madrun v7.0.0
1618- (package) @putout/eslint-config v4.0.0
1619- (@putout/eslint-config) if return -> if \n return'
1620
1621
16222020.06.24, v9.0.0
1623
1624feature:
1625- (babel-plugin-putout) putout: dependencies -> peerDependencies
1626- (eslint-plugin-putout) putout: dependencies -> peerDependencies
1627- (putout) make eslint optional dependency
1628- (putout) default formatter: progress for 10 and more files
1629- (putout) rm -d, --debug from help
1630- (putout) --update-cache -> --fresh
1631- (putout) remove --remove-cache
1632- (putout) enable process of dot files
1633
1634
16352020.06.23, v8.21.0
1636
1637feature:
1638- (@putout/test) format: add support of options
1639- (@putout/formatter-progress) add support of minCount
1640- (putout) add support of formatterOptions
1641
1642
16432020.06.23, v8.20.2
1644
1645fix:
1646- (package) eslint v7.3.1 (https://eslint.org/blog/2020/06/eslint-v7.3.1-released)
1647- (@putout/plugin-convert-object-assign-to-merge-spread) spread
1648
1649
16502020.06.22, v8.20.1
1651
1652fix:
1653- (putout) eslint: read config (https://github.com/eslint/eslint/issues/13427)
1654- (@putout/engine-runner) debug.enabled
1655- (@putout/test) noFormat: notOk -> equal ""
1656- (@putout/formatter-eslint) return: undefined -> ""
1657- (@putout/formatter-codeframe) return: undefined -> ""
1658- (@putout/formatter-frame) early return
1659- (@putout/formatter-frame) no places -> undefined
1660
1661feature:
1662- (@putout/engine-runner) log: path -> path.toString
1663- (@putout/plugin-reuse-duplicate-init) add support of @putout/plugin-remove-useless-escape
1664- (@putout/plugin-remove-useless-escape) add support of ^
1665- (@putout/codemod-apply-replace-all) add
1666- (@putout/compare) improve support of linked string literals
1667
1668
16692020.06.19, v8.20.0
1670
1671fix:
1672- feature(@putout/plugin-merge-destructuring-properties) find, -> merge-destructuring-properties
1673
1674feature:
1675- (@putout/plugin-reuse-duplicate-init) add
1676- (@putout/engine-runner) traverse: add support of include, exclude
1677- (@putout/plugin-merge-destructuring-properties) find, fix -> merge-destructuring-properties
1678- (@putout/plugin-merge-destructuring-properties) for -> for-of
1679
1680
16812020.06.18, v8.19.1
1682
1683fix:
1684- (putout) parse-options: parse-match: ?
1685- (putout) mv out convert-generic-to-shorthand from .mjs
1686
1687
16882020.06.18, v8.19.0
1689
1690fix:
1691- (@putout/parser) wrapLines when length is more then 74
1692
1693feature:
1694- (@putout/plugin-convert-generic-to-shorthand) add
1695- (@putout/test) add support of TS in report
1696
1697
16982020.06.17, v8.18.1
1699
1700fix:
1701- (putout) "node_modules" in codemodes directory: "~/.putout"
1702- (@putout/operate) rm redundant putout.json
1703
1704feature:
1705- (@putout/operate) isModuleExports: matchesPattern
1706- (@putout/plugin-remove-useless-variables) isPromiseResolve -> matchesPattern
1707- (@putout/plugin-extract-object-properties) Object.keys -> keys
1708- (@putout/plugin-add-return-await) include -> replace
1709
1710
17112020.06.16, v8.18.0
1712
1713fix:
1714- feature(@putout/plugin-remove-useless-array-from) include + -> replace
1715- (@putout/plugin-remove-useless-variables) no binding
1716
1717feature:
1718- (package) @putout/formatter-frame v1.0.0
1719- (@putout/formatter-frame) add
1720- (@putout/plugin-remove-useless-array-from) include + fix -> replace
1721
1722
17232020.06.15, v8.17.1
1724
1725fix:
1726- (@putout/plugin-remove-boolean-from-logical-expression) putout >= 8
1727- feature(@putout/plugin-convert-top-level-return) include + -> replace
1728- chore(madrun) add :lint:fresh
1729
1730feature:
1731- (package) @putout/plugin-remove-boolean-from-logical-expressions v2.0.1
1732- (@putout/plugin-remove-boolean-from-logical-expression) traverse -> replace
1733- (@putout/plugin-convert-top-level-return) include + fix -> replace
1734- (@putout/convert-binary-expression) vm -> evaluate
1735- (@putout/engine-parser) acorn v7.3.1, acorn-stage3 v3.0.0
1736- (@putout/eslint-plugin-putout) add remove-newline-after-default-import
1737
1738
17392020.06.10, v8.17.0
1740
1741fix:
1742- (@putout/engine-loader) load-plugin: rm useless Module.plugins (used for webpack bundle build)
1743
1744feature:
1745- (putout) add --debug flag to switch formatter into reason of a crash (when occures)
1746- (@putout/eslint-cofig) .eslintrc.json -> eslintrc.json
1747
1748
17492020.06.09, v8.16.1
1750
1751fix:
1752- (putout) transform -> [transform]
1753
1754
17552020.06.08, v8.16.0
1756
1757feature:
1758- (putout) add support of --transform
1759
1760
17612020.06.07, v8.15.1
1762
1763fix:
1764- (putout) parse-options: complex paths with a lot "*", ".", "?"
1765- (@putout/compare) correct args order
1766
1767
17682020.06.06, v8.15.0
1769
1770fix:
1771- (@putout/plugin-remove-useless-spread) object: exclude: VariableDeclaration -> AssignmentExpression
1772
1773feature:
1774- (putout) add --fresh
1775- (putout) add ability to set --format a couple times, last will be applied
1776- (@putout/plugin-remove-useless-spread) exclude object copy
1777- (@putout/codemod-cut-legacy-functions) add
1778- (@putout/compare) add __identifier
1779- (@putout/compare) improve support of literals
1780
1781
17822020.06.05, v8.14.1
1783
1784fix:
1785- (putout) npmignore: add fixture
1786
1787
17882020.06.05, v8.14.0
1789
1790fix:
1791- (@putout/compare) strict __args_a check
1792- chore(package) pre-commit: add --
1793- (@putout/engine-parser) flow: watermark not on first line
1794
1795feature:
1796- (@putout/plugin-remove-useless-functions) add
1797- (@putout/compare) add support of linked args: __args__a
1798- (@putout/plugin-convert-equal-to-strict-equal) exclude null check
1799- (@putout/plugin-merge-duplicate-imports) add support of ImportNamespaceSpecifier
1800
1801
18022020.06.03, v8.13.1
1803
1804fix:
1805- (putout) --enable(--all)?/--disable(--all)?: filter "crash/parser" rule from .putout.json
1806- feature(@putout/engine-runner) improve support of "@babel/plugin-" prefixes
1807
1808feature:
1809- (@putout/engine-runner) improve support of "@babel/plugin-" prefixes
1810- (@putout/plugin-apply-optional-chaining) add support of call
1811
1812
18132020.06.02, v8.13.0
1814
1815fix:
1816- (@putout/eslint-config) no-implicit-coercion: allow ~ back, to avoid overlap with @putout/plugin-convert-index-of-to-includes
1817- (@putout/plugin-convert-index-of-to-includes) report
1818- (@putout/plugin-convert-index-of-to-includes) !~ -> ~
1819
1820feature:
1821- (putout) cli: --enable: add ability to use without file argument
1822- (@putout/plugin-convert-index-of-to-includes) add equal check
1823- (@putout/plugin-convert-index-of-to-includes) add not equal
1824- (@putout/eslint-config) no-implicit-coercion: disallow ~
1825
1826
18272020.06.01, v8.12.0
1828
1829fix:
1830- (@putout/plugin-extract-object-properties) handle absense of scope after @putout/plugin-apply-destructuring
1831- (@putout/engine-parser) babel: decorators -> decorators-legacy
1832
1833feature:
1834- (@putout/engine-runner) template: generate() -> path.toString()
1835- (@putout/plugin-convert-index-of-to-includes) add
1836- (@putout/plugin-remove-unreachable-code) add support of FunctionDeclaration hoist (#17)
1837- (@putout/plugin-remove-useless-expressions) add support of ArrayExpression
1838- (@putout/plugin-remove-unused-expressions) add support of ObjectExpression
1839- (@putout/eslint-config) add brace-style
1840- (@putout/plugin-remove-unused-variables) add support of TSAsExpression
1841- (@putout/engine-parser) acorn v7.2.0
1842
1843
18442020.05.30, v8.11.1
1845
1846fix:
1847- (putout) specify custom rulesdir -> use additional rules from directory
1848
1849feature:
1850- (@putout/eslint-config) add no-useless-return, yoda
1851
1852
18532020.05.30, v8.11.0
1854
1855feature:
1856- (@putout/eslint-config) add no-useless-return, yoda
1857
1858
18592020.05.29, v8.10.1
1860
1861feature:
1862- (package) @putout/plugin-remove-useless-spread v3.0.0
1863- (@putout/plugin-remove-useless-spread) split to array and object
1864- (putout) default config: tsx, mjs: disable strict mode
1865- (@putout/plugin-remove-useless-spread) add support of object
1866- (@putout/eslint-config) add no-implicit-coercion
1867- (@putout/plugin-merge-duplicate-imports) find -> traverse
1868
1869
18702020.05.28, v8.10.0
1871
1872feature:
1873- (@putout/plugin-merge-duplicate-imports) add
1874- (@putout/plugin-remove-unused-variables) typescript: add support of namespace
1875- (@putout/plugin-remove-useless-arguments) destructuring: rm exclude: redundant
1876- (@putout/plugin-remove-duplicate-keys) remove data when there is no need for it
1877
1878
18792020.05.26, v8.9.0
1880
1881fix:
1882- (compare) __object is reserved
1883
1884feature:
1885- (@putout/plugin-remove-duplicate-keys) add
1886- (@putout/engine-runner) replace: add ability to return node
1887- (@putout/plugin-convert-for-in-to-for-of) simplify
1888- (putout) eslint: mv to cli
1889
1890
18912020.05.21, v8.8.0
1892
1893feature:
1894- (putout) cache-files: add ability to avoid cache on eslint parser error
1895
1896
18972020.05.20, v8.7.0
1898
1899fix:
1900- (@putout/plugin-remove-useless-arguments) destructuring: spread
1901
1902feature:
1903- (putout) eslint: cache: avoid cache when definition of rule not found
1904
1905
19062020.05.18, v8.6.0
1907
1908feature:
1909- (putout) add support of --ext
1910- (extensions) mv out from supported-files
1911- (@putout/plugin-remove-useless-variables) for-of: add support of maxProperties
1912
1913
19142020.05.18, v8.5.2
1915
1916fix:
1917- (putout) enable ts for tsx
1918
1919feature:
1920- (@putout/plugin-remove-useless-variables) for-of: exclude multiple properties destructuring
1921
1922
19232020.05.17, v8.5.1
1924
1925feature:
1926- (get-files) move out getJSGlob to supported-files
1927
1928
19292020.05.17, v8.5.0
1930
1931fix:
1932- (putout) get-files: not js ext
1933- (putout) get-files: mjs
1934
1935feature:
1936- (putout) add support of .cjs
1937
1938
19392020.05.16, v8.4.1
1940
1941fix:
1942- fix(putout) get-files: not js ext
1943- fix(putout) get-files: mjs
1944
1945
1946
19472020.05.15, v8.4.0
1948
1949fix:
1950- (@putout/convert-for-to-for-of) n: no-length
1951
1952feature:
1953- (putout) add support of tsx, mjs files
1954- (@putout/engine-parser) babel: allowUndeclaredExports
1955- (@putout/codemod-convert-emitter-to-promise) add support of template literal in event name
1956- (package) supertape v2.0.1
1957- (@putout/plugin-convert-for-to-for-of) keywords
1958- (@putout/test) v2.0.0
1959- (@putout/test) tape -> supertape
1960- (package) @putout/formatter-dump v2.0.1
1961- (package) putout v8.3.0
1962
1963
19642020.05.10, v8.3.0
1965
1966feature:
1967- (putout) add support of env variable PUTOUT_FILES
1968- (package) @cloudcmd/stub v3.0.0
1969- (package) supertape v2.0.0
1970- (package) espree v7.0.0
1971
1972
19732020.05.09, v8.2.0
1974
1975feature:
1976- (putout) glob -> fast-glob
1977
1978
19792020.05.07, v8.1.1
1980
1981feature:
1982- (package) @putout/formatter-progress v2.0.0
1983- (@putout/formatter-progress) drop support of node < 10
1984- (package) @putout/formatter-dump v2.0.1
1985
1986
19872020.05.07, v8.1.0
1988
1989fix:
1990- (eslint-plugin-putout) parseOptions
1991
1992feature:
1993- (@putout/plugin-split-nested-destructuring) add
1994
1995
19962020.05.06, v8.0.4
1997
1998fix:
1999- (putout) rm webpack build: decrease npm package size'
2000
2001
20022020.05.05, v8.0.3
2003
2004feature:
2005- (putout) readFileSync, writeFileSync -> promises: readFile, writeFile
2006
2007
20082020.05.04, v8.0.2
2009
2010feature:
2011- (putout) staged: add ability to filter only js files
2012
2013
20142020.05.04, v8.0.1
2015
2016feature:
2017- (package) @putout/formatter-stream v2.0.0
2018- (package) @putout/plugin-remove-unused-variables v2.3.0
2019- (@putout/formatter-stream) drop support of node < 10
2020- (package) chalk v4.0.0
2021- (package) @putout/formatter-codeframe v2.0.0
2022- (package) @putout/formatter-dump v2.0.0
2023- (@putout/formatter-codeframe) drop support of node < 10
2024- (package) chalk v4.0.0
2025- (package) @putout/plugin-remove-unused-variables v2.3.0
2026- (@putout/formatter-dump) drop support of node < 10
2027- (package) chalk v4.0.0
2028- (package) @putout/plugin-remove-unused-variables v2.3.0
2029- (package) @putout/eslint-config v3.0.0
2030- (@putout/eslint-config) drop support of node < 10
2031- (package) eslint-plugin-putout v4.0.0
2032- (package) eslint v7.0.0-rc.0
2033- (package) madrun v6.0.0
2034- (package) putout v8.0.0
2035- (package) putout v8.0.0
2036
2037
20382020.05.04, v8.0.0
2039
2040fix:
2041- (@putout/engine-parser) template: rm expression
2042
2043feature:
2044- (package) try-catch v3.0.0
2045- (package) eslint v7.0.0
2046- (putout) add --staged
2047- (putout) remove DEPRECATED operate
2048- (package) chalk v4.0.0
2049- (putout) drop support of node < 10
2050- (package) nyc v15.0.1
2051- (package) nyc v15.0.1
2052- (package) codegen.macro v4.0.0
2053- (@putout/engine-runner) add ability to handle infinite loops: for the same replacers
2054
2055
20562020.04.30, v7.24.0
2057
2058fix:
2059- (@putout/plugin-convert-for-in-to-for-of) negative: absent hasOwnProperty
2060- chore(npmignore) add fixture
2061- (@putout/plugin-convert-for-in-to-for-of) npmignore: add fixture
2062- (package) eslintrc
2063
2064feature:
2065- (putout) add ability to show rule name on crash
2066- (@putout/engine-runner) add ability to set rule name on crash
2067- (@putout/plugin-extract-sequence-expressions) add support of AwaitExpression
2068- (@putout/plugin-convert-for-in-to-for-of) add support of missing VariableDeclaration
2069- (@putout/plugin-remove-unused-variables) const __a = __b = __c -> __b = __c
2070- (@putout/plugin-remove-unused-variables) const __a = exports = __b -> exports = __b
2071- (@putout/plugin-remove-unused-variables) const __a = module.exports = __b -> module.exports = __b
2072- (eslint-plugin-config) simplify naming
2073- (@putout/eslint-config) add "no-cond-assign: off"
2074- (eslint-plugin-putout) add function declaration-paren-newline
2075
2076
20772020.04.18, v7.23.0
2078
2079fix:
2080- (@putout/eslint-config) rm key-spacing
2081
2082feature:
2083- (@putout/plugin-convert-for-in-to-for-of) add
2084- (package) @putout/plugin-remove-unused-variables v2.0.1
2085- (package) recast v0.19.0
2086
2087
20882020.04.10, v7.22.0
2089
2090fix:
2091- (@putout/eslint-config) space-before-function-paren: keep space after async
2092
2093feature:
2094- (putout) add ESLINT_CONFIG_FILE support
2095- (@putout/plugin-extract-object-properties) avoid extract of variables binded in outer scope
2096- (@putout/eslint-config) add lines-between-class-members
2097- (@putout/eslint-config) add key-spacing
2098- (@putout/eslint-config) add comma-spacing
2099- (@putout/eslint-config) add space-before-function-paren
2100
2101
21022020.04.04, v7.21.0
2103
2104feature:
2105- (putout) add --update-cache, --remove-cache
2106
2107
21082020.04.04, v7.20.4
2109
2110fix:
2111- (putout) process-file: avoid cache when eslint parser error
2112- feature(@putout/plugin-putout) add fixType
2113- feature(@putout/plugin-madrun) rename-eslint-to-putout: : if -> switch
2114- (@putout/plugin-putout) rm unused propertyPath
2115- (@putout/plugin-extract-object-properties) rm unused
2116- (@putout/plugin-extract-object-properties) npmignore: fixture
2117- (@putout/plugin-extract-object-properties) npmignore: fixture
2118
2119feature:
2120- (@putout/plugin-remove-unused-variables) if -> switch
2121- (@putout/plugin-react-hooks) simplify
2122- (@putout/plugin-putout) add fixType
2123- (@putout/plugin-madrun) rename-eslint-to-putout: fix: if -> switch
2124- (@putout/plugin-remove-unused-private-fields) simplify condition
2125- (@putout/plugin-madrun) rm not coveraged code
2126- (@putout/plugin-putout) convert-find-to-traverse: rm not covered code
2127- (@putout/plugin-react-hooks) rm not coveraged by tests
2128- (@putout/plugin-extract-object-properties) getTemplateValues
2129
2130
21312020.03.30, v7.20.3
2132
2133fix:
2134- (npmignore) add .spec.js
2135- (@putout/plugin-remove-useless-async) empty async function
2136
2137feature:
2138- (package) estree-to-babel v3.0.0
2139- (@putout/engine-parser) add ability to handle duplicate variables declaration
2140- (package) @putout/plugin-remove-unused-variables v2.0.0
2141- (@putout/test) is-correct-plugin
2142- (@putout/compare) add __nop
2143- (package) fullstore v3.0.0
2144- (@putout/eslint-config) function-paren-newline: multiline-arguments
2145- (eslint-plugin-putout) keyword-spacing: add support of for, for-of, for-await-of
2146
2147
21482020.03.23, v7.20.2
2149
2150fix:
2151- (putout) ruler-processor: cwd
2152
2153
21542020.03.23, v7.20.1
2155
2156fix:
2157- (@putout/traverse) scope
2158
2159feature:
2160- (@putout/engine-parser) add support of Record, Tuple (https://github.com/tc39/proposal-record-tuple)
2161- (@putout/plugin-remove-unused-variables) add support of Record, Tuple (https://github.com/tc39/proposal-record-tuple)
2162- (@putout/traverse) improve path support
2163- (@putout/engine-runner) get isTemplate from @putout/compare
2164- (@putout/compare) parseTemplate: add support of program
2165- (@putout/traverse) speed up
2166- (@putout/engine-parser) template: add support of template.program
2167- (@putout/plugin-convert-for-each-to-for-of) path.traverse -> operator.traverse
2168- (eslint-plugin-putout) keyword-spacing: add support of if
2169- (@putout/traverse) add contains
2170
2171
21722020.03.18, v7.20.0
2173
2174feature:
2175- (package) @putout/traverse v1.0.0
2176- (package) @putout/plugin-remove-useless-async v3.0.0
2177- (@putout/plugin-remove-useless-async) traverse
2178- (putout) operator: add traverse
2179- (@putout/engine-runner) add @putout/traverse
2180- (@putout/traverse) add
2181
2182
21832020.03.18, v7.19.1
2184
2185fix:
2186- test(putout) cli: process-file: --
2187
2188feature:
2189- (package) @putout/plugin-remove-useless-async v2.0.0
2190- (@putout/plugin-remove-useless-async) drop support of putout < 7.17
2191- (@putout/plugin-remove-useless-async) add support of for-await-of
2192- (@putout/plugin-remove-unused-variables) add support of decorators
2193- (@putout/engine-parser) add support of decorators
2194
2195
21962020.03.18, v7.19.0
2197
2198feature:
2199- (putout) -r, --renamed: add ability to add "renamed" files
2200
2201
22022020.03.17, v7.18.2
2203
2204fix:
2205- (putout) added
2206- (@putout/engine-runner) replace: rm findVars
2207- (@putout/plugin-remove-empty-pattern) putout <= 7.17
2208
2209feature:
2210- (@putout/engine-runner) add match
2211- (package) @putout/plugin-remove-empty-pattern v3.0.1
2212- (@putout/plugin-remove-empty-pattern) add support of multi elements array pattern
2213- (@putout/compare) getTemplateValues: add support of __array, __
2214
2215
22162020.03.13, v7.18.1
2217
2218fix:
2219- (eslint-plugin-putout) getContextOptions: remove unused
2220- (@putout/eslint-config) rm brackets
2221
2222feature:
2223- (@putout/engine-loader) parse-rules: provide more info in validation error message
2224- (@putout/plugin-convert-for-to-for-of) split into 2 files
2225- (@putout/plugin-remove-unused-variables) add support of OptionalCallExpression
2226- (@putout/plugin-convert-for-to-for-of) add support of n
2227- (@putout/engine-runner) replace: add support of path
2228- (eslint-plugin-putout) keyword-spacing: add support of switch
2229- (@putout/eslint-config) space-before-blocks: add
2230
2231
22322020.03.08, v7.18.0
2233
2234feature:
2235- (@putout/plugin-convert-for-to-for-of) add
2236- (package) @putout/plugin-putout v5.0.0
2237
2238
22392020.03.08, v7.17.0
2240
2241feature:
2242- (package) @putout/compare v4.0.1
2243- (package) yargs-parser v18.1.0
2244- (package) @putout/plugin-putout v5.0.0
2245- (package) @putout/plugin-split-variable-declarations v2.0.0
2246- (package) @putout/plugin-remove-useless-variables v4.0.0
2247- (package) @putout/plugin-remove-useless-array-from v2.0.0
2248- (package) @putout/plugin-remove-useless-arguments v4.0.0
2249- (package) @putout/plugin-remove-nested-blocks v3.0.0
2250- (package) @putout/plugin-remove-empty v5.0.0
2251- (package) @putout/plugin-remove-constant-conditions v2.0.0
2252- (package) @putout/plugin-merge-if-statements v3.0.0
2253- (package) @putout/plugin-merge-destructuring-properties v3.0.0
2254- (package) @putout/plugin-madrun v6.0.0
2255- (@putout/convert-fs-to-promises) drop support of putout < 7.17
2256- (package) @putout/plugin-extract-sequence-expressions v2.0.0
2257- (package) @putout/plugin-extract-object-properties v3.0.0
2258- (package) @putout/plugin-convert-top-level-return v3.0.0
2259- (package) @putout/plugin-convert-object-assign-to-merge-spread v4.0.0
2260- (package) @putout/plugin-convert-for-each-to-for-of v5.0.0
2261- (package) @putout/plugin-convert-binary-expression-to-boolean v2.0.0
2262- (package) @putout/plugin-apply-top-level-await v2.0.0
2263- (package) @putout/plugin-apply-shorthand-properties v3.0.0
2264- (package) @putout/plugin-promises v4.0.0
2265- (package) @putout/plugin-add-return-await v2.0.0
2266- (package) @putout/compare v4.0.1
2267- (package) @putout/engine-runner v6.0.0
2268- (package) @putout/operate v4.0.0
2269- (putout) operate -> operator
2270
2271
22722020.03.06, v7.16.2
2273
2274feature:
2275- (putout) cli: speed up, when ruler not used
2276
2277
22782020.03.03, v7.16.1
2279
2280fix:
2281- (putout) eslint: replace control chars on read config error
2282- (@putout/plugin-strict-mode) rm unused file putout
2283
2284feature:
2285- (@putout/eslint-config) no-multiple-empty-lines: maxBOF: 0
2286- (@putout/compare) improve block support
2287
2288
22892020.02.29, v7.16.0
2290
2291feature:
2292- (@putout/plugin-remove-useless-typeof) add
2293- (@putout/plugin-remove-useless-async) add support of args, exclude arrow functions without body
2294- (@putout/compare) add support of __body
2295
2296
22972020.02.28, v7.15.0
2298
2299feature:
2300- (@putout/plugin-remove-useless-async) add
2301
2302
23032020.02.28, v7.14.2
2304
2305fix:
2306- (putout) ignores: negative
2307
2308
23092020.02.28, v7.14.1
2310
2311fix:
2312- (madrun) prepublishOnly -> madrun
2313
2314
23152020.02.28, v7.14.0
2316
2317fix:
2318- (@putout/compare) rm unused try-catch
2319
2320feature:
2321- (@putout/plugin-remove-useless-await) add
2322- (@putout/plugin-remove-skip) exclude not top level test.skip
2323- (@putout/plugin-remove-only) exclude not top level test.only
2324
2325
23262020.02.24, v7.13.4
2327
2328feature:
2329- (package) try-catch v3.0.0
2330
2331
23322020.02.24, v7.13.3
2333
2334fix:
2335- (putout) when have eslint config error, mark it as found
2336
2337
23382020.02.24, v7.13.2
2339
2340feature:
2341- (putout) add ability to show eslint config validation errors
2342- (@putout/eslint-config) keyword-spacing: catch, disable no-control-regex
2343
2344
23452020.02.18, v7.13.1
2346
2347feature:
2348- (@putout/plugin-convert-template-to-string) add
2349
2350
23512020.02.17, v7.13.0
2352
2353fix:
2354- (@putout/pulgin-remove-useless-arguments) npmignore: add fixture
2355
2356feature:
2357- (package) @putout/plugin-remove-useless-arguments v3.0.1
2358- (@putout/plugin-remove-useless-arguments) add support of simple arguments
2359
2360
23612020.02.16, v7.12.2
2362
2363fix:
2364- (cli) logError
2365- (putout) eslint: disable eslint when there is no config
2366
2367feature:
2368- (putout) cache: include file to cache when eslint-plugin-putout used
2369
2370
23712020.02.15, v7.12.1
2372
2373feature:
2374- (putout) add ability to exclude rules with eslint plugins from cache (eslint/eslint#10712)
2375
2376
23772020.02.14, v7.12.0
2378
2379feature:
2380- (package) @putout/plugin-remove-nested-blocks v2.0.0
2381- (@putout/plugin-remove-nested-blocks) drop support of putout < 7
2382- (@putout/plugin-remove-nested-blocks) add support of switch case
2383
2384
23852020.02.13, v7.11.1
2386
2387feature:
2388- (putout) move out cli from bin
2389
2390
23912020.02.12, v7.11.0
2392
2393feature:
2394- (putout) add cache
2395
2396
23972020.02.10, v7.10.2
2398
2399fix:
2400- (putout) match: regexp
2401
2402feature:
2403- (package) yargs-parser v17.0.0
2404
2405
24062020.02.09, v7.10.1
2407
2408fix:
2409- (@putout/engine-parser) custom-parser: object: get back, used in putout-editor
2410
2411
24122020.02.09, v7.10.0
2413
2414fix:
2415- (@putout/engine-loader) loadPlugins: options check
2416- (@putout/engine-parser) rm unused export to getParser
2417- (@putout/engine-parser) custom-parser: rm unused isObject check
2418- (@putout/apply-optional-chaining) function support
2419- chore(@putout/plugin-remove-useless-spread) fixture
2420- chore(@putout/plugin-remove-double-negations) fixture
2421- (@putout/compare) extract expression
2422- (@putout/plugin-apply-top-level-await) rm unused check
2423
2424feature:
2425- (package) @babel/generator v7.8.4
2426- (package) @babel/template v7.8.3
2427- (package) @babel/parser v7.8.4
2428- (@putout/engine-parser) rm nullishCoalescingOperator, optionalChaining: enabled by default (https://babeljs.io/blog/2020/01/11/7.8.0)
2429- (@putout/plugin-apply-optional-chaining) add support of computed properties
2430- (@putout/eslint-config) add eol-last
2431- (@putout/plugin-apply-optional-chaining) add support of ifStatements
2432- (@putout/engine-runner) improve expression support
2433
2434
24352020.02.02, v7.9.1
2436
2437feature:
2438- (putout) parse-options: readRules: plugins: object -> array
2439- (@putout/codemod-convert-tape-to-supertape) conver to replace
2440- (@putout/codemod-cut-legacy) convert to include
2441- (@putout/engine-runner) filter: replace -> include
2442- (@putout/engine-runner) rm unused check
2443
2444
24452020.01.28, v7.9.0
2446
2447feature:
2448- (package) @putout/plugin-convert-commonjs-to-esm v4.0.0
2449- (package) @putout/plugin-promises v3.0.0
2450- (package) @putout/engine-runner v5.0.0
2451- (@putout/plugin-convert-commonjs-to-esm) replacer: add filter
2452- (@putout/plugin-promises) replacer: add filter
2453- (@putout/engine-runner) replacer: add support of filter
2454
2455
24562020.01.28, v7.8.0
2457
2458fix:
2459- (@putout/compare) rm unused micro-memoize
2460
2461feature:
2462- (package) @putout/engine-runner v4.1.0
2463- (package) @putout/plugin-promises v2.0.0
2464- (@putout/engine-runner) replace: add support of path
2465- (@putout/plugin-promises) convert-reject-to-throw: convert to replace
2466- (@putout/plugin-promises) convert-useless-resolve: convert to replace
2467- (@putout/engine-loader) micro-memoize -> nano-memoize
2468- (@putout/engine-parser) micro-memoize -> nano-memoize: lint spead up: 40s -> 30s
2469- (package) jscodeshift v0.7.0
2470- (package) husky v4.2.1
2471
2472
24732020.01.24, v7.7.1
2474
2475fix:
2476- (@putout/engine-runner) template: isTemplate: entry has no sense in merge visitors
2477- (@putout/plugin-convert-throw) readme links
2478
2479feature:
2480- (package) @putout/plugin-remove-useless-spread v2.0.0
2481- (@putout/plugin-remove-useless-spread) convert to replace
2482- (@putout/plugin-convert-arguments-to-rest) simplify
2483- (@putout/engine-parser) remove acorn version check due to using a fork with overriden version (https://github.com/acornjs/acorn/issues/862)
2484
2485
24862020.01.21, v7.7.0
2487
2488feature:
2489- (package) @putout/engine-parser v1.10.0
2490- (putout) add @putout/convert-throw
2491- (@putout/engine-parser) add support of throw expression
2492- (@putout/plugin-convert-throw) add
2493- (@putout/engine-runner) replace: speed up when skip
2494- (package) @putout/plugin-convert-spread-to-array-from v2.0.0
2495- (@putout/plugin-convert-spread-to-array-from) convert to replace
2496
2497
24982020.01.20, v7.6.2
2499
2500feature:
2501- (package) @putout/plugin-convert-spread-to-array-from v2.0.0
2502- (@putout/plugin-convert-spread-to-array-from) convert to replace
2503
2504
25052020.01.17, v7.6.1
2506
2507fix:
2508- feature(@putout/eslint-config) disable no-empty-pattern: no
2509- (putout) parseOptions: custom optionsmore important then merged options, custom match more important then custom options
2510
2511feature:
2512- (@putout/eslint-config) disable no-empty-pattern: no fix
2513
2514
25152020.01.16, v7.6.0
2516
2517fix:
2518- chore(madrun) :lint
2519
2520feature:
2521- (package) @putout/plugin-convert-commonjs-to-esm v3.0.0
2522- (package) @putout/plugin-putout v4.0.0
2523- (package) @putout/plugin-convert-for-each-to-for-of v4.0.0
2524- (package) @putout/engine-runner v4.0.0
2525- (package) @putout/operate v3.0.0
2526- (package) @putout/operate v3.0.0
2527- (@putout/engine-runner) replace: add ability to skip
2528- (@putout/operate) replaceWith: add support of expressions
2529- (@putout/plugin-putout) drop support of putout < 7.6
2530- (@putout/plugin-convert-for-each-to-for-of) drop support of putout < 7.6
2531- (@putout/plugin-convert-commonjs-to-esm) convert to replace
2532
2533
25342020.01.15, v7.5.0
2535
2536fix:
2537- (@putout/plugin-convert-esm-to-commonjs) add support of babel 8
2538
2539feature:
2540- (package) @putout/plugin-convert-esm-to-commonjs v3.0.0
2541- (package) @putout/engine-runner v3.7.0
2542- (@putout/convert-esm-to-commonjs) replace
2543- (@putout/engine-runner) move out isName, isArgs, isImports into @putout/compare
2544- (@putout/compare) add isName, isArgs, isImports
2545- (@putout/engine-runner) add support of __args, __imports
2546- (@putout/compare) add support of __imports
2547- (@putout/engine-parser) enable BABEL_TYPES_8_BREAKING
2548- (@putout/engine-runner) add support of linked nodes literals
2549- (@putout/compare) add ability to use linked node literals
2550
2551
25522020.01.14, v7.4.4
2553
2554fix:
2555- (putout) improve globbing
2556- (long-properties-destructuring) exclude ForOfStatement
2557
2558feature:
2559- (putout) speed up lint 5m -> 40s
2560- (putout) eslint-plugin-node v11
2561- (package) rm eslint-plugin-tape
2562- (compare) simplify superCompare
2563- (@putout/eslint-config) add padded-blocks: never'
2564- (compare) add ANY_ARGS
2565- (compare) recursion -> loop
2566- (compare) isLinkedNode: add
2567
2568
25692020.01.07, v7.4.3
2570
2571fix:
2572- (putout) parse-options: customMatch -> mergedMatch
2573
2574
25752020.01.06, v7.4.2
2576
2577fix:
2578- (@putout/engine-runner) template: rm path.skip
2579- (@putout/compare) log
2580- (putout) --disable-all: crash when no files
2581- (@putout/compare) comments
2582- (@putout/engine-runner) replace: variable overwrite
2583
2584feature:
2585- (@putout/plugin-convert-apply-to-spread) replace
2586- (package) nessy v3.0.0
2587
2588
25892020.01.03, v7.4.1
2590
2591fix:
2592- (parse-match) add windows support
2593
2594
25952020.01.03, v7.4.0
2596
2597fix:
2598- (package) engine
2599- (babel-plugin-putout) lib
2600
2601feature:
2602- (@putout/plugin-remove-useless-templates) add
2603- (eslint-plugin-putout) single-property-destructuring: wrap
2604- (eslint-plugin-putout) new-line-function-call-arguments: wrap
2605- (eslint-plugin-putout) multiple-properties-destructuring: wrap
2606- (eslint-plugin-putout) long-properties-desturucturing
2607- (eslint-plugin-putout) for-of-multiple-properties-destructuring: wrap
2608- (eslint-plugin-putout) destructuring-as-function-argument: wrap
2609- (eslint-plugin-putout) wrap: align-spaces
2610- (eslint-plugin-putout) add wrap
2611- (eslint-plugin-putout) rules -> lib
2612- (eslint-plugin-putout) add keyword-spacing
2613- (@putout/eslint-config) keyword-spacing: rm catch: doesn't supports optional catch binding
2614- (@putout/plugin-remove-unused-variables) add support of optional catch binding (https://github.com/tc39/proposal-optional-catch-binding)
2615
2616
26172019.12.27, v7.3.4
2618
2619fix:
2620- (putout) paths deduplications
2621
2622feature:
2623- (putout) move out getFiles
2624- (package) jessy v3.0.0
2625
2626
26272019.12.20, v7.3.3
2628
2629fix:
2630- (putout) glob
2631
2632feature:
2633- (package) madrun v5.2.0
2634
2635
26362019.12.19, v7.3.2
2637
2638fix:
2639- (putout) file paths validation
2640- (@putout/plugin-madrun) rename-eslint-to-putout: only beginning of the line
2641- (@putout/plugin-madrun) rename-eslint-to-putout: exclude all but lint
2642- (@putout/engine-loader) validate: plugin name with slash
2643- (@putout/engine-loader) validate-rules: nested
2644- (@putout/engine-runner) infinite loop: watermark: save all steps
2645
2646feature:
2647- (package) madrun v5.1.0
2648- (putout) speed up tests
2649- (babel-plugin-putout) mocha -> tape
2650
2651
26522019.12.12, v7.3.1
2653
2654fix:
2655- (package) rm unused diff-match-patch
2656
2657feature:
2658- (@putout/engine-runner) path.remove -> watermark: speed up'
2659
2660
26612019.12.06, v7.3.0
2662
2663fix:
2664- (@putout/engine-runner) rm micro-memoize
2665- (@putout/engine-loader) @putout/plugin-remove-unused-variables: dependencies -> devDependnecies
2666
2667feature:
2668- (package) @putout/plugin-apply-destructuring v5.0.0
2669- (package) @putout/engine-runner v3.4.0
2670- (@putout/plugin-apply-destructuring) object: convert to replace
2671- (@putout/engine-runner) replace: add support of object pattern
2672- (@putout/plugin-convert-object-assign-to-merge-spread) simplify
2673- (@putout/engine-runner) @babel/generator -> @putout/engine-parser
2674- (compare) add regIgnore
2675
2676
26772019.11.29, v7.2.2
2678
2679fix:
2680- (@putout/apply-optional-chaining) template variables
2681
2682feature:
2683- (package) @putout/plugin-simplify-ternary v2.0.0
2684- (@putout/plugin-simplify-ternary) convert to replace
2685- (@putout/compare) add ability to compare that names templates variable equail
2686- (@putout/engine-runner) replace: isTemplateName
2687
2688
26892019.11.28, v7.2.1
2690
2691feature:
2692- (package) @putout/plugin-remove-double-negations v2.0.0
2693- (package) @putout/engine-runner v3.3.0
2694- (@putout/plugin-remove-double-negations) convert to replace
2695- (@putout/engine-runner) replace: add support of Identifier, IfCondition
2696
2697
26982019.11.25, v7.2.0
2699
2700fix:
2701- (putout) rm direct dependency @babel/parser, use @putout/engine-parser instead
2702
2703feature:
2704- (package) @putout/plugin-madrun v5.0.0
2705- (putout) add template from @putout/engine-parser
2706- (@putout/remove-console) add support of console.dir
2707- (package) nodemon v2.0.1
2708- (@putout/engine-parser) add ability to reuse options in template
2709
2710
27112019.11.19, v7.1.0
2712
2713fix:
2714- (@putout/plugin-merge-if-statements) dependencies -> devDependencies: eslint-plugin-putout
2715
2716feature:
2717- (@putout/plugin-apply-optional-chaining) add
2718- (package) @putout/engine-parser v1.7.0
2719- (@putout/engine-parser) template: add support of optionalChaining
2720- (@putout/plugin-remove-unused-variables) add support of OptionalMemberExpression
2721- (@putout/engine-parser) add support of optionalChaining
2722- (@putout/remove-unused-variables) improve support of AssignmentPattern
2723
2724
27252019.11.15, v7.0.6
2726
2727fix:
2728- (@putout) parseOptions: options as argument
2729
2730
27312019.11.15, v7.0.5
2732
2733fix:
2734- (putout) match
2735
2736
27372019.11.13, v7.0.4
2738
2739fix:
2740- (putout) help: --rulesdir
2741- (putout) apply-top-level-await
2742- (@putout/plugin-apply-shorthand-properties) exclude AssignmentPattern
2743- (@putout/engine-parser) exclude *.spec.js
2744
2745feature:
2746- (@putout/engine-loader) add rules validation
2747- (@putout/engine-runner) debug namespaces
2748- (@putout/engine-parser) add tenko (esprima) support (pvdz/tenko#6)
2749
2750
27512019.11.11, v7.0.3
2752
2753fix:
2754- (@putout/plugin-remove-empty) multiple ImportSpecifiers
2755
2756feature:
2757- (package) chalk v3.0.0
2758- (@putout/compare) add __OBJECT_TYPE, __ARRAY_TYPE
2759- (package) @putout/plugin-remove-empty-pattern v2.0.0
2760
2761
27622019.11.07, v7.0.2
2763
2764fix:
2765- (putout) eslint: disable dot files ignore
2766
2767feature:
2768- (package) @putout/compare v3.1.0
2769- (@putout/compare) add parseTemplate
2770- (package) @putout/plugin-madrun v4.0.0
2771
2772
27732019.11.06, v7.0.1
2774
2775feature:
2776- (package) @putout/plugin-apply-destructuring v4.0.0
2777- (@putout/plugin-apply-destructuring) drop support of node < 7: use __object, __array
2778- (package) putout v7.0.0
2779- (package) @putout/plugin-remove-empty v4.0.0
2780- (package) putout v7.0.0
2781- (package) putout v7.0.0
2782
2783
27842019.11.06, v7.0.0
2785
2786feature:
2787- (package) @putout/plugin-remove-useless-arguments v2.0.0
2788- (package) @putout/plugin-convert-apply-to-spread v3.0.0
2789- (package) @putout/plugin-remove-empty v4.0.0
2790- (package) @putout/plugin-apply-shorthand-properties v2.0.0
2791- (package) @putout/plugin-convert-for-each-to-for-of v3.0.0
2792- (package) @putout/plugin-remove-console v3.0.0
2793- (package) @putout/plugin-putout v3.0.0
2794- (package) @putout/plugin-convert-to-arrow-function v2.0.0
2795- (package) @putout/plugin-convert-object-assign-to-merge-spread v3.0.0
2796- (package) @putout/plugin-remove-useless-variables v3.0.0
2797- (package) @putout/plugin-madrun v4.0.0
2798- (@putout/plugin-remove-useless-arguments) drop support of putout <7
2799- (@putout/plugin-remove-empty) drop support of putout <7
2800- (@putout/plugin-remove-console) drop support of putout <7
2801- (@putout/plugin-putout) drop support of putout <7
2802- (@putout/plugin-convert-to-arrow-function) drop support of putout <7
2803- (@putout/plugin-convert-object-assign-to-merge-spread) drop support of putout <7
2804- (@putout/plugin-remove-useless-variables) drop support of putout < 7
2805- (@putout/plugin-madrun) drop support of putout < 7
2806- (@putout/plugin-remove-empty-pattern) drop support of putout < 7
2807- (@putout/plugin-convert-for-each-to-for-of) drop support of putout < 7
2808- (@putout/plugin-convert-apply-to-spread) drop support of putout <7
2809- (@putout/apply-shorthand-properties) drop support of putout < 7
2810- (package) @putout/engine-runner v3.0.0
2811- (package) @putout/operate v2.0.0
2812- (@putout/engine-runner) add support of __object, __array
2813- (package) @putout/operate v2.0.0
2814- (package) @putout/compare v3.0.0
2815- (package) @putout/compare v3.0.0
2816- (@putout/compare) add support of __object, __array, __args
2817- (@putout/apply-array-destructuring) exclude nested
2818
2819
28202019.11.03, v6.22.0
2821
2822feature:
2823- (package) @putout/plugin-remove-process-exit v3.0.0
2824- (@putout/plugin-remove-process-exit) convert to replace
2825
2826
28272019.11.03, v6.21.0
2828
2829fix:
2830- (@putout/engine-runner) exclude as string
2831
2832feature:
2833- (package) @putout/plugin-convert-math-pow v4.0.0
2834- (@putout/plugin-convert-math-pow) convert to replace
2835- (package) @babel/types v7.6.3
2836
2837
28382019.11.01, v6.20.0
2839
2840fix:
2841- (@putout/engine-runner) replace plugins
2842
2843feature:
2844- (package) @putout/plugin-apply-destructuring v3.0.0
2845- (@putout/plugin-apply-destructuring) convert to replace
2846- (package) @putout/plugin-merge-destructuring-properties v2.0.0
2847
2848
28492019.11.01, v6.19.0
2850
2851fix:
2852- (@putout/plugin-remove-debugger) quotes
2853
2854feature:
2855- (package) @putout/plugin-remove-skip v3.0.0
2856- (package) @putout/plugin-remove-only v4.0.0
2857- (package) @putout/engine-runner v2.0.0
2858- (package) @putout/compare v2.0.0
2859- (package) @putout/compare v2.0.0
2860- (@putout/engine-runner) change template variables type
2861- (@putout/compare) change template variables type
2862- (@putout/plugin-remove-only) convert to replace plugin type
2863- (@putout/plugin-remove-skip) convert to replace plugin type
2864
2865
28662019.11.01, v6.18.0
2867
2868fix:
2869- (@putout/engine-runner) rm BlockStatement
2870
2871feature:
2872- (package) @putout/plugin-remove-only v3.0.0
2873- (@putout/plugin-remove-only) convert to replace
2874- (@putout/engine-parser) add ability to get expression
2875- (@putout/engine-runner) replace: add abilty to use a couple vars
2876- (@putout/engine-parser) add template.ast.fresh, which do not use memoization
2877
2878
28792019.10.31, v6.17.0
2880
2881feature:
2882- (package) @putout/plugin-remove-debugger v4.0.0
2883- (@putout/engine-runner) replace: add support of variables
2884- (@putout/engine-runner) replace: add ability to remove
2885- (@putout/plugin-apply-shorthand-properties) exclude CAMEL_CASE constants
2886- (@putout/engine-runner) add replace plugins
2887- (@putout/plugin-madrun) add: remove putout
2888
2889
28902019.10.27, v6.16.1
2891
2892feature:
2893- (package) yargs-parser v16.0.0
2894
2895
28962019.10.25, v6.16.0
2897
2898fix:
2899- (@putout/engine-loader) rules options
2900- (npmignore) .spec.js
2901
2902feature:
2903- (package) @putout/plugin-madrun v3.0.0
2904- (@putout/plugin-madrun) add-madrun: .madrun.js
2905- (package) madrun v4.0.0
2906- (@putout/eslint-config) add support of object-curly-spacing
2907- (@putout/plugin-convert-to-arrow-function) exclude prototype
2908- (@putout/engine-loader) speed up loading according to rules
2909
2910
29112019.10.12, v6.15.1
2912
2913fix:
2914- (putout) eslint
2915- (@putout/plugin-strict-mode) add once
2916- (babel-plugin-putout) strict-mode
2917
2918
29192019.10.12, v6.15.0
2920
2921fix:
2922- (@putout/plugin-strict-mode) add
2923
2924feature:
2925- (package) @putout/plugin-merge-destructuring-properties v2.0.0
2926- (@putout/plugin-merge-destructuring-properties) generate -> compare
2927- (@putout/compare) add ability to ignore raw values
2928- (@putout/plugin-apply-top-level-await) add
2929- (@putout/plugin-madrun) add run
2930
2931
29322019.10.12, v6.14.1
2933
2934feature:
2935- (package) @putout/plugin-apply-top-level-await v1.0.1
2936
2937
29382019.10.12, v6.14.0
2939
2940fix:
2941- (@putout/plugin-remove-double-negations) rm eslint
2942
2943feature:
2944- (@putout/apply-top-level-await) add
2945- (package) putout v6.13.0
2946
2947
29482019.10.11, v6.13.0
2949
2950fix:
2951- (@putout/plugin-remove-useless-escape) no raw
2952- (@putout/test) noTransform: second arg
2953
2954feature:
2955- (@putout/convert-to-arrow-function) add
2956- (@putout/test) transform: simplify
2957- (@putout/engine-parser) @putout/recast -> recast
2958
2959
29602019.10.07, v6.12.1
2961
2962feature:
2963- (package) yargs-parser v15.0.0
2964
2965
29662019.10.04, v6.12.0
2967
2968fix:
2969- (@putout/plugin-remove-empty) report
2970
2971feature:
2972- (putout) add ability to resolve eslint plugins (#9)
2973- (@putout/plugin-remove-unused-variables) add support of DoWhileStatement
2974- (@putout/plugin-remove-empty) remove-empty-block: add support of empty alternate of IfConditionStatement
2975- (@putout/operate) toExpression: add support of ObjectProperty
2976- (@putout/formatt-codeframe) add ability to show rule
2977- (@putout/operate) add toExpression
2978- (@putout/plugin-extract-sequance) add support of multiple layers (#11)
2979
2980
29812019.10.02, v6.11.0
2982
2983feature:
2984- (@putout/plugin-remove-useless-escape) add
2985
2986
29872019.10.02, v6.10.2
2988
2989feature:
2990- (@putout/plugin-extract-sequence-expressions) add support of ReturnStatement (#11)
2991
2992
29932019.10.02, v6.10.1
2994
2995fix:
2996- (@putout/remove-useless-arguments) rm unused
2997
2998feature:
2999- (package) @putout/plugin-convert-apply-to-spread v2.0.0
3000- (@putout/plugin-convert-apply-to-spread) add support of null
3001- (@putout/operate) add findBinding
3002
3003
30042019.10.01, v6.10.0
3005
3006feature:
3007- (@putout/plugin-remove-useless-arguments) add
3008
3009
30102019.10.01, v6.9.1
3011
3012fix:
3013- (@putout/engine-runner) rm redundant compare
3014- (@putout/compare) false properties
3015
3016feature:
3017- (operate) add support of compareAll, compareAny
3018
3019
30202019.09.30, v6.9.0
3021
3022feature:
3023- (package) @putout/plugin-extract-object-properties v2.0.0
3024- (@putout/plugins-simplify-ternary) generate -> compare
3025- (package) @putout/engine-parser v1.2.0
3026- (@putout/compare) add
3027- (@putout/engine-runner) add micro-memoize
3028- (@putout/engine-runner) add mem
3029
3030
30312019.09.28, v6.8.0
3032
3033fix:
3034- (@putout/engine-parser) recast -> @putout/recast
3035- (@putout/engine-parser) recast source
3036- (@putout/engine-parser) acorn
3037- (@putout/plugin-convert-spread-to-array) report
3038
3039feature:
3040- (@putout/plugin-promises) add
3041- (@putout/engine-parser) acorn v7.1.0
3042- (@putout/engine-parser) add recast from npm
3043
3044
30452019.09.28, v6.7.1
3046
3047feature:
3048- (@putout/plugin-remove-useless-spread) for-of
3049- (@putout/apply-shorthand-properties) add support of names overlap
3050
3051
30522019.09.28, v6.7.0
3053
3054feature:
3055- (@putout/plugin-remove-useless-array-from) add
3056- (@putout/engine-loader) add ability to pass options without enabled flag
3057
3058
30592019.09.28, v6.6.1
3060
3061feature:
3062- (package) @putout/engine-runner v1.4.0
3063- (@putout/engine-runner) add cache to generate
3064
3065
30662019.09.28, v6.6.0
3067
3068fix:
3069- chore(@putout/plugin-react-hooks) add prefix _
3070
3071feature:
3072- (@putout/plugin-remove-useless-spread) mv out from default install
3073- (@putout/plugin-convert-spread-to-array-from) add
3074- (@putout/plugin-apply-shorthand-properties) add support names overlap handling
3075- (@putout/plugin-remove-useless-spread) exclude: call, return
3076- (package) putout v6.5.1
3077
3078
30792019.09.26, v6.5.1
3080
3081fix:
3082- (@putout/engine-runner) npmignore: add *.spec.js
3083
3084feature:
3085- (@putout/plugin-apply-shorthand-properties) add options
3086- (package) @putout/plugin-remove-empty v3.0.0
3087- (@putout/plugin-remove-empty) import: add ability to pass options
3088- (@putout/engine-runner) add ability to pass options to filter
3089- (@putout/test) add transformWithOptions, noTransformWithOptions
3090- (@putout/plugin-apply-shorthand-properties) exclude ImportSpecifier
3091
3092
30932019.09.26, v6.5.0
3094
3095fix:
3096- (@putout/engine-loader) dependencies
3097- (@putout/engine-parser) dependencies
3098- (@putout/plugin-apply-shorthand-properties) avoid destructuring
3099
3100feature:
3101- (@putout/remove-useless-spread) add
3102
3103
31042019.09.26, v6.4.0
3105
3106feature:
3107- (@putout/test) add noReport
3108- (@putout/plugin-apply-shorthand-properties) add
3109
3110
31112019.09.26, v6.3.1
3112
3113fix:
3114- (putout) -um: expand glob
3115- (@putout/plugin-add-return-await) references -> bindings
3116- (@putout/plugin-add-return-await) filter: path -> boolean
3117
3118feature:
3119- (@putout/engine-runner) add debug
3120
3121
31222019.09.25, v6.3.0
3123
3124fix:
3125- (package) dependencies
3126
3127feature:
3128- (putout) add @putout/add-return-await
3129- (@putout/engine-runner) template: add support of awaitOutsideFunction
3130- (package) putout v6.2.0
3131- (@putout/plugin-madrun) add-madrun-to-lint: exclude "putout -um"
3132
3133
31342019.09.25, v6.2.0
3135
3136feature:
3137- (putout) add ability to work with modified, untracked git files
3138- (codemods) add convert-fs-to-promises
3139- (@putout/engine-runner) logs
3140- (package) eslint-plugin-putout v2.0.0
3141- (package) eslint-plugin-node v10.0.0
3142- (package) eslint v6.4.0
3143- (package) nyc v14.1.1
3144- (package) madrun v3.0.5
3145- (package) eslint-plugin-node v10.0.0
3146- (package) eslint v6.4.0
3147
3148
31492019.09.18, v6.1.0
3150
3151feature:
3152- (@putout/engine-runner) add
3153
3154
31552019.09.16, v6.0.0
3156
3157feature:
3158- (putout) add @putout/engine-parser, @putout/engine-loader
3159
3160
31612019.09.12, v5.28.2
3162
3163fix:
3164- (putout) find: merge template visitors
3165
3166
31672019.09.12, v5.28.1
3168
3169fix:
3170- (putout) traverse: merge visitors: shebang
3171
3172
31732019.09.12, v5.28.0
3174
3175feature:
3176- (package) @putout/plugin-convert-esm-to-commonjs v2.0.0
3177- (@putout/plugin-convert-esm-to-commonjs) include
3178- (@putout/plugin-convert-top-level-return) include
3179- (@putout/eslint-config) keyword-spacing: no space after catch
3180
3181
31822019.09.12, v5.27.0
3183
3184feature:
3185- (package) @putout/plugin-remove-process-exit v2.0.0
3186- (@putout/plugin-remove-process-exit) template
3187
3188
31892019.09.11, v5.26.0
3190
3191feature:
3192- (package) @putout/plugin-convert-for-each-to-for-of v2.0.0
3193- (@putout/plugin-convert-for-each-to-for-of) include
3194
3195
31962019.09.11, v5.25.0
3197
3198feature:
3199- (package) @putout/plugin-convert-math-pow v3.0.0
3200- (@putout/plugin-convert-math-pow) include
3201
3202
32032019.09.11, v5.24.0
3204
3205feature:
3206- (putout) plugin: include: add filter support
3207
3208
32092019.09.11, v5.23.0
3210
3211feature:
3212- (package) @putout/plugin-remove-skip v2.0.0
3213- (@putout/plugin-remove-skip) include
3214
3215
32162019.09.11, v5.22.1
3217
3218fix:
3219- (putout) plugin: include, exclude: array -> function
3220
3221
32222019.09.10, v5.22.0
3223
3224feature:
3225- (package) @putout/plugin-remove-only v2.0.0
3226- (@putout/plugin-remove-only) include
3227
3228
32292019.09.10, v5.21.0
3230
3231feature:
3232- (package) @putout/plugin-remove-debugger v3.0.0
3233- (putout) plugins: add support of include
3234
3235
32362019.09.10, v5.20.0
3237
3238feature:
3239- (putout) template: "__": string literals only
3240- (package) eslint-plugin-putout v2.0.0
3241- (package) madrun v3.0.2
3242- (package) putout v5.19.0
3243
3244
32452019.09.10, v5.19.0
3246
3247feature:
3248- (package) @putout/plugin-merge-if-statements v2.0.0
3249- (@putout/plugin-merge-if-statement) template
3250
3251
32522019.09.10, v5.18.2
3253
3254feature:
3255- (putout) rules: exclude: add ability to pass string or array
3256
3257
32582019.09.10, v5.18.1
3259
3260fix:
3261- (putout) exclude only templates
3262
3263
32642019.09.10, v5.18.0
3265
3266feature:
3267- (putout) add ability to exclude a couple templates
3268
3269
32702019.09.10, v5.17.0
3271
3272feature:
3273- (putout) add support of exclude template plugin option
3274- (putout) add support of exclude
3275
3276
32772019.09.10, v5.16.0
3278
3279feature:
3280- (putout) find: add support of template
3281- (package) fullstore v2.0.2
3282
3283
32842019.09.09, v5.15.1
3285
3286feature:
3287- (package) @putout/plugin-remove-useless-variables v2.0.0
3288- (@putout/plugin-remove-useless-variables) template
3289- (@putout/test) add ability to pass rules
3290- (madrun) convert-lint-lib: template
3291
3292
32932019.09.08, v5.15.0
3294
3295fix:
3296- (@putout/plugin-putout) convert-find-to-traverse: template
3297
3298feature:
3299- (package) @putout/plugin-remove-console v2.0.0: templates
3300- (putout) template: add support of literal "__"
3301
3302
33032019.09.08, v5.14.1
3304
3305fix:
3306- (putout) slim: @babel/parser for templates
3307
3308
33092019.09.08, v5.14.0
3310
3311fix:
3312- (putout) template: multiple, cache: speed up 500ms -> 0.008ms
3313
3314feature:
3315- (package) @putout/plugin-convert-commonjs-to-esm v2.0.0
3316- (@putout/plugin-convert-commonjs-to-esm) template
3317
3318
33192019.09.08, v5.13.3
3320
3321fix:
3322- (putout) template: null
3323
3324feature:
3325- (package) @putout/plugin-convert-top-level-return v2.0.0
3326- (@putout/plugin-convert-top-level-return) template
3327
3328
33292019.09.08, v5.13.2
3330
3331feature:
3332- (package) @putout/plugin-convert-object-assign-to-merge-spread v2.0.0
3333- (@putot/plugin-convert-object-assign-to-merge-spread) template
3334
3335
33362019.09.08, v5.13.1
3337
3338feature:
3339- (package) @putout/plugin-remove-debugger v2.0.0
3340- (@putout/plugin-remove-debugger) template
3341
3342
33432019.09.08, v5.13.0
3344
3345feature:
3346- (package) @putout/plugin-convert-math-pow v2.0.0
3347- (@putout/plugin-convert-math-pow) traverse: template
3348
3349
33502019.09.07, v5.12.1
3351
3352feature:
3353- (package) @putout/plugin-putout v2.0.0
3354- (package) @putout/plugin-madrun v2.0.0
3355
3356
33572019.09.07, v5.12.0
3358
3359fix:
3360- feature(@putout/plugin-madrun) add add--lint
3361
3362feature:
3363- (putout) traverse: add template
3364- (package) putout v5.11.2
3365- (@putout/operate) add isModuleExports
3366- (@putout/plugin-madrun) add add-fix-lint
3367
3368
33692019.09.07, v5.11.2
3370
3371feature:
3372- (package) yargs-parser v14.0.0
3373- (putout) eslint-plugin-node v10.0.0
3374- (madrun) add-function: add support of CallExpression
3375
3376
33772019.09.02, v5.11.1
3378
3379fix:
3380- (npmignore) slim
3381
3382
33832019.09.02, v5.11.0
3384
3385feature:
3386- (putout) add ability to provide a build no parsers
3387
3388
33892019.08.30, v5.10.4
3390
3391fix:
3392- (putout) keep dist only
3393
3394
33952019.08.30, v5.10.3
3396
3397fix:
3398- (putout) acorn plugins (#acornjs/acorn/issues/862)
3399
3400feature:
3401- (@putout/plugin-convert-object-assign-to-merge-spread) add support of not empty objects as first argument
3402
3403
34042019.08.30, v5.10.2
3405
3406fix:
3407- (webpack) slim: acorn, espree
3408
3409
34102019.08.29, v5.10.1
3411
3412fix:
3413- (putout) slim: esprima
3414
3415
34162019.08.29, v5.10.0
3417
3418feature:
3419- (putout) add slim builds
3420- (package) madrun v3.0.0
3421- (@putout/plugin-madrun) add support of lib only lint
3422
3423
34242019.08.26, v5.9.0
3425
3426feature:
3427- (eslint) add support of custom parsers
3428- (@putout/plugin-remove-unused-variables) add support of Function declared and used as an array item
3429- (@putout/plugin-remove-useless-variables) exclude React from useless variables list
3430
3431
34322019.08.23, v5.8.0
3433
3434fix:
3435- (@putout/formatter-progress) max: 99% -> 100%
3436- (eslint) add support of eslint parsing error
3437
3438feature:
3439- (putout) improve eslint errors handling
3440
3441
34422019.08.20, v5.7.1
3443
3444fix:
3445- feature(run-plugins) complexity on multiple rounds: quadratic -> linear
3446
3447feature:
3448- (packages) eslint v6.2.0
3449- (package) eslint v6.2.0
3450- (@putout/plugin-remove-unused-private-fields) add support of anynomous class expression
3451- (@putout/plugin-remove-unused-private-fields) add support of ClassExpression
3452- (run-plugins) complexity on multiple fix rounds: quadratic -> linear
3453- (package) eslint-plugin-putout v9.1.0
3454- (package) eslint-plugin-putout v2.0.0
3455- (package) @putout/eslint-config v2.0.0
3456- (@putout/eslint-config) add support of ES2020
3457
3458
34592019.08.16, v5.7.0
3460
3461feature:
3462- (putout) run-plugins: move cache one level up
3463- (putout) process-file: add ability to cut brackets from parser errors
3464
3465
34662019.08.16, v5.6.0
3467
3468fix:
3469- test(putout) run-
3470
3471feature:
3472- (putout) show parser errors as rules errors
3473
3474
34752019.08.15, v5.5.0
3476
3477feature:
3478- (putout) show codeframe on --raw
3479
3480
34812019.08.15, v5.4.0
3482
3483feature:
3484- (putout) improve error message, add codeframe when --raw flag used
3485
3486
34872019.08.15, v5.3.6
3488
3489fix:
3490- (putout) process-file: log, ruler
3491
3492
34932019.08.14, v5.3.5
3494
3495feature:
3496- (putout) mv out process-file
3497
3498
34992019.08.14, v5.3.4
3500
3501feature:
3502- (putout) extend acorn options
3503
3504
35052019.08.14, v5.3.3
3506
3507fix:
3508- (putout) exclude wrap-plugin for browser build
3509
3510feature:
3511- (@putout/plugin-strict-mode) add support of flow
3512
3513
35142019.08.14, v5.3.2
3515
3516fix:
3517- (package) dependencies -> devDependencies: babel-plugin-transform-inline-consecutive-adds
3518
3519feature:
3520- (package) eslint v6.1.0
3521- (package) acorn v7.0.0
3522
3523
35242019.08.13, v5.3.1
3525
3526fix:
3527- feature(putout) wrap plugin: speed up: no need to transform in , traverse already transformed
3528
3529feature:
3530- (putout) wrap plugin: speed up: no need to transform in fix, traverse already transformed
3531- (eslint-plugin-putout) add for-of-multiple-properties-destructuring
3532- (@putout/plugin-remove-useless-variables) add support of for-of
3533- (package) putout v5.3.0
3534
3535
35362019.08.12, v5.3.0
3537
3538feature:
3539- (putout) ruler: add ability to set on/off, when disable/enable
3540- (putout) recast v0.18.2
3541
3542
35432019.08.09, v5.2.1
3544
3545fix:
3546- (putout) state validation
3547
3548
35492019.08.09, v5.2.0
3550
3551feature:
3552- (putout) add ability to enable/disable rules using on/off
3553- (putout) parse-plugin-names: add ability to pass an array
3554
3555
35562019.08.09, v5.1.0
3557
3558feature:
3559- (putout) add ability to pass plugin options via rules
3560
3561
35622019.08.09, v5.0.1
3563
3564fix:
3565- (putout) get-relative-path -> path.relative: determine relative path for ignore and match on windows (#7)
3566
3567
35682019.08.08, v5.0.0
3569
3570feature:
3571- (putout) move babel, codeshift into plugins section
3572
3573
35742019.08.07, v4.72.1
3575
3576fix:
3577- (putout) improve jscodeshift support
3578
3579
35802019.08.07, v4.72.0
3581
3582feature:
3583- (putout) jscodeshift: add support of options
3584
3585
35862019.08.07, v4.71.0
3587
3588feature:
3589- (putout) add support of jscodeshift codemods
3590
3591
35922019.08.07, v4.70.0
3593
3594fix:
3595- (@putout/plugin-madrun) add-madrun-to-lint: str check
3596- (@putotu/plugin-remove-useless-variables) npmignore: fixture
3597- (eslint-plugin-putout) single-property-destructuring: rename
3598
3599feature:
3600- (putout) eslint: add support of namespaced plugins
3601- (@putout/plugin-remove-useless-variables) add support of await Promise.resolve
3602
3603
36042019.08.06, v4.69.1
3605
3606fix:
3607- (putout) add esprima into bundle
3608
3609
36102019.08.06, v4.69.0
3611
3612fix:
3613- (@putout/plugin-madrun) add madrun to lint: exist
3614- (@putout/plugin-madrun types
3615
3616feature:
3617- (putout) add support of esprima
3618- (@putout/plugin-madrun) add-madrun-to-lint: add support of StringLiteral
3619
3620
36212019.08.05, v4.68.2
3622
3623feature:
3624- (putout) get-plugins: speed up
3625- (@putout/plugin-madrun) rename-eslint-to-putout: exclude calls with rulesdir
3626- (@putout/plugin-madrun) add rename-eslint-to-putout
3627- (package) eslint-plugin-node v9.1.0
3628- (@putout/plugin-madrun) add-madrun-to-lint: add support of TemplateLiteral with expression
3629
3630
36312019.08.05, v4.68.1
3632
3633fix:
3634- (putout) pluginCache -> cache
3635
3636
36372019.08.05, v4.68.0
3638
3639feature:
3640- (putout) add ability to disable plugins cache
3641
3642
36432019.08.05, v4.67.0
3644
3645feature:
3646- (putout) embed acorn, espree
3647
3648
36492019.08.02, v4.66.0
3650
3651fix:
3652- feature(@putout/eslint-config) disable require-atomic-updates: false positives most part of time, non fixeble
3653
3654feature:
3655- (putout) add ability to always read config from home directory if it exists
3656- (codemods) add cut-legacy
3657- (@putout/plugin-remove-useless-variables) add: remove
3658- (@putout/eslint-config) disable require-atomic-updates: false positives most part of time, non fixeble
3659
3660
36612019.08.02, v4.65.2
3662
3663fix:
3664- (putout) exit
3665
3666
36672019.08.01, v4.65.1
3668
3669fix:
3670- (putout) run-babel-plugins: ":" -> "/"
3671
3672feature:
3673- (putout) babel: speed up: disable code generation
3674
3675
36762019.07.31, v4.65.0
3677
3678feature:
3679- (putout) load-plugins: speed up: add cache
3680- (putout) getFormatter -> once(getFormatter): speed up
3681- (package) eslint-plugin-node v9.1.0
3682- (package) eslint v6.1.0
3683
3684
36852019.07.30, v4.64.0
3686
3687feature:
3688- (putout) add support of eslint
3689
3690
36912019.07.27, v4.63.2
3692
3693fix:
3694- (@putout/plugin-putout) convert-replace-with: add support of replaceWithMultiple
3695- (@putout/plugin-convert-top-level-return) replaceWith
3696- (putout) get back strict mode processing
3697- (putout) get back shebang check
3698
3699
37002019.07.26, v4.63.1
3701
3702fix:
3703- (@putout/plugin-convert-top-level-return) add support of ReturnStatement argument
3704
3705feature:
3706- (putout) run-babel-plugins: avoid print when no babel plugins
3707
3708
37092019.07.26, v4.63.0
3710
3711feature:
3712- (putout) estree parsers: add support of interpreter directive
3713
3714
37152019.07.26, v4.62.0
3716
3717feature:
3718- (@putout/plugin-conert-top-level-return) add
3719
3720
37212019.07.26, v4.61.0
3722
3723fix:
3724- (putout) babel plugins: position
3725- (eslintrc) overrides does not supported by eslint
3726- (@putout/plugin-extract-sequence-epxressions) add support of WhileStatement
3727- (@putout/eslint-config) rm overrides: does not supported by eslint
3728- (@putout/eslint-config) no-unneded-ternary: default-assignment: defaultAssignment
3729
3730feature:
3731- (putout) rm shebang check
3732- (putout) improve directives support
3733- (@putout/eslint-config) overrids "bin": disable rules: no-console, no-process-exit
3734- (@putout/eslint-config) no-unneded-ternary: default-assignment: false
3735
3736
37372019.07.24, v4.60.0
3738
3739fix:
3740- (eslint-config) prefer-const: destructuring-all
3741
3742feature:
3743- (@putout/plugin-simplify-ternary) add
3744- (@putotu/plugin-extract-sequence-expressions) add support of for
3745- (package) eslint-plugin-putout v1.9.1
3746- (package) eslint-plugin-node v9.1.0
3747- (package) eslint v6.1.0
3748
3749
37502019.07.23, v4.59.2
3751
3752fix:
3753- (putout) parse-options: no name
3754
3755feature:
3756- (@putout/plugin-madrun) add add-madrun-to-lint
3757- (@putout/plugin-madrun) add convert lint:lib
3758
3759
37602019.07.23, v4.59.1
3761
3762fix:
3763- (putout) parse-options: get options from: cwd -> dirname
3764- (@putout/plugin-putout) mv out replaceWith from traverse
3765
3766
37672019.07.23, v4.59.0
3768
3769feature:
3770- (putout) add ability to use await outside function
3771
3772
37732019.07.22, v4.58.1
3774
3775fix:
3776- (putout) parseMatch
3777- (@putout/plugin-convert-for-each-to-for-of) same name
3778
3779
37802019.07.22, v4.58.0
3781
3782feature:
3783- (putout) simplify parseOptions
3784
3785
37862019.07.22, v4.57.0
3787
3788fix:
3789- (eslint-plugin-putout) putout: options
3790
3791feature:
3792- (eslint-plugin-putout) simplify putout.getOptions
3793- (putout) add --rulesdir
3794- (eslint-plugin-putout) eslint
3795
3796
37972019.07.21, v4.56.0
3798
3799feature:
3800- (putout) getOptions
3801- (package) eslint v6.1.0
3802- (@putout/plugin-madrun) add convert-run-argument
3803- (eslint-plugin-putout) add ability to use putout as eslint plugin
3804
3805
38062019.07.21, v4.55.0
3807
3808fix:
3809- (babel-plugin-putout) unused variable
3810
3811feature:
3812- (eslint-plugin-putout) add ability to use putout as eslint plugin
3813- (@putout/eslint-config) add quote-props
3814- (eslint-config) add no-unneeded-ternary
3815
3816
38172019.07.18, v4.54.0
3818
3819fix:
3820- (@putout/plugin-strict-mode) add: literal -> directive
3821- (putout) client build: disable babelPlugins for client side
3822
3823feature:
3824- (putout) add merge
3825- (babel-plugin-putout) add
3826- (package) eslint-plugin-node v9.1.0
3827- (putout) add transform
3828
3829
38302019.07.18, v4.53.0
3831
3832fix:
3833- (@putout/plugin-extract-sequence-expressions) add support of CallExpressions callee
3834- (eslint-plugin-putout) rm unused @babel/types
3835
3836feature:
3837- (putout) add support of babel plugins (babel/babel#10231)
3838- (eslint-plugin-putout) new-line-function-call-arguments: relay less on function-paren-newline
3839
3840
38412019.07.10, v4.52.3
3842
3843fix:
3844- (putout) default options: madrun/* -> madrun
3845- (@putout/plugin-extract-sequence-expressions) rm unused
3846
3847
38482019.07.09, v4.52.2
3849
3850feature:
3851- (package) deepmerge v4.0.0
3852- (@putout/plugin-remove-empty) remove-empty-block: add support of CallExpression in IfStatement test
3853- (@putout/plugin-extract-sequence-expressions) add support of ArrowFunctionExpressions with SequenceExpression body
3854
3855
38562019.07.08, v4.52.1
3857
3858fix:
3859- (putout) --disable
3860
3861
38622019.07.08, v4.52.0
3863
3864fix:
3865- (@putout/plugin-split-variable-declarations) exclude ExportNamedDeclaration
3866
3867feature:
3868- (@putout/plugin-remove-unreachable-code) add
3869
3870
38712019.07.05, v4.51.0
3872
3873fix:
3874- (putout) parentPath removed
3875- (@putout/plugin-convert-for-each-to-for-of) add support of IfCondition
3876
3877feature:
3878- (@putout/plugin-remove-unused-variables) add support of FunctionExpression in ConditionalExpression
3879- (@putout/plugin-remove-unused-variables) add support of ForInStatement
3880
3881
38822019.07.05, v4.50.0
3883
3884feature:
3885- (putout) custom-parser: babel: disable estree when flow used
3886
3887
38882019.07.05, v4.49.0
3889
3890feature:
3891- (putout) improve solidity, decrease fixes count: run fixes while traversing merged visitors, when in --fix mode'
3892
3893
38942019.07.05, v4.48.2
3895
3896fix:
3897- (@putout/plugin-extract-object-properties) scope.uid check
3898- (@putout/plugin-extract-object-properties) getAllBindings -> expandPath.bindings
3899- (@putout/plugin-extract-object-properties) check all bindings, not only current
3900
3901feature:
3902- (putout) show all rules, when --enable, --disable has no args
3903
3904
39052019.07.04, v4.48.1
3906
3907fix:
3908- (putout) dist: disable minification
3909
3910
39112019.07.04, v4.48.0
3912
3913feature:
3914- (@putout/plugin-remove-double-negations) add
3915- (@putout/plugin-remove-empty) remove-empty-block: add support of negation
3916- (@putout/plugin-merge-if-statements) add support of inner else
3917- (@putout/plugin-merge-if-statements) add support of an emtpy block
3918
3919
39202019.07.04, v4.47.0
3921
3922fix:
3923- (putout) match .ts -> .ts$
3924
3925feature:
3926- (@putout/plugin-merge-if-statements) add
3927- (package) eslint-plugin-node v9.1.0
3928- (package) eslint v6.0.1
3929
3930
39312019.07.03, v4.46.2
3932
3933fix:
3934- (@putout/plugin-remove-empty) remove-empty-block: else if
3935- (putout) enable/disable: parse
3936- (@putout/plugin-extract-object-properties) rm unused
3937- (@putout/plugin-putout) convert-find-to-traverse: traverse not last expression in function
3938
3939feature:
3940- (@putout/plugin-extract-object-properties) add support of different deep
3941
3942
39432019.07.03, v4.46.1
3944
3945fix:
3946- (putout) match: "bin" -> "bin/"
3947
3948feature:
3949- (@putout/plugin-convert-binary-expression-to-boolean) exclude bitwise operator
3950- (@putout/plugin-remove-unused-variables) add support of InterfaceDeclaration/TSInterfaceDeclaration in flow/typescript
3951
3952
39532019.07.03, v4.46.0
3954
3955feature:
3956- (putout) add ability to determine jsx
3957- (@putout/plugin-remove-unused-variables) add support of ClassDeclaration in ExportNamedDeclaration
3958- (@putout/plugin-remove-unused-variables) add support of TSExpressionWithTypeArguments
3959- (@putout/plugin-remove-unused-variables) add support of QualifiedTypeIdentifier
3960
3961
39622019.07.02, v4.45.0
3963
3964feature:
3965- (putout) add ability to optionally disable jsx/enable flow
3966
3967
39682019.07.02, v4.44.0
3969
3970fix:
3971- (convert-esm-to-commonjs): add empty imports
3972- (@putout/operate) when replaceWithMultiple used do not use replaceWith
3973- (@putout/plugin-convert-for-each-to-for-of) replaceWithMultiple: condition
3974
3975feature:
3976- (putout) disable "strict-mode/add" for typescript
3977- (package) eslint-plugin-node v9.1.0
3978- (package) eslint v6.0.1
3979
3980
39812019.07.01, v4.43.0
3982
3983feature:
3984- (putout) add ability to enable, disable, enable-all and disable-all rules from cli
3985
3986
39872019.07.01, v4.42.0
3988
3989fix:
3990- (@putout/plugin-convert-apply-to-spread) rm quotes
3991
3992feature:
3993- (putout) add ability to handle overlaped plugins: missing node
3994- (@putout/plugin-remove-unused-variables) add support of named FunctionExpression in ReturnStatement
3995- (package) eslint-plugin-node v9.1.0
3996- (package) eslint v6.0.1
3997
3998
39992019.07.01, v4.41.0
4000
4001feature:
4002- (@putout/convert-for-each-to-for-of) add support of empty return
4003- (@putout/operate) add
4004- (@putout/plugin-convert-for-each-to-for-of) add support of indexes
4005
4006
40072019.07.01, v4.40.0
4008
4009feature:
4010- (putout) operate: add ability to return result from operate.replaceWith
4011- (@putout/plugin-convert-for-each-to-for-of) add support of ReturnStatement
4012
4013
40142019.06.29, v4.39.0
4015
4016fix:
4017- (@putout/plugin-convert-for-each-to-for-of) ts: for-of does not support typeAnnotation
4018- feature(@putout/test) add support of .ts files as fixtures
4019
4020feature:
4021- (putout) enable typescript only for .ts files
4022- (package) eslint v6.0.1
4023- (@putout/plugin-remove-empty) add support of empty consquent block, and not empty alternate block if IfStatement
4024- (@putout/plugin-remove-unused-variables) add support of TSInterfaceDeclaration, TSMethodSignature
4025- (package) eslint-plugin-node v9.1.0
4026- (package) eslint v6.0.1
4027- (package) eslint-plugin-node v9.1.0
4028- (package) eslint v6.0.1
4029- (@putout/test) add support of .ts files as fixtures
4030- (@putout/plugin-convert-for-each-to-for-of) exclude var variables with bound names
4031- (@putout/plugin-convert-for-each-to-for-of) remove nested block
4032- (@putout/plugin-convert-for-each-to-for-of) add support of context argument
4033- (@putout/plugin-convert-for-each-to-for-of) exclude map chaining
4034- (@putout/plugin-remove-unused-variables) add support of TSQualifiedName
4035- (@putout/plugin-remove-unused-variables) add support of TSTypeReference
4036
4037
40382019.06.28, v4.38.0
4039
4040fix:
4041- (@putout/plugin-putout) replace-with: exists
4042
4043feature:
4044- (@putout/plugin-putout) add ability to convert replaceWithMultiple
4045
4046
40472019.06.27, v4.37.1
4048
4049fix:
4050- (@putout/plugin-split-variable-declarations) comments
4051
4052feature:
4053- (putout) operate: replaceWithMultiple: add support of current node comments
4054
4055
40562019.06.27, v4.37.0
4057
4058feature:
4059- (@putout/plugin-remove-unused-variables) add support of GenericTypeAnnotation
4060- (putout) add support of flow, typescript
4061- (putout) add support of jsx
4062
4063
40642019.06.27, v4.36.1
4065
4066fix:
4067- (putout) recast: repo -> tar
4068
4069feature:
4070- (@putout/plugin-remove-useless-variables) add support of not const assignments
4071
4072
40732019.06.27, v4.36.0
4074
4075feature:
4076- (@putout/plugin-apply-destructuring) add support of logical expressions
4077- (putout) add fork of recast, while merged benjamn/recast#609
4078
4079
40802019.06.26, v4.35.0
4081
4082fix:
4083- (eslint-config) get back function-parent-newline
4084- (eslint-config) rm function-paren-newline
4085
4086feature:
4087- (putout) operate: replaceWith: add ability to preserve loc
4088- (@putout/plugin-apply-destructuring) add support of multiplevariables
4089- (@putout/plugin-remove-unused-variables) add support of AssignmentPattern in function arguments
4090- (@putout/plugin-remove-useless-variables) add support of ExportNamedDeclaration
4091- (@putout/plugin-remove-unused-variables) add support of FunctionExpression in NewExpression
4092- (eslint-plugin-putout) add new-line-function-call-arguments
4093
4094
40952019.06.25, v4.34.0
4096
4097feature:
4098- (@putout/plugin-convert-for-each-to-for-of) add
4099
4100
41012019.06.25, v4.33.0
4102
4103fix:
4104- (putout) operate: replaceWithMultiple: handle empty array case
4105
4106feature:
4107- (@putout/plugin-remove-nested-blocks) add
4108
4109
41102019.06.25, v4.32.3
4111
4112feature:
4113- (putout) speed up vistors merge
4114
4115
41162019.06.24, v4.32.2
4117
4118fix:
4119- feature(putout) increase fixCount to 2 in library version
4120
4121feature:
4122- (putout) increase fixCount to 2 in library version
4123- (@putout/eslint-config) add nonblock-statement-body-position
4124- (@putout/eslint-config) add no-else-return
4125
4126
41272019.06.24, v4.32.1
4128
4129fix:
4130- (putout) remove empty imports (#5)
4131- (@putout/plugin-split-variable-declaration) variables -> Variables
4132- (@putout/plugin-remove-unused-variables) improve support of ClassExpression
4133- (@putout/plugin-remove-useless-variables) exclude ObjectPattern argument
4134- (@putout/plugin-extract-object-properties) report: object -> Object
4135- (@putout/plugin-extract-object-properties) duplicate property name
4136- (@putout/plugin-remove-empty) remove-empty-block: add same path twice
4137
4138feature:
4139- (@putout/plugin-remove-unused-variables) add support of YieldExpression, AwaitExpression
4140- (package) eslint-plugin-node v9.1.0
4141- (@putout/plugin-remove-unused-variables) add support of Function in VariableDeclarator, AssignmentExpression
4142- (package) eslint-plugin-node v9.1.0
4143- (@putout/plugin-remove-unused-variables) add support of Function as argument of CallExpression
4144- (@putout/plugin-remove-unused-variables) get-vars: ArrowFunctionExpression, FunctionDeclaration -> Function
4145- (package) eslint-plugin-node v9.1.0
4146- (package) eslint-plugin-node v9.1.0
4147- (@putout/plugin-remove-unused-variables) add support of ClassExpression
4148- (@putout/plugin-remove-unused-variables) add support of nested arguments
4149- (@putout/plugin-remove-empty) add support of .min in empty import
4150- (package) eslint-plugin-node v9.1.0
4151- (@putout/plugin-remove-unused-variables) add support of export anonymous class
4152- (package) eslint-plugin-node v9.1.0
4153- (@putout/plugin-convert-commonjs-to-esm) add support of relative paths
4154
4155
41562019.06.19, v4.32.0
4157
4158fix:
4159- (@putout/plugin-apply-destructuring) npmignore: add fixture, *.spec.js
4160
4161feature:
4162- (putout) add support of numericSeparator
4163
4164
41652019.06.19, v4.31.0
4166
4167fix:
4168- feature(@putout/eslint-config) add function-paren-newline, space-infix-ops
4169- (pascal-to-camel) isBig
4170
4171feature:
4172- (putout) speed up: add ability to merge visitors
4173- (@putout/eslint-config) add function-paren-newline, space-infix-ops
4174- (package) eslint-plugin-node v9.1.0
4175
4176
41772019.06.18, v4.30.0
4178
4179fix:
4180- (@putout/plugin-convert-commonjs-to-esm) npmignore
4181- (@putout/plugin-convert-esm-to-commonjs) npmignore
4182- (@putout/plugin-remove-process-exit) eslint-plugin-putout: dependency -> devDependency
4183- (@putout/plugin-remove-console) eslint-plugin-putout: dependency -> devDependency
4184- (@putout/plugin-convert-esm-to-commonjs) eslint-plugin-putout: dependency -> devDependency
4185- (@putout/plugin-extract-object-properties) add support of no destructuring
4186- (@putout/plugin-extract-object-properties) different function arguments
4187
4188feature:
4189- (putout) add bundle dist/putout.js
4190- (@putout/plugin-remove-unused-expressions) add support of Literal
4191
4192
41932019.06.14, v4.29.0
4194
4195feature:
4196- (@putout/plugin-extract-object-properties) add
4197
4198
41992019.06.14, v4.28.2
4200
4201fix:
4202- (putout) formatter
4203
4204
42052019.06.14, v4.28.1
4206
4207feature:
4208- (@putout/plugin-putout) add convert-babel-types
4209
4210
42112019.06.14, v4.28.0
4212
4213feature:
4214- (@putout/plugin-extract-sequance-expressions) add ability to keep comments
4215
4216
42172019.06.14, v4.27.1
4218
4219feature:
4220- (@putout/plugin-putout) covert-replace-with
4221
4222
42232019.06.13, v4.27.0
4224
4225fix:
4226- (@putout/plugin-convert-commonjs-to-esm) preserve comments
4227
4228feature:
4229- (putout) operate: insertAfter
4230
4231
42322019.06.12, v4.26.0
4233
4234fix:
4235- (@putout/plugin-extract-sequence-expressions) remove redundant binaryExpression
4236
4237feature:
4238- (putout) add operate
4239
4240
42412019.06.12, v4.25.0
4242
4243fix:
4244- (@putout/plugin-convert-commonjs-to-esm) rm console.log
4245
4246feature:
4247- (@putout/plugin-extract-sequence-expressions) add
4248- (@putout/plugin-convert-commonjs-to-esm) exclude sequence expressions
4249- (@putout/plugin-convert-commonjs-to-esm) add support of named exports
4250
4251
42522019.06.12, v4.24.1
4253
4254fix:
4255- (putout) merge config
4256
4257feature:
4258- (@putout/plugin-convert-commonjs-to-esm) exclude non-literal require arguments
4259
4260
42612019.06.12, v4.24.0
4262
4263feature:
4264- (@putout/convert-commonjs-to-esm) add
4265- (eslint-config) add no-extra-parens
4266- (package) eslint 6.0.0-rc
4267- (@putout/plugin-remove-unused-variables) add support of export default anonymous function
4268
4269
42702019.06.07, v4.23.5
4271
4272fix:
4273- (@putout/plugin-remove-unused-variables) unused variable on the left of AssignmentPattern in ObjectProperty
4274
4275feature:
4276- (custom-parser) babel: add importMeta
4277- (convert-pascal-to-camel) add
4278- (@putout/plugin-remove-unused-variables) improve support of Property of ObjectPattern in FunctionDeclaration/ArrowFunctionExpression
4279- (eslint-plugin-putout) multiple-properties-destructuring: add option minProperties (#3)
4280
4281
42822019.05.18, v4.23.4
4283
4284fix:
4285- (putout) places check -> input/output check
4286
4287
42882019.05.18, v4.23.3
4289
4290feature:
4291- (package) find-up v4.0.0
4292
4293
42942019.05.18, v4.23.2
4295
4296fix:
4297- (putout) --: write all files -> write only fixed files
4298
4299
43002019.05.14, v4.23.1
4301
4302feature:
4303- (package) recast v0.18.0
4304- (package) espree v6
4305
4306
43072019.04.24, v4.23.0
4308
4309feature:
4310- (parse-match) add ability to merge much rules
4311- (package) nyc v14.0.0
4312
4313
43142019.04.11, v4.22.0
4315
4316feature:
4317- (@putout/plugin-remove-boolean-from-logical-expressions) add
4318
4319
43202019.04.11, v4.21.0
4321
4322feature:
4323- (@putout/plugin-convert-binary-expression-to-boolean) add
4324
4325
43262019.04.08, v4.20.0
4327
4328feature:
4329- (putout) add ability to use return push in traverse
4330- (@putout/plugin-remove-constant-conditions) add support of same identificators
4331- (@putout/plugin-remove-unused-variables) add support of ObjectMethod params
4332
4333
43342019.04.02, v4.19.0
4335
4336fix:
4337- (@putout/plugin-remove-empty-pattern) report
4338
4339feature:
4340- (@putout/plugin-putout) add
4341- (@putout/eslint-config) padding-line-beetween-statements: add empty line before if condition
4342- (@putout/plugin-remove-empty-pattern) add support of function argument
4343- (@putout/plugin-remove-empty) add support of css
4344
4345
43462019.03.28, v4.18.1
4347
4348fix:
4349- (putout) printOptions: disable objectCurlySpacing
4350- (@putout/plugin-remove-unused-variables) remove ImportDeclaration -> remove specifier of ImportDeclaration
4351
4352feature:
4353- (@putout/plugin-remove-empty) add support of imports
4354- (@putout/plugin-remove-unused-variables) add support of ImportDeclaration
4355- (eslint-config) add keyword-spacing
4356
4357
43582019.03.27, v4.18.0
4359
4360feature:
4361- (putout) add support of dynamicImport
4362
4363
43642019.03.22, v4.17.0
4365
4366feature:
4367- (@putout/plugin-convert-object-assign-to-merge-spread) add
4368- (traverse) move out RestElement, SpreadElement to get-vars
4369
4370
43712019.03.22, v4.16.2
4372
4373fix:
4374- (@putout/formatter-dump) return
4375- (@putout/plugin-remove-constant-conditions) exclude else
4376
4377feature:
4378- (package) array-union v2.0.0
4379- (@putout/plugin-remove-unused-variables) add support of AssignmentPattern in Destructuring
4380- (@putout/plugin-remove-constant-condition) add support of else if
4381
4382
43832019.03.20, v4.16.1
4384
4385fix:
4386- (putout) add -f, --format
4387
4388
43892019.03.20, v4.16.0
4390
4391fix:
4392- test(@putout/formatter-codeframe) fixture
4393- test(@putout/plugin-remove-unused-variables) fixture
4394- test(@putout/formatter-json) fixture
4395
4396feature:
4397- (@putout/plugin-remove-constant-condition) add
4398
4399
44002019.03.19, v4.15.1
4401
4402feature:
4403- (eslint-config) add arrow-parens
4404
4405
44062019.03.19, v4.15.0
4407
4408fix:
4409- (@putout/plugin-remove-unused-variables) ObjectMethod
4410- (eslint-plugin-putout) multiple-properties-destructuring: exclude ForOfStatement
4411- (@putout/formatter-dump) duplicate output
4412
4413feature:
4414- (@putout/formatter-codeframe) add
4415- (@putout/formatter-eslint) add
4416- (@putout/formatter-json) export jsonFormatter
4417
4418
44192019.03.18, v4.14.0
4420
4421feature:
4422- (@putout/formatter-json) add
4423
4424
44252019.03.15, v4.13.0
4426
4427fix:
4428- (@putout/formatter-progress) dependencies: add @putout/formatter-dump
4429
4430feature:
4431- (putout) add support of acorn
4432
4433
44342019.03.14, v4.12.0
4435
4436feature:
4437- (putout) add formatter progress
4438
4439
44402019.03.13, v4.11.2
4441
4442fix:
4443- (putout) absent dependency
4444- (formatter) dump/stream: output check
4445
4446
44472019.03.13, v4.11.1
4448
4449fix:
4450- (putout) report: places check
4451- (@putout/test) format: name
4452- (multiple-properties-destructuring) two properties on a same line
4453
4454
44552019.03.13, v4.11.0
4456
4457feature:
4458- (putout) add support of custom formatters: dump, stream
4459- (@putout/test) add support of noTransform
4460- (eslint-config) add support of globalReturn
4461
4462
44632019.03.12, v4.10.0
4464
4465fix:
4466- (@putout/plugin-remove-useless-variables) name
4467- (@putout/plugin-remove-useless-variables) handle id, init not identifiers
4468
4469feature:
4470- (putout) pretify -> report
4471- (putout) add report-find
4472- (putout) add report-end
4473- (@putout/remove-useless-variables) add support of uppercase
4474- (@putout/remove-useless-variables) add support of destructuring
4475- (@putout/plugin-convert-apply-to-spread) add support of this and nested MemberExpressions
4476- (@putout/plugin-remove-useless-variables) exclude shorthand variables
4477
4478
44792019.03.06, v4.9.0
4480
4481fix:
4482- (eslint-plugin-putout) long-properties-destructuring: add support of RestElement
4483- (@putout/plugin-convert-arguments-to-rest) "rest" -> rest parameters
4484- (@putout/plugin-remove-empty) block: missing return when tryStatement used
4485
4486feature:
4487- (@putout/plugin-remove-useless-variables) add
4488- (@putout/plugin-remove-empty) block: add support of try catch
4489- (@putout/plugin-remove-unused-variables) add support of ExpressionStatement
4490
4491
44922019.03.06, v4.8.1
4493
4494fix:
4495- (putout) support of "*.*"
4496
4497
44982019.03.05, v4.8.0
4499
4500feature:
4501- (@putout/plugin-remove-unused-expressions) add
4502- (@putotu/plugin-remove-unused-variables) add support of ObjectExpression in ExportDefaultDeclaration
4503- (@putout/plugin-remove-unused-variables) add support of ClassDeclaration in ExportDefaultDeclaration
4504- (@putotu/plugin-remove-unused-variables) condition isObjectExpression -> traverse ObjectExpression
4505- (putout) isTemplateLiteral checks -> TemplateLiteral key
4506- (putout) add support of TemplateLiteral in ConditionalExpresssion
4507- (@putout/plugin-remove-unused-variables) add support of Identifier in JSXSpreadAttribute
4508- (@putout/plugin-remove-unused-variables) add support of marking as used elements before RestElement when destructuring used as a function param
4509- (@putout/plugin-remove-unused-variables) add support of specifiers in ExportNamedDeclaration
4510- (@putout/plugin-remove-unused-variables) add support of TemplateLiteral in JSXExpressionContainer
4511- (@putout/plugin-remove-unused-variables) add support of JSXSpreadAttribute
4512
4513
45142019.02.28, v4.7.1
4515
4516fix:
4517- (putout) renamed: convert-arguments-to-spread -> convert-arguments-to-rest
4518
4519
45202019.02.28, v4.7.0
4521
4522fix:
4523- (putout) get config from bottom directory -> get config from current directory
4524- (npmignore) add *.md
4525
4526feature:
4527- (putout) ignore: add node_modules
4528- (@putout/plugin-remove-unused-variables) add support of VariableDeclaration in ExportNamedDeclaration
4529- (eslint-plugin-putout) add long-properties-destructuring
4530- (@putout/plugin-convert-apply-to-spread) add support of context switch in apply
4531
4532
45332019.02.28, v4.6.0
4534
4535feature:
4536- (@putout/plugin-convert-arguments-to-spread) add
4537
4538
45392019.02.27, v4.5.0
4540
4541fix:
4542- (eslint-plugin-putout) JSX support
4543
4544feature:
4545- (@putout/plugin-convert-apply-to-spread) add
4546- (eslintrc) add sourceType, ecmaFeatures
4547
4548
45492019.02.26, v4.4.1
4550
4551fix:
4552- (putout) version
4553- (@putout/plugin-react-hooks) convert-import-component-to-use-state: Component
4554
4555
45562019.02.26, v4.4.0
4557
4558feature:
4559- (@putout/plugin-convert-math-pow) add
4560- (@putout/plugin-react-hooks) remove-this: rm addition check
4561- (@putout/plugin-remove-unused-variables) add support of identifiers in SwitchCase test
4562
4563
45642019.02.22, v4.3.2
4565
4566fix:
4567- (putout) apply changes
4568
4569
45702019.02.22, v4.3.1
4571
4572fix:
4573- (run-plugins) add early return when no need to apply changes
4574- docs(changelog) rm
4575
4576
45772019.02.22, v4.3.0
4578
4579feature:
4580- (putout) add support of --fix-count
4581
4582
45832019.02.21, v4.2.2
4584
4585fix:
4586- (putout) move madrun on top of plugins
4587
4588feature:
4589- (@putout/plugin-madrun) rename-series-to-run
4590
4591
45922019.02.21, v4.2.1
4593
4594fix:
4595- ((putout) read package.json if .putout.json not found: default match doesn't work without package.json dirname
4596- (eslint-plugin-putout) multiple-properties-destructuring: more then 1 -> more then 2 properties
4597- (@putout/eslint-config) rm object-property-newline
4598
4599feature:
4600- (plugin-madrun) call-series -> call-run
4601- (eslint-plugin-putout) add suppport of multiple-properties-destructuring
4602- (eslint-config) add object-property-newline
4603
4604
46052019.02.20, v4.2.0
4606
4607feature:
4608- (putout) babel: enable allowReturnOutsideFunction
4609- (@putout/plugin-madrun) convert-redrun-to-series -> call-series: add npm
4610- (@putout/plugin-madrun) add support of redrun args
4611- (eslint-config) add linebreak-style
4612- (@putout/plugin-madrun) add convert-redrun-to-series
4613
4614
46152019.02.19, v4.1.2
4616
4617fix:
4618- (putout) remove plugin remove-empty-pattern
4619
4620feature:
4621- (get-plugins) optimize: paths
4622
4623
46242019.02.19, v4.1.1
4625
4626fix:
4627- (putout) putout .
4628- (eslint-plugin-putout) one-line-destructuring: exclude default assignment of property
4629
4630feature:
4631- (@putout/plugin-remove-console) add support of console.time, console.timeEnd
4632
4633
46342019.02.18, v4.1.0
4635
4636fix:
4637- (@putout/plugin-strict-mode) npmignore: .spec.js
4638- (@putout/plugin-strict-mode) npmignore: fixture
4639- (putout) when find error - exit 1
4640- (putout) remove align-spaces
4641
4642feature:
4643- (@putout/plugin-strict-mode) add
4644- (eslint-config) add lines-around-directives
4645
4646
46472019.02.17, v4.0.3
4648
4649fix:
4650- (npmignore) yarn-error.log
4651- (putout) merge match: user match first
4652
4653feature:
4654- (eslint-plugin-putout) add align-spaces
4655- (eslint-plugin-putout) add destructuring-as-function-argument
4656
4657
46582019.02.17, v4.0.2
4659
4660fix:
4661- (putout) remove-only, remove-skip: enabled only for test, .spec.js
4662
4663
46642019.02.16, v4.0.1
4665
4666fix:
4667- (package) dependencies: @putout/plugin-madrun
4668
4669
46702019.02.16, v4.0.0
4671
4672fix:
4673- (@putout/plugin-remove-unused-variables) Identifiers in IfStatement
4674
4675feature:
4676- (@putout/plugin-apply-destructuring) add support of array destructuring
4677- (@putout/plugin-remove-empty) join with @putout/plugin-remove-empty-pattern
4678- (putout) set defaults for bin
4679- (putout) remove support of putout section of package.json
4680- (putout) rm --config
4681- (eslint-config) prefer-destructuring: AssignmentExpression: disable ojbect
4682- (eslint-config) prefer-destructuring
4683- (putout) madrun v2.0.0
4684
4685
46862019.02.15, v3.24.0
4687
4688feature:
4689- (package) madrun v2.0.0
4690- (putout) add @putout/plugin-madrun
4691
4692
46932019.02.15, v3.23.0
4694
4695fix:
4696- (@putout/plugin-madrun) add .spec.js to ignore
4697- (@putout/test) report/reportCode: disable
4698
4699feature:
4700- (@putout/plugin-madrun) add
4701- (putout) move out prettify from bin
4702
4703
47042019.02.14, v3.22.0
4705
4706fix:
4707- (@putout/plugin-react-hooks) convert-state-to-hooks: @babel/template -> putout
4708- (npmignore) add fixture
4709- (putout) merge plugins: core, userland -> userland, core
4710
4711feature:
4712- (@putout/plugin-remove-unused-private-fields) add
4713- (react-hooks) findClass -> traverseClass
4714- (@putout/plugin-react-hooks) add
4715- (plugin-remove-unused-variables) add support of Identifier in ExportDefault declaration
4716
4717
47182019.02.12, v3.21.0
4719
4720feature:
4721- (putout) add ability to call push, instead of return places
4722
4723
47242019.02.11, v3.20.1
4725
4726fix:
4727- (putout) get-plugin: node_modules search
4728- (@putout/test) rm rules
4729
4730feature:
4731- (@putout/test) add support of rules property of plugin
4732
4733
47342019.02.11, v3.20.0
4735
4736feature:
4737- (get-plugins) add support of rules
4738- (plugin-remove-only) redrun -> madrun
4739
4740
47412019.02.08, v3.19.0
4742
4743feature:
4744- (putout) add support of custom parser
4745- (eslint-config) add no-multi-spaces
4746
4747
47482019.02.07, v3.18.0
4749
4750feature:
4751- (putout) add support of parser
4752- (plugin-remove-unused-variables) split AssingmentExpression and assignmentPattrn
4753- (eslint-plugin-putout) one-line-destructuring: condition -> selector
4754
4755
47562019.02.04, v3.17.3
4757
4758feature:
4759- (get-vars) scopeBlocks -> scope.uid
4760- (package) yargs-parser v13.0.0
4761- (plugin-remove-empty) @putout/eslint-config -> eslint-plugin-putout
4762- (plugin-remove-empty) redrun -> madrun
4763- (plugin-remove-empty-pattern) redrun -> madrun
4764
4765
47662019.02.01, v3.17.2
4767
4768fix:
4769- (eslint-plugin-putout) recommended
4770- (eslint-plugin-putout) one-line-destructuring: false positive
4771- chore() rm "\n"
4772- (apply-destructuring) ObjectPattern as id, Literal as property
4773
4774feature:
4775- (package) yargs-parser v12.0.0
4776- (eslint-config) no-trailing-space
4777- (eslint-config) add comma-dangle
4778- (putout) add eslint-plugin-node
4779- (eslint-plugin-putout) add
4780- (eslintrc) add no-var, prefer-const
4781- (plugin-apply-destructuring) add support of VariableDeclaration kinds different then const (var, let)
4782- (plugin-merge-destructuring) do not merge variables with different kinds
4783
4784
47852019.01.28, v3.17.1
4786
4787fix:
4788- (putout) template -> generate
4789
4790
47912019.01.28, v3.17.0
4792
4793fix:
4794- (plugin-merge-destructuring-properties) overwrite property
4795
4796feature:
4797- (putout) add @babel/generator
4798
4799
48002019.01.28, v3.16.0
4801
4802fix:
4803- (merge-destructuring-properties) rm recast
4804
4805feature:
4806- (plugin-apply-destructuring) add
4807- (plugin-merge-destructuring-properties) add
4808
4809
48102019.01.28, v3.15.2
4811
4812fix:
4813- (putout) call plugin.: with place -> with item
4814
4815feature:
4816- (convert-esm-to-commonjs) add support of same name of imported and local
4817- (plugin-convert-esm-to-commonjs) add support of CallExpression in ExportDefaultDeclaration
4818
4819
48202019.01.27, v3.15.1
4821
4822fix:
4823- (package) dependencies: add @putout/plugin-convert-esm-to-commonjs
4824
4825
48262019.01.27, v3.15.0
4827
4828feature:
4829- (plugin-convert-esm-to-commonjs) add
4830- (eslint-config) add no-useless-rename
4831
4832
48332019.01.27, v3.14.0
4834
4835fix:
4836- (plugin-remove-empty) package: description
4837
4838feature:
4839- (putout) add @babel/template
4840- (plugin-remove-unused-variables) redrun -> madrun
4841- (plugin-remove-unused-variables) BinaryExpression: add support of TemplateLiteral
4842- (putout) add support of madrun
4843
4844
48452019.01.24, v3.13.2
4846
4847fix:
4848- (putout) dependencies: @babel/parser
4849
4850
48512019.01.23, v3.13.1
4852
4853fix:
4854- (custom-parser) @babel/parser: jsx
4855
4856
48572019.01.23, v3.13.0
4858
4859feature:
4860- (putout) add support of @babel/parser
4861- (putout) move out espree to custom-parser
4862
4863
48642019.01.23, v3.12.0
4865
4866feature:
4867- (putout) add support of a no loc nodes
4868- (putout) decrease leak of a path
4869- (plugin-remove-unused-variables) use Map instead of Loc
4870- (@putout/plugin-remove-unused-variables) @babel -> putout
4871
4872
48732019.01.22, v3.11.0
4874
4875fix:
4876- feature(putout) remove recast-
4877- (plugin-remove-skip) @putout/test: dependencies -> devDependencies
4878
4879feature:
4880- (putout) remove recast-fix
4881- (@putout/plugin-remove-unused-variables) add ability to not relate on loc while searching and removing variables
4882- (@putout/test) add support of plugins as second argument of transform
4883
4884
48852019.01.21, v3.10.0
4886
4887fix:
4888- feature(@putout/test) add ability to check that report, find and functions exists
4889
4890feature:
4891- (plugin-remove-empty-pattern) add
4892- (plugin-remove-empty) @babel/types -> putout.types
4893- (eslintrc) implicit-error-line-break
4894- (eslintrc) add arrow-spacing
4895- (@putout/test) add ability to check that report, find and fix functions exists
4896- (plugin-remove-skip) @babel/types -> putout
4897- (plugin-remove-only) @babel/types -> putout.types
4898
4899
49002019.01.18, v3.9.0
4901
4902fix:
4903- (eslintrc) .eslintrc.js -> .eslintrc.json
4904- chore(split-variable-declaration-) add " "
4905
4906feature:
4907- (putout) add traverse, types to exports
4908- (package) eslint -> jsonlint
4909- (plugin-split-variable-declarations) set loc to work good with @putout/plugin-remove-unused-variables
4910- (@putout/test) transform: add support of plugins
4911- (package) add @putout/eslint-config
4912
4913
49142019.01.16, v3.8.0
4915
4916fix:
4917- (plugin-remove-unused-variables) ClassDeclaration: add support of bubling
4918- (putout) exit on parse error -> log on proceed
4919
4920feature:
4921- (plugin-remove-unused-variables) add support of jsx
4922- (putout) add support of jsx
4923- (plugin-remove-unused-variables) add support of ObjectExpression in arguments of NewExpression
4924- (plugin-remove-unused-varaibles) add support of AssignmentPattern in ObjectExpression
4925- (plugin-remove-unused-variables) add support of ClassDeclaration
4926
4927
49282019.01.15, v3.7.2
4929
4930fix:
4931- (get-plugins) plugins load
4932
4933
49342019.01.15, v3.7.1
4935
4936fix:
4937- (get-plugins) disable codemod
4938
4939
49402019.01.15, v3.7.0
4941
4942feature:
4943- (putout) read config not directory containg file not cwd
4944
4945
49462019.01.15, v3.6.3
4947
4948fix:
4949- (putout) position in files with shebang
4950
4951
49522019.01.14, v3.6.2
4953
4954fix:
4955- (putout) relative path
4956
4957
49582019.01.14, v3.6.1
4959
4960fix:
4961- (putout) argv: number
4962
4963feature:
4964- (plugin-remove-unused-variables) add traverse
4965- (plugin-remove-unused-variables) ObjectExpression add support of computed key
4966
4967
49682019.01.14, v3.6.0
4969
4970feature:
4971- (putout) move plugins init to bin
4972
4973
49742019.01.14, v3.5.1
4975
4976fix:
4977- (get-plugins) plugins merge
4978- (putout) : false by default
4979
4980
49812019.01.14, v3.5.0
4982
4983feature:
4984- (putout) add @putout/plugin-remove-empty
4985
4986
49872019.01.13, v3.4.2
4988
4989fix:
4990- (package) add once
4991
4992feature:
4993- (plugin-convert-tape-to-supertape) add support of tryToTape
4994
4995
49962019.01.13, v3.4.1
4997
4998fix:
4999- (putout) rm console.log
5000
5001
50022019.01.13, v3.4.0
5003
5004feature:
5005- (putout) add support of codemods
5006
5007
50082019.01.13, v3.3.5
5009
5010fix:
5011- (putout) ExportDefaultDeclaration (benjamn/recast/pull/561)
5012
5013feature:
5014- (@putout/test) no report messages
5015
5016
50172019.01.13, v3.3.4
5018
5019fix:
5020- (putout) getMessage -> report
5021- (@putout/test) message -> report
5022
5023feature:
5024- (@putout/test) add support of reportCode
5025- (@putout/test) add support of transformCode
5026
5027
50282019.01.13, v3.3.3
5029
5030fix:
5031- (putout) add print options: single quotes
5032
5033feature:
5034- (test) messages: add support of array
5035- (package) add @putout/test
5036- (@putout/test) add
5037- (package) add supertape from npm
5038
5039
50402019.01.12, v3.3.2
5041
5042fix:
5043- (putout) unused variables -> errors
5044
5045feature:
5046- (package) rm unused rendy
5047- (plugin-remove-console) simplified tests
5048- (putout) add support of ArrayExpression in AssignmentPattern
5049- (plugin-remove-unused-variabled) add support of ExportNamedDeclaration
5050
5051
50522019.01.11, v3.3.1
5053
5054fix:
5055- (putout) preventUsingEsprima
5056
5057feature:
5058- (package) recast v0.17.1
5059- (plugin-remove-unused-variables) add support of ExportDefaultDeclaration
5060- (putout) add sourceType: "module"
5061
5062
50632019.01.11, v3.3.0
5064
5065fix:
5066- (split-variable-declaration) add null-literal support
5067
5068feature:
5069- (putout) plugin: find(ast) -> find(ast, {traverse, types})
5070- (putout) plugin: message -> getMessage
5071
5072
50732019.01.10, v3.2.0
5074
5075feature:
5076- (plugin-remove-console) add
5077
5078
50792019.01.10, v3.1.0
5080
5081feature:
5082- (plugin-split-variable-declarations) add
5083
5084
50852019.01.10, v3.0.0
5086
5087fix:
5088- (plugin-remove-only) description
5089- feature(putout) change plugin structure: find,
5090
5091feature:
5092- (parse-match) move out from bin/putout.js
5093- (putout) add support of match/ignore
5094- (putout) add plugin name in erros output
5095- (plugin-remove-skip) add
5096- (putout) add ability to set config path
5097- (putout) cherow -> espree: comments support
5098- (putout) disable by default rules: remove-only, remove-process-exit
5099- (plugin-remove-unused-variables) move out from putout
5100- (plugin-remove-only) move out from putout
5101- (remove-process-exit) isStringLiteralValue -> isStringLiteral
5102- (putout) add support of plugins load
5103- (plugin-remove-debugger) move out from putout
5104- (putout) full plugin names
5105- (rm-process-exit) add
5106- (putout) convert repo to monorepo
5107- (putout) change plugin structure: find, fix
5108- (putout) add ability to load plugins
5109- (putout) add ability to load config file .putout.json
5110- (get-plugins) add support of rules
5111- (putout) .putout.json -> putout.json
5112- (putout) add support of only
5113- (get-vars) rm setLoc
5114
5115
51162019.01.04, v2.26.0
5117
5118feature:
5119- (putout) add ability to remove debugger statement
5120
5121
51222019.01.04, v2.25.0
5123
5124fix:
5125- (putout) shebang, strict mode
5126
5127feature:
5128- (putout) add support of TemplateLiteral in ArrayExpression
5129- (putout) move out message from bin
5130
5131
51322019.01.04, v2.24.1
5133
5134fix:
5135- (cut-shebang) additional new line
5136
5137
51382019.01.03, v2.24.0
5139
5140feature:
5141- (putout) useParamsBeforeLastUsed: add support of AssignmentPattern in
5142- (puttou) add support of SpreadElement in ArrayExpression
5143- (putout) add support of ThrowStatement
5144- (putout) add ability to use nested properties in ObjectExpression
5145
5146
51472019.01.03, v2.23.0
5148
5149fix:
5150- chore(get-vars) fixture: alphabet order
5151
5152feature:
5153- (putout) FunctionDeclaration: add support of useParamsBeforeLastUsed
5154- (putout) add support of TemplateLiteral in LogicalExpression
5155- (putout) useParamsBeforeLastUsed: add support of ObjectPattern
5156- (putout) add support of TaggedTemplateExpression
5157
5158
51592019.01.02, v2.22.0
5160
5161feature:
5162- (putout) AssignmentExpressions: add support of TemplateLiteral
5163- (putout) add support of UpdateExpression
5164
5165
51662019.01.02, v2.21.0
5167
5168feature:
5169- (putout) FunctionDeclaration: add support of AssignmentPattern in params
5170
5171
51722019.01.01, v2.20.0
5173
5174feature:
5175- (get-vars) add ability to use traverse ObjectExpression with ObjectPattern
5176- (remove-unused) add loc when error
5177
5178
51792019.01.01, v2.19.0
5180
5181feature:
5182- (putout) AssignExpression: add support of ObjectExpression in the right
5183- (putout) add support of SwitchStatement
5184
5185
51862019.01.01, v2.18.7
5187
5188feature:
5189- (get-vars) add support of one unused variable in ArrayPattern id of VariableDeclarator
5190
5191
51922018.12.31, v2.18.6
5193
5194feature:
5195- (get-vars) add support of ObjectExpression in body of ArrowFunctionExpression
5196
5197
51982018.12.31, v2.18.5
5199
5200fix:
5201- (putout) exit
5202
5203
52042018.12.31, v2.18.4
5205
5206feature:
5207- (putout) ConditionalExpression: add support of consequent, alternate
5208
5209
52102018.12.31, v2.18.3
5211
5212fix:
5213- (putout) removing an element from ArrayPattern
5214
5215
52162018.12.29, v2.18.2
5217
5218feature:
5219- (package) add estree-to-babel
5220
5221
52222018.12.29, v2.18.1
5223
5224fix:
5225- (putout) add @babel/parser back
5226
5227
52282018.12.29, v2.18.0
5229
5230feature:
5231- (putout) @babel/parser -> cherow
5232
5233
52342018.12.28, v2.17.2
5235
5236fix:
5237- (putout) do not try to remove empty for-of statement
5238- chore(putout) add comment to fixStrictMode
5239
5240
52412018.12.27, v2.17.1
5242
5243fix:
5244- (putout) strict mode
5245
5246
52472018.12.27, v2.17.0
5248
5249feature:
5250- (get-vars) rm isVariableDeclaration(left) check from ForOfStatement
5251- (get-vars) ArrowFunctionExpression: rm isObjectPattern condition
5252- (putout) add support of empty body in ForOfStatement
5253
5254
52552018.12.27, v2.16.0
5256
5257feature:
5258- (putout) add support of NewExpression
5259
5260
52612018.12.27, v2.15.0
5262
5263fix:
5264- (putout) error message
5265
5266feature:
5267- (putout) add support of ForOfStatement with empty body
5268
5269
52702018.12.26, v2.14.0
5271
5272feature:
5273- (putout) add support of ArrayPattern in VariableDeclarator
5274
5275
52762018.12.26, v2.13.1
5277
5278fix:
5279- (putout) crash on removing unused ArrowFunctionExpression param
5280
5281
52822018.12.25, v2.13.0
5283
5284fix:
5285- (putout) strict mode
5286- (putout) some variable names on same scope level
5287
5288feature:
5289- (putout) add support of destructuring in params of ArrowFunctionExpression
5290- (get-vars) add support of destructuring in params
5291- (putout) add ability to ignore params before last used
5292
5293
52942018.12.25, v2.12.0
5295
5296feature:
5297- (putout) add support of TemplateLiteral in ArrowFunctionExpression
5298
5299
53002018.12.25, v2.11.1
5301
5302fix:
5303- (putout) --help
5304
5305
53062018.12.25, v2.11.0
5307
5308fix:
5309- docs(readme) --
5310
5311feature:
5312- (putout) add --help, --version
5313
5314
53152018.12.25, v2.10.1
5316
5317fix:
5318- (putout) add "\n" in output
5319
5320
53212018.12.24, v2.10.0
5322
5323feature:
5324- (putout) add support of assignment expression
5325
5326
53272018.12.24, v2.9.0
5328
5329feature:
5330- (putout) add support of Identifier in init of VariableDeclarator
5331
5332
53332018.12.24, v2.8.0
5334
5335feature:
5336- (putout) add support of SpreadElement in CallExpression
5337
5338
53392018.12.24, v2.7.1
5340
5341fix:
5342- (putout) crash when no unused
5343
5344
53452018.12.24, v2.7.0
5346
5347fix:
5348- (putout) dependencies
5349
5350feature:
5351- (putout) show file name
5352
5353
53542018.12.24, v2.6.1
5355
5356fix:
5357- (putout) double semicoln in strict mode
5358
5359
53602018.12.24, v2.6.0
5361
5362feature:
5363- (putout) add support of globs
5364- (putout) add support of array-expression
5365- (putout) add support of unary-expression
5366- (package) add eslint-plugin-tape
5367
5368
53692018.12.24, v2.5.0
5370
5371feature:
5372- (get-vars) add support of logical-expression
5373- (putout) add support of member expression properties
5374
5375
53762018.12.23, v2.4.0
5377
5378feature:
5379- (get-vars) add support of ObjectExpression in ReturnStatement
5380- (get-vars) add support of TemplateLiteral in ReturnStatement
5381- (get-vars) fn calls horthand vars
5382- (package) test:diff
5383
5384
53852018.12.22, v2.3.0
5386
5387fix:
5388- (get-vars) VariableDeclarator: path.traverse -> id.traverse
5389
5390feature:
5391- (get-vars) add support of TemplateLiteral
5392
5393
53942018.12.22, v2.2.0
5395
5396feature:
5397- (get-vars) add support of IfStatement
5398
5399
54002018.12.21, v2.1.1
5401
5402feature:
5403- (putout) disabled return an array of .tokens on the root AST node
5404
5405
54062018.12.21, v2.1.0
5407
5408fix:
5409- test(putout) fn vars
5410- test(putout) arrow-vars-
5411
5412feature:
5413- (putout) add support of destructuring nested object
5414- (putout) get-vars: remove declaration when destructured value not used
5415
5416
54172018.12.07, v2.0.0
5418
5419fix:
5420- (putout) remove unused destructured variables
5421
5422feature:
5423- (putout) add support of fn-call-vars
5424- (package) espree -> @babel/parser
5425- (putout) count -> declared, used
5426- (package) espree v5.0.0
5427
5428
54292018.12.06, v1.6.0
5430
5431feature:
5432- (putout) add support of desctrucuring variable declaration
5433- (putout) add ability to process bin files
5434
5435
54362018.12.05, v1.5.0
5437
5438fix:
5439- (putout) no root vars
5440- (putout) variables with same name in different scopes
5441
5442feature:
5443- (putout) add ability to align spaces
5444- (putout) add raw-full
5445
5446
54472018.12.05, v1.4.0
5448
5449fix:
5450- (putout) showRaw: input
5451
5452feature:
5453- (putout) add support of argument destructurisation
5454
5455
54562018.12.04, v1.3.3
5457
5458fix:
5459- (putout) vars -> raw
5460
5461
54622018.12.04, v1.3.2
5463
5464fix:
5465- (putout) undeclared-vars
5466
5467
54682018.12.04, v1.3.1
5469
5470fix:
5471- (get-unused) called
5472
5473
54742018.12.04, v1.3.0
5475
5476feature:
5477- (putout) add support of object spread
5478
5479
54802018.12.04, v1.2.2
5481
5482feature:
5483- (putout) add support of object properties
5484
5485
54862018.12.04, v1.2.1
5487
5488fix:
5489- (putout) fn-args-vars
5490
5491feature:
5492- (putout) add for-of support
5493
5494
54952018.12.04, v1.2.0
5496
5497feature:
5498- (package) add support of called but not defined functions
5499
5500
55012018.12.04, v1.1.1
5502
5503fix:
5504- (get-vars) first use of a function
5505
5506
55072018.12.03, v1.1.0
5508
5509feature:
5510- (putout) add support of unused arguments
5511- (puttout) add support of shorthand properties
5512
5513
55142018.11.30, v1.0.1
5515
5516fix:
5517- (package) bin
5518
5519feature:
5520- (putout) add
5521