2020.01.17, v7.6.1

fix:
- feature(@putout/eslint-config) disable no-empty-pattern: no 
- (putout) parseOptions: custom optionsmore important then merged options, custom match more important then custom options

feature:
- (@putout/eslint-config) disable no-empty-pattern: no fix


2020.01.16, v7.6.0

fix:
- chore(madrun) :lint

feature:
- (package) @putout/plugin-convert-commonjs-to-esm v3.0.0
- (package) @putout/plugin-putout v4.0.0
- (package) @putout/plugin-convert-for-each-to-for-of v4.0.0
- (package) @putout/engine-runner v4.0.0
- (package) @putout/operate v3.0.0
- (package) @putout/operate v3.0.0
- (@putout/engine-runner) replace: add ability to skip
- (@putout/operate) replaceWith: add support of expressions
- (@putout/plugin-putout) drop support of putout < 7.6
- (@putout/plugin-convert-for-each-to-for-of) drop support of putout < 7.6
- (@putout/plugin-convert-commonjs-to-esm) convert to replace


2020.01.15, v7.5.0

fix:
- (@putout/plugin-convert-esm-to-commonjs) add support of babel 8

feature:
- (package) @putout/plugin-convert-esm-to-commonjs v3.0.0
- (package) @putout/engine-runner v3.7.0
- (@putout/convert-esm-to-commonjs) replace
- (@putout/engine-runner) move out isName, isArgs, isImports into @putout/compare
- (@putout/compare) add isName, isArgs, isImports
- (@putout/engine-runner) add support of __args, __imports
- (@putout/compare) add support of __imports
- (@putout/engine-parser) enable BABEL_TYPES_8_BREAKING
- (@putout/engine-runner) add support of linked nodes literals
- (@putout/compare) add ability to use linked node literals


2020.01.14, v7.4.4

fix:
- (putout) improve globbing
- (long-properties-destructuring) exclude ForOfStatement

feature:
- (putout) speed up lint 5m -> 40s
- (putout) eslint-plugin-node v11
- (package) rm eslint-plugin-tape
- (compare) simplify superCompare
- (@putout/eslint-config) add padded-blocks: never'
- (compare) add ANY_ARGS
- (compare) recursion -> loop
- (compare) isLinkedNode: add


2020.01.07, v7.4.3

fix:
- (putout) parse-options: customMatch -> mergedMatch


2020.01.06, v7.4.2

fix:
- (@putout/engine-runner) template: rm path.skip
- (@putout/compare) log
- (putout) --disable-all: crash when no files
- (@putout/compare) comments
- (@putout/engine-runner) replace: variable overwrite

feature:
- (@putout/plugin-convert-apply-to-spread) replace
- (package) nessy v3.0.0


2020.01.03, v7.4.1

fix:
- (parse-match) add windows support


2020.01.03, v7.4.0

fix:
- (package) engine
- (babel-plugin-putout) lib

feature:
- (@putout/plugin-remove-useless-templates) add
- (eslint-plugin-putout) single-property-destructuring: wrap
- (eslint-plugin-putout) new-line-function-call-arguments: wrap
- (eslint-plugin-putout) multiple-properties-destructuring: wrap
- (eslint-plugin-putout) long-properties-desturucturing
- (eslint-plugin-putout) for-of-multiple-properties-destructuring: wrap
- (eslint-plugin-putout) destructuring-as-function-argument: wrap
- (eslint-plugin-putout) wrap: align-spaces
- (eslint-plugin-putout) add wrap
- (eslint-plugin-putout) rules -> lib
- (eslint-plugin-putout) add keyword-spacing
- (@putout/eslint-config) keyword-spacing: rm catch: doesn't supports optional catch binding
- (@putout/plugin-remove-unused-variables) add support of optional catch binding (https://github.com/tc39/proposal-optional-catch-binding)


2019.12.27, v7.3.4

fix:
- (putout) paths deduplications

feature:
- (putout) move out getFiles
- (package) jessy v3.0.0


2019.12.20, v7.3.3

fix:
- (putout) glob

feature:
- (package) madrun v5.2.0


2019.12.19, v7.3.2

fix:
- (putout) file paths validation
- (@putout/plugin-madrun) rename-eslint-to-putout: only beginning of the line
- (@putout/plugin-madrun) rename-eslint-to-putout: exclude all but lint
- (@putout/engine-loader) validate: plugin name with slash
- (@putout/engine-loader) validate-rules: nested
- (@putout/engine-runner) infinite loop: watermark: save all steps

feature:
- (package) madrun v5.1.0
- (putout) speed up tests
- (babel-plugin-putout) mocha -> tape


2019.12.12, v7.3.1

fix:
- (package) rm unused diff-match-patch

feature:
- (@putout/engine-runner) path.remove -> watermark: speed up'


2019.12.06, v7.3.0

fix:
- (@putout/engine-runner) rm micro-memoize
- (@putout/engine-loader) @putout/plugin-remove-unused-variables: dependencies -> devDependnecies

feature:
- (package) @putout/plugin-apply-destructuring v5.0.0
- (package) @putout/engine-runner v3.4.0
- (@putout/plugin-apply-destructuring) object: convert to replace
- (@putout/engine-runner) replace: add support of object pattern
- (@putout/plugin-convert-object-assign-to-merge-spread) simplify
- (@putout/engine-runner) @babel/generator -> @putout/engine-parser
- (compare) add regIgnore


2019.11.29, v7.2.2

fix:
- (@putout/apply-optional-chaining) template variables

feature:
- (package) @putout/plugin-simplify-ternary v2.0.0
- (@putout/plugin-simplify-ternary) convert to replace
- (@putout/compare) add ability to compare that names templates variable equail
- (@putout/engine-runner) replace: isTemplateName


2019.11.28, v7.2.1

feature:
- (package) @putout/plugin-remove-double-negations v2.0.0
- (package) @putout/engine-runner v3.3.0
- (@putout/plugin-remove-double-negations) convert to replace
- (@putout/engine-runner) replace: add support of Identifier, IfCondition


2019.11.25, v7.2.0

fix:
- (putout) rm direct dependency @babel/parser, use @putout/engine-parser instead

feature:
- (package) @putout/plugin-madrun v5.0.0
- (putout) add template from @putout/engine-parser
- (@putout/remove-console) add support of console.dir
- (package) nodemon v2.0.1
- (@putout/engine-parser) add ability to reuse options in template


2019.11.19, v7.1.0

fix:
- (@putout/plugin-merge-if-statements) dependencies -> devDependencies: eslint-plugin-putout

feature:
- (@putout/plugin-apply-optional-chaining) add
- (package) @putout/engine-parser v1.7.0
- (@putout/engine-parser) template: add support of optionalChaining
- (@putout/plugin-remove-unused-variables) add support of OptionalMemberExpression
- (@putout/engine-parser) add support of optionalChaining
- (@putout/remove-unused-variables) improve support of AssignmentPattern


2019.11.15, v7.0.6

fix:
- (@putout) parseOptions: options as argument


2019.11.15, v7.0.5

fix:
- (putout) match


2019.11.13, v7.0.4

fix:
- (putout) help: --rulesdir
- (putout) apply-top-level-await
- (@putout/plugin-apply-shorthand-properties) exclude AssignmentPattern
- (@putout/engine-parser) exclude *.spec.js

feature:
- (@putout/engine-loader) add rules validation
- (@putout/engine-runner) debug namespaces
- (@putout/engine-parser) add tenko (esprima) support (pvdz/tenko#6)


2019.11.11, v7.0.3

fix:
- (@putout/plugin-remove-empty) multiple ImportSpecifiers

feature:
- (package) chalk v3.0.0
- (@putout/compare) add __OBJECT_TYPE, __ARRAY_TYPE
- (package) @putout/plugin-remove-empty-pattern v2.0.0


2019.11.07, v7.0.2

fix:
- (putout) eslint: disable dot files ignore

feature:
- (package) @putout/compare v3.1.0
- (@putout/compare) add parseTemplate
- (package) @putout/plugin-madrun v4.0.0


2019.11.06, v7.0.1

feature:
- (package) @putout/plugin-apply-destructuring v4.0.0
- (@putout/plugin-apply-destructuring) drop support of node < 7: use __object, __array
- (package) putout v7.0.0
- (package) @putout/plugin-remove-empty v4.0.0
- (package) putout v7.0.0
- (package) putout v7.0.0


2019.11.06, v7.0.0

feature:
- (package) @putout/plugin-remove-useless-arguments v2.0.0
- (package) @putout/plugin-convert-apply-to-spread v3.0.0
- (package) @putout/plugin-remove-empty v4.0.0
- (package) @putout/plugin-apply-shorthand-properties v2.0.0
- (package) @putout/plugin-convert-for-each-to-for-of v3.0.0
- (package) @putout/plugin-remove-console v3.0.0
- (package) @putout/plugin-putout v3.0.0
- (package) @putout/plugin-convert-to-arrow-function v2.0.0
- (package) @putout/plugin-convert-object-assign-to-merge-spread v3.0.0
- (package) @putout/plugin-remove-useless-variables v3.0.0
- (package) @putout/plugin-madrun v4.0.0
- (@putout/plugin-remove-useless-arguments) drop support of putout <7
- (@putout/plugin-remove-empty) drop support of putout <7
- (@putout/plugin-remove-console) drop support of putout <7
- (@putout/plugin-putout) drop support of putout <7
- (@putout/plugin-convert-to-arrow-function) drop support of putout <7
- (@putout/plugin-convert-object-assign-to-merge-spread) drop support of putout <7
- (@putout/plugin-remove-useless-variables) drop support of putout < 7
- (@putout/plugin-madrun) drop support of putout < 7
- (@putout/plugin-remove-empty-pattern) drop support of putout < 7
- (@putout/plugin-convert-for-each-to-for-of) drop support of putout < 7
- (@putout/plugin-convert-apply-to-spread) drop support of putout <7
- (@putout/apply-shorthand-properties) drop support of putout < 7
- (package) @putout/engine-runner v3.0.0
- (package) @putout/operate v2.0.0
- (@putout/engine-runner) add support of __object, __array
- (package) @putout/operate v2.0.0
- (package) @putout/compare v3.0.0
- (package) @putout/compare v3.0.0
- (@putout/compare) add support of __object, __array, __args
- (@putout/apply-array-destructuring) exclude nested


2019.11.03, v6.22.0

feature:
- (package) @putout/plugin-remove-process-exit v3.0.0
- (@putout/plugin-remove-process-exit) convert to replace


2019.11.03, v6.21.0

fix:
- (@putout/engine-runner) exclude as string

feature:
- (package) @putout/plugin-convert-math-pow v4.0.0
- (@putout/plugin-convert-math-pow) convert to replace
- (package) @babel/types v7.6.3


2019.11.01, v6.20.0

fix:
- (@putout/engine-runner) replace plugins

feature:
- (package) @putout/plugin-apply-destructuring v3.0.0
- (@putout/plugin-apply-destructuring) convert to replace
- (package) @putout/plugin-merge-destructuring-properties v2.0.0


2019.11.01, v6.19.0

fix:
- (@putout/plugin-remove-debugger) quotes

feature:
- (package) @putout/plugin-remove-skip v3.0.0
- (package) @putout/plugin-remove-only v4.0.0
- (package) @putout/engine-runner v2.0.0
- (package) @putout/compare v2.0.0
- (package) @putout/compare v2.0.0
- (@putout/engine-runner) change template variables type
- (@putout/compare) change template variables type
- (@putout/plugin-remove-only) convert to replace plugin type
- (@putout/plugin-remove-skip) convert to replace plugin type


2019.11.01, v6.18.0

fix:
- (@putout/engine-runner) rm BlockStatement

feature:
- (package) @putout/plugin-remove-only v3.0.0
- (@putout/plugin-remove-only) convert to replace
- (@putout/engine-parser) add ability to get expression
- (@putout/engine-runner) replace: add abilty to use a couple vars
- (@putout/engine-parser) add template.ast.fresh, which do not use memoization


2019.10.31, v6.17.0

feature:
- (package) @putout/plugin-remove-debugger v4.0.0
- (@putout/engine-runner) replace: add support of variables
- (@putout/engine-runner) replace: add ability to remove
- (@putout/plugin-apply-shorthand-properties) exclude CAMEL_CASE constants
- (@putout/engine-runner) add replace plugins
- (@putout/plugin-madrun) add: remove putout


2019.10.27, v6.16.1

feature:
- (package) yargs-parser v16.0.0


2019.10.25, v6.16.0

fix:
- (@putout/engine-loader) rules options
- (npmignore) .spec.js

feature:
- (package) @putout/plugin-madrun v3.0.0
- (@putout/plugin-madrun) add-madrun: .madrun.js
- (package) madrun v4.0.0
- (@putout/eslint-config) add support of object-curly-spacing
- (@putout/plugin-convert-to-arrow-function) exclude prototype
- (@putout/engine-loader) speed up loading according to rules


2019.10.12, v6.15.1

fix:
- (putout) eslint
- (@putout/plugin-strict-mode) add once
- (babel-plugin-putout) strict-mode


2019.10.12, v6.15.0

fix:
- (@putout/plugin-strict-mode) add

feature:
- (package) @putout/plugin-merge-destructuring-properties v2.0.0
- (@putout/plugin-merge-destructuring-properties) generate -> compare
- (@putout/compare) add ability to ignore raw values
- (@putout/plugin-apply-top-level-await) add
- (@putout/plugin-madrun) add run


2019.10.12, v6.14.1

feature:
- (package) @putout/plugin-apply-top-level-await v1.0.1


2019.10.12, v6.14.0

fix:
- (@putout/plugin-remove-double-negations) rm eslint

feature:
- (@putout/apply-top-level-await) add
- (package) putout v6.13.0


2019.10.11, v6.13.0

fix:
- (@putout/plugin-remove-useless-escape) no raw
- (@putout/test) noTransform: second arg

feature:
- (@putout/convert-to-arrow-function) add
- (@putout/test) transform: simplify
- (@putout/engine-parser) @putout/recast -> recast


2019.10.07, v6.12.1

feature:
- (package) yargs-parser v15.0.0


2019.10.04, v6.12.0

fix:
- (@putout/plugin-remove-empty) report

feature:
- (putout) add ability to resolve eslint plugins (#9)
- (@putout/plugin-remove-unused-variables) add support of DoWhileStatement
- (@putout/plugin-remove-empty) remove-empty-block: add support of empty alternate of IfConditionStatement
- (@putout/operate) toExpression: add support of ObjectProperty
- (@putout/formatt-codeframe) add ability to show rule
- (@putout/operate) add toExpression
- (@putout/plugin-extract-sequance) add support of multiple layers (#11)


2019.10.02, v6.11.0

feature:
- (@putout/plugin-remove-useless-escape) add


2019.10.02, v6.10.2

feature:
- (@putout/plugin-extract-sequence-expressions) add support of ReturnStatement (#11)


2019.10.02, v6.10.1

fix:
- (@putout/remove-useless-arguments) rm unused

feature:
- (package) @putout/plugin-convert-apply-to-spread v2.0.0
- (@putout/plugin-convert-apply-to-spread) add support of null
- (@putout/operate) add findBinding


2019.10.01, v6.10.0

feature:
- (@putout/plugin-remove-useless-arguments) add


2019.10.01, v6.9.1

fix:
- (@putout/engine-runner) rm redundant compare
- (@putout/compare) false properties

feature:
- (operate) add support of compareAll, compareAny


2019.09.30, v6.9.0

feature:
- (package) @putout/plugin-extract-object-properties v2.0.0
- (@putout/plugins-simplify-ternary) generate -> compare
- (package) @putout/engine-parser v1.2.0
- (@putout/compare) add
- (@putout/engine-runner) add micro-memoize
- (@putout/engine-runner) add mem


2019.09.28, v6.8.0

fix:
- (@putout/engine-parser) recast -> @putout/recast
- (@putout/engine-parser) recast source
- (@putout/engine-parser) acorn
- (@putout/plugin-convert-spread-to-array) report

feature:
- (@putout/plugin-promises) add
- (@putout/engine-parser) acorn v7.1.0
- (@putout/engine-parser) add recast from npm


2019.09.28, v6.7.1

feature:
- (@putout/plugin-remove-useless-spread) for-of
- (@putout/apply-shorthand-properties) add support of names overlap


2019.09.28, v6.7.0

feature:
- (@putout/plugin-remove-useless-array-from) add
- (@putout/engine-loader) add ability to pass options without enabled flag


2019.09.28, v6.6.1

feature:
- (package) @putout/engine-runner v1.4.0
- (@putout/engine-runner) add cache to generate


2019.09.28, v6.6.0

fix:
- chore(@putout/plugin-react-hooks) add prefix _

feature:
- (@putout/plugin-remove-useless-spread) mv out from default install
- (@putout/plugin-convert-spread-to-array-from) add
- (@putout/plugin-apply-shorthand-properties) add support names overlap handling
- (@putout/plugin-remove-useless-spread) exclude: call, return
- (package) putout v6.5.1


2019.09.26, v6.5.1

fix:
- (@putout/engine-runner) npmignore: add *.spec.js

feature:
- (@putout/plugin-apply-shorthand-properties) add options
- (package) @putout/plugin-remove-empty v3.0.0
- (@putout/plugin-remove-empty) import: add ability to pass options
- (@putout/engine-runner) add ability to pass options to filter
- (@putout/test) add transformWithOptions, noTransformWithOptions
- (@putout/plugin-apply-shorthand-properties) exclude ImportSpecifier


2019.09.26, v6.5.0

fix:
- (@putout/engine-loader) dependencies
- (@putout/engine-parser) dependencies
- (@putout/plugin-apply-shorthand-properties) avoid destructuring

feature:
- (@putout/remove-useless-spread) add


2019.09.26, v6.4.0

feature:
- (@putout/test) add noReport
- (@putout/plugin-apply-shorthand-properties) add


2019.09.26, v6.3.1

fix:
- (putout) -um: expand glob
- (@putout/plugin-add-return-await) references -> bindings
- (@putout/plugin-add-return-await) filter: path -> boolean

feature:
- (@putout/engine-runner) add debug


2019.09.25, v6.3.0

fix:
- (package) dependencies

feature:
- (putout) add @putout/add-return-await
- (@putout/engine-runner) template: add support of awaitOutsideFunction
- (package) putout v6.2.0
- (@putout/plugin-madrun) add-madrun-to-lint: exclude "putout -um"


2019.09.25, v6.2.0

feature:
- (putout) add ability to work with modified, untracked git files
- (codemods) add convert-fs-to-promises
- (@putout/engine-runner) logs
- (package) eslint-plugin-putout v2.0.0
- (package) eslint-plugin-node v10.0.0
- (package) eslint v6.4.0
- (package) nyc v14.1.1
- (package) madrun v3.0.5
- (package) eslint-plugin-node v10.0.0
- (package) eslint v6.4.0


2019.09.18, v6.1.0

feature:
- (@putout/engine-runner) add


2019.09.16, v6.0.0

feature:
- (putout) add @putout/engine-parser, @putout/engine-loader


2019.09.12, v5.28.2

fix:
- (putout) find: merge template visitors


2019.09.12, v5.28.1

fix:
- (putout) traverse: merge visitors: shebang


2019.09.12, v5.28.0

feature:
- (package) @putout/plugin-convert-esm-to-commonjs v2.0.0
- (@putout/plugin-convert-esm-to-commonjs) include
- (@putout/plugin-convert-top-level-return) include
- (@putout/eslint-config) keyword-spacing: no space after catch


2019.09.12, v5.27.0

feature:
- (package) @putout/plugin-remove-process-exit v2.0.0
- (@putout/plugin-remove-process-exit) template


2019.09.11, v5.26.0

feature:
- (package) @putout/plugin-convert-for-each-to-for-of v2.0.0
- (@putout/plugin-convert-for-each-to-for-of) include


2019.09.11, v5.25.0

feature:
- (package) @putout/plugin-convert-math-pow v3.0.0
- (@putout/plugin-convert-math-pow) include


2019.09.11, v5.24.0

feature:
- (putout) plugin: include: add filter support


2019.09.11, v5.23.0

feature:
- (package) @putout/plugin-remove-skip v2.0.0
- (@putout/plugin-remove-skip) include


2019.09.11, v5.22.1

fix:
- (putout) plugin: include, exclude: array -> function


2019.09.10, v5.22.0

feature:
- (package) @putout/plugin-remove-only v2.0.0
- (@putout/plugin-remove-only) include


2019.09.10, v5.21.0

feature:
- (package) @putout/plugin-remove-debugger v3.0.0
- (putout) plugins: add support of include


2019.09.10, v5.20.0

feature:
- (putout) template: "__": string literals only
- (package) eslint-plugin-putout v2.0.0
- (package) madrun v3.0.2
- (package) putout v5.19.0


2019.09.10, v5.19.0

feature:
- (package) @putout/plugin-merge-if-statements v2.0.0
-  (@putout/plugin-merge-if-statement) template


2019.09.10, v5.18.2

feature:
- (putout) rules: exclude: add ability to pass string or array


2019.09.10, v5.18.1

fix:
- (putout) exclude only templates


2019.09.10, v5.18.0

feature:
- (putout) add ability to exclude a couple templates


2019.09.10, v5.17.0

feature:
- (putout) add support of exclude template plugin option
- (putout) add support of exclude


2019.09.10, v5.16.0

feature:
- (putout) find: add support of template
- (package) fullstore v2.0.2


2019.09.09, v5.15.1

feature:
- (package) @putout/plugin-remove-useless-variables v2.0.0
- (@putout/plugin-remove-useless-variables) template
- (@putout/test) add ability to pass rules
- (madrun) convert-lint-lib: template


2019.09.08, v5.15.0

fix:
- (@putout/plugin-putout) convert-find-to-traverse: template

feature:
- (package) @putout/plugin-remove-console v2.0.0: templates
- (putout) template: add support of literal "__"


2019.09.08, v5.14.1

fix:
- (putout) slim: @babel/parser for templates


2019.09.08, v5.14.0

fix:
- (putout) template: multiple, cache: speed up 500ms -> 0.008ms

feature:
- (package) @putout/plugin-convert-commonjs-to-esm v2.0.0
- (@putout/plugin-convert-commonjs-to-esm) template


2019.09.08, v5.13.3

fix:
- (putout) template: null

feature:
- (package) @putout/plugin-convert-top-level-return v2.0.0
- (@putout/plugin-convert-top-level-return) template


2019.09.08, v5.13.2

feature:
- (package) @putout/plugin-convert-object-assign-to-merge-spread v2.0.0
- (@putot/plugin-convert-object-assign-to-merge-spread) template


2019.09.08, v5.13.1

feature:
- (package) @putout/plugin-remove-debugger v2.0.0
- (@putout/plugin-remove-debugger) template


2019.09.08, v5.13.0

feature:
- (package) @putout/plugin-convert-math-pow v2.0.0
- (@putout/plugin-convert-math-pow) traverse: template


2019.09.07, v5.12.1

feature:
- (package) @putout/plugin-putout v2.0.0
- (package) @putout/plugin-madrun v2.0.0


2019.09.07, v5.12.0

fix:
- feature(@putout/plugin-madrun) add add--lint

feature:
- (putout) traverse: add template
- (package) putout v5.11.2
- (@putout/operate) add isModuleExports
- (@putout/plugin-madrun) add add-fix-lint


2019.09.07, v5.11.2

feature:
- (package) yargs-parser v14.0.0
- (putout) eslint-plugin-node v10.0.0
- (madrun) add-function: add support of CallExpression


2019.09.02, v5.11.1

fix:
- (npmignore) slim


2019.09.02, v5.11.0

feature:
- (putout) add ability to provide a build no parsers


2019.08.30, v5.10.4

fix:
- (putout) keep dist only


2019.08.30, v5.10.3

fix:
- (putout) acorn plugins (#acornjs/acorn/issues/862)

feature:
- (@putout/plugin-convert-object-assign-to-merge-spread) add support of not empty objects as first argument


2019.08.30, v5.10.2

fix:
- (webpack) slim: acorn, espree


2019.08.29, v5.10.1

fix:
- (putout) slim: esprima


2019.08.29, v5.10.0

feature:
- (putout) add slim builds
- (package) madrun v3.0.0
- (@putout/plugin-madrun) add support of lib only lint


2019.08.26, v5.9.0

feature:
- (eslint) add support of custom parsers
- (@putout/plugin-remove-unused-variables) add support of Function declared and used as an array item
- (@putout/plugin-remove-useless-variables) exclude React from useless variables list


2019.08.23, v5.8.0

fix:
- (@putout/formatter-progress) max: 99% -> 100%
- (eslint) add support of eslint parsing error

feature:
- (putout) improve eslint errors handling


2019.08.20, v5.7.1

fix:
- feature(run-plugins) complexity on multiple  rounds: quadratic -> linear

feature:
- (packages) eslint v6.2.0
- (package) eslint v6.2.0
- (@putout/plugin-remove-unused-private-fields) add support of anynomous class expression
- (@putout/plugin-remove-unused-private-fields) add support of ClassExpression
- (run-plugins) complexity on multiple fix rounds: quadratic -> linear
- (package) eslint-plugin-putout v9.1.0
- (package) eslint-plugin-putout v2.0.0
- (package) @putout/eslint-config v2.0.0
- (@putout/eslint-config) add support of ES2020


2019.08.16, v5.7.0

feature:
- (putout) run-plugins: move cache one level up
- (putout) process-file: add ability to cut brackets from parser errors


2019.08.16, v5.6.0

fix:
- test(putout) run-

feature:
- (putout) show parser errors as rules errors


2019.08.15, v5.5.0

feature:
- (putout) show codeframe on --raw


2019.08.15, v5.4.0

feature:
- (putout) improve error message, add codeframe when --raw flag used


2019.08.15, v5.3.6

fix:
- (putout) process-file: log, ruler


2019.08.14, v5.3.5

feature:
- (putout) mv out process-file


2019.08.14, v5.3.4

feature:
- (putout) extend acorn options


2019.08.14, v5.3.3

fix:
- (putout) exclude wrap-plugin for browser build

feature:
- (@putout/plugin-strict-mode) add support of flow


2019.08.14, v5.3.2

fix:
- (package) dependencies -> devDependencies: babel-plugin-transform-inline-consecutive-adds

feature:
- (package) eslint v6.1.0
- (package) acorn v7.0.0


2019.08.13, v5.3.1

fix:
- feature(putout) wrap plugin: speed up: no need to transform in , traverse already transformed

feature:
- (putout) wrap plugin: speed up: no need to transform in fix, traverse already transformed
- (eslint-plugin-putout) add for-of-multiple-properties-destructuring
- (@putout/plugin-remove-useless-variables) add support of for-of
- (package) putout v5.3.0


2019.08.12, v5.3.0

feature:
- (putout) ruler: add ability to set on/off, when disable/enable
- (putout) recast v0.18.2


2019.08.09, v5.2.1

fix:
- (putout) state validation


2019.08.09, v5.2.0

feature:
- (putout) add ability to enable/disable rules using on/off
- (putout) parse-plugin-names: add ability to pass an array


2019.08.09, v5.1.0

feature:
- (putout) add ability to pass plugin options via rules


2019.08.09, v5.0.1

fix:
- (putout) get-relative-path -> path.relative: determine relative path for ignore and match on windows (#7)


2019.08.08, v5.0.0

feature:
- (putout) move babel, codeshift into plugins section


2019.08.07, v4.72.1

fix:
- (putout) improve jscodeshift support


2019.08.07, v4.72.0

feature:
- (putout) jscodeshift: add support of options


2019.08.07, v4.71.0

feature:
- (putout) add support of jscodeshift codemods


2019.08.07, v4.70.0

fix:
- (@putout/plugin-madrun) add-madrun-to-lint: str check
- (@putotu/plugin-remove-useless-variables) npmignore: fixture
- (eslint-plugin-putout) single-property-destructuring: rename

feature:
- (putout) eslint: add support of namespaced plugins
- (@putout/plugin-remove-useless-variables) add support of await Promise.resolve


2019.08.06, v4.69.1

fix:
- (putout) add esprima into bundle


2019.08.06, v4.69.0

fix:
- (@putout/plugin-madrun) add madrun to lint: exist
- (@putout/plugin-madrun types

feature:
- (putout) add support of esprima
- (@putout/plugin-madrun) add-madrun-to-lint: add support of StringLiteral


2019.08.05, v4.68.2

feature:
- (putout) get-plugins: speed up
- (@putout/plugin-madrun) rename-eslint-to-putout: exclude calls with rulesdir
- (@putout/plugin-madrun) add rename-eslint-to-putout
- (package) eslint-plugin-node v9.1.0
- (@putout/plugin-madrun) add-madrun-to-lint: add support of TemplateLiteral with expression


2019.08.05, v4.68.1

fix:
- (putout) pluginCache -> cache


2019.08.05, v4.68.0

feature:
- (putout) add ability to disable plugins cache


2019.08.05, v4.67.0

feature:
- (putout) embed acorn, espree


2019.08.02, v4.66.0

fix:
- feature(@putout/eslint-config) disable require-atomic-updates: false positives most part of time, non fixeble

feature:
- (putout) add ability to always read config from home directory if it exists
- (codemods) add cut-legacy
- (@putout/plugin-remove-useless-variables) add: remove
- (@putout/eslint-config) disable require-atomic-updates: false positives most part of time, non fixeble


2019.08.02, v4.65.2

fix:
- (putout) exit


2019.08.01, v4.65.1

fix:
- (putout) run-babel-plugins: ":" -> "/"

feature:
- (putout) babel: speed up: disable code generation


2019.07.31, v4.65.0

feature:
- (putout) load-plugins: speed up: add cache
- (putout) getFormatter -> once(getFormatter): speed up
- (package) eslint-plugin-node v9.1.0
- (package) eslint v6.1.0


2019.07.30, v4.64.0

feature:
- (putout) add support of eslint


2019.07.27, v4.63.2

fix:
- (@putout/plugin-putout) convert-replace-with: add support of replaceWithMultiple
- (@putout/plugin-convert-top-level-return) replaceWith
- (putout) get back strict mode processing
- (putout) get back shebang check


2019.07.26, v4.63.1

fix:
- (@putout/plugin-convert-top-level-return) add support of ReturnStatement argument

feature:
- (putout) run-babel-plugins: avoid print when no babel plugins


2019.07.26, v4.63.0

feature:
- (putout) estree parsers: add support of interpreter directive


2019.07.26, v4.62.0

feature:
- (@putout/plugin-conert-top-level-return) add


2019.07.26, v4.61.0

fix:
- (putout) babel plugins: position
- (eslintrc) overrides does not supported by eslint
- (@putout/plugin-extract-sequence-epxressions) add support of WhileStatement
- (@putout/eslint-config) rm overrides: does not supported by eslint
- (@putout/eslint-config) no-unneded-ternary: default-assignment: defaultAssignment

feature:
- (putout) rm shebang check
- (putout) improve directives support
- (@putout/eslint-config) overrids "bin": disable rules: no-console, no-process-exit
- (@putout/eslint-config) no-unneded-ternary: default-assignment: false


2019.07.24, v4.60.0

fix:
- (eslint-config) prefer-const: destructuring-all

feature:
- (@putout/plugin-simplify-ternary) add
- (@putotu/plugin-extract-sequence-expressions) add support of for
- (package) eslint-plugin-putout v1.9.1
- (package) eslint-plugin-node v9.1.0
- (package) eslint v6.1.0


2019.07.23, v4.59.2

fix:
- (putout) parse-options: no name

feature:
- (@putout/plugin-madrun) add add-madrun-to-lint
- (@putout/plugin-madrun) add convert lint:lib


2019.07.23, v4.59.1

fix:
- (putout) parse-options: get options from: cwd -> dirname
- (@putout/plugin-putout) mv out replaceWith from traverse


2019.07.23, v4.59.0

feature:
- (putout) add ability to use await outside function


2019.07.22, v4.58.1

fix:
- (putout) parseMatch
- (@putout/plugin-convert-for-each-to-for-of) same name


2019.07.22, v4.58.0

feature:
- (putout) simplify parseOptions


2019.07.22, v4.57.0

fix:
- (eslint-plugin-putout) putout: options

feature:
- (eslint-plugin-putout) simplify putout.getOptions
- (putout) add --rulesdir
- (eslint-plugin-putout) eslint


2019.07.21, v4.56.0

feature:
- (putout) getOptions
- (package) eslint v6.1.0
- (@putout/plugin-madrun) add convert-run-argument
- (eslint-plugin-putout) add ability to use putout as eslint plugin


2019.07.21, v4.55.0

fix:
- (babel-plugin-putout) unused variable

feature:
- (eslint-plugin-putout) add ability to use putout as eslint plugin
- (@putout/eslint-config) add quote-props
- (eslint-config) add no-unneeded-ternary


2019.07.18, v4.54.0

fix:
- (@putout/plugin-strict-mode) add: literal -> directive
- (putout) client build: disable babelPlugins for client side

feature:
- (putout) add merge
- (babel-plugin-putout) add
- (package) eslint-plugin-node v9.1.0
- (putout) add transform


2019.07.18, v4.53.0

fix:
- (@putout/plugin-extract-sequence-expressions) add support of CallExpressions callee
- (eslint-plugin-putout) rm unused @babel/types

feature:
- (putout) add support of babel plugins (babel/babel#10231)
- (eslint-plugin-putout) new-line-function-call-arguments: relay less on function-paren-newline


2019.07.10, v4.52.3

fix:
- (putout) default options: madrun/* -> madrun
- (@putout/plugin-extract-sequence-expressions) rm unused


2019.07.09, v4.52.2

feature:
- (package) deepmerge v4.0.0
- (@putout/plugin-remove-empty) remove-empty-block: add support of CallExpression in IfStatement test
- (@putout/plugin-extract-sequence-expressions) add support of ArrowFunctionExpressions with SequenceExpression body


2019.07.08, v4.52.1

fix:
- (putout) --disable


2019.07.08, v4.52.0

fix:
- (@putout/plugin-split-variable-declarations) exclude ExportNamedDeclaration

feature:
- (@putout/plugin-remove-unreachable-code) add


2019.07.05, v4.51.0

fix:
- (putout) parentPath removed
- (@putout/plugin-convert-for-each-to-for-of) add support of IfCondition

feature:
- (@putout/plugin-remove-unused-variables) add support of FunctionExpression in ConditionalExpression
- (@putout/plugin-remove-unused-variables) add support of ForInStatement


2019.07.05, v4.50.0

feature:
- (putout) custom-parser: babel: disable estree when flow used


2019.07.05, v4.49.0

feature:
- (putout) improve solidity, decrease fixes count: run fixes while traversing merged visitors, when in --fix mode'


2019.07.05, v4.48.2

fix:
- (@putout/plugin-extract-object-properties) scope.uid check
- (@putout/plugin-extract-object-properties) getAllBindings -> expandPath.bindings
- (@putout/plugin-extract-object-properties) check all bindings, not only current

feature:
- (putout) show all rules, when --enable, --disable has no args


2019.07.04, v4.48.1

fix:
- (putout) dist: disable minification


2019.07.04, v4.48.0

feature:
- (@putout/plugin-remove-double-negations) add
- (@putout/plugin-remove-empty) remove-empty-block: add support of negation
- (@putout/plugin-merge-if-statements) add support of inner else
- (@putout/plugin-merge-if-statements) add support of an emtpy block


2019.07.04, v4.47.0

fix:
- (putout) match .ts -> .ts$

feature:
- (@putout/plugin-merge-if-statements) add
- (package) eslint-plugin-node v9.1.0
- (package) eslint v6.0.1


2019.07.03, v4.46.2

fix:
- (@putout/plugin-remove-empty) remove-empty-block: else if
- (putout) enable/disable: parse
- (@putout/plugin-extract-object-properties) rm unused
- (@putout/plugin-putout) convert-find-to-traverse: traverse not last expression in function

feature:
- (@putout/plugin-extract-object-properties) add support of different deep


2019.07.03, v4.46.1

fix:
- (putout) match: "bin" -> "bin/"

feature:
- (@putout/plugin-convert-binary-expression-to-boolean) exclude bitwise operator
- (@putout/plugin-remove-unused-variables) add support of InterfaceDeclaration/TSInterfaceDeclaration in flow/typescript


2019.07.03, v4.46.0

feature:
- (putout) add ability to determine jsx
- (@putout/plugin-remove-unused-variables) add support of ClassDeclaration in ExportNamedDeclaration
- (@putout/plugin-remove-unused-variables) add support of TSExpressionWithTypeArguments
- (@putout/plugin-remove-unused-variables) add support of QualifiedTypeIdentifier


2019.07.02, v4.45.0

feature:
- (putout) add ability to optionally disable jsx/enable flow


2019.07.02, v4.44.0

fix:
- (convert-esm-to-commonjs): add empty imports
- (@putout/operate) when replaceWithMultiple used do not use replaceWith
- (@putout/plugin-convert-for-each-to-for-of) replaceWithMultiple: condition

feature:
- (putout) disable "strict-mode/add" for typescript
- (package) eslint-plugin-node v9.1.0
- (package) eslint v6.0.1


2019.07.01, v4.43.0

feature:
- (putout) add ability to enable, disable, enable-all and disable-all rules from cli


2019.07.01, v4.42.0

fix:
- (@putout/plugin-convert-apply-to-spread) rm quotes

feature:
- (putout) add ability to handle overlaped plugins: missing node
- (@putout/plugin-remove-unused-variables) add support of named FunctionExpression in ReturnStatement
- (package) eslint-plugin-node v9.1.0
- (package) eslint v6.0.1


2019.07.01, v4.41.0

feature:
- (@putout/convert-for-each-to-for-of) add support of empty return
- (@putout/operate) add
- (@putout/plugin-convert-for-each-to-for-of) add support of indexes


2019.07.01, v4.40.0

feature:
- (putout) operate: add ability to return result from operate.replaceWith
- (@putout/plugin-convert-for-each-to-for-of) add support of ReturnStatement


2019.06.29, v4.39.0

fix:
- (@putout/plugin-convert-for-each-to-for-of) ts: for-of does not support typeAnnotation
- feature(@putout/test) add support of .ts files as fixtures

feature:
- (putout) enable typescript only for .ts files
- (package) eslint v6.0.1
- (@putout/plugin-remove-empty) add support of empty consquent block, and not empty alternate block if IfStatement
- (@putout/plugin-remove-unused-variables) add support of TSInterfaceDeclaration, TSMethodSignature
- (package) eslint-plugin-node v9.1.0
- (package) eslint v6.0.1
- (package) eslint-plugin-node v9.1.0
- (package) eslint v6.0.1
- (@putout/test) add support of .ts files as fixtures
- (@putout/plugin-convert-for-each-to-for-of) exclude var variables with bound names
- (@putout/plugin-convert-for-each-to-for-of) remove nested block
- (@putout/plugin-convert-for-each-to-for-of) add support of context argument
- (@putout/plugin-convert-for-each-to-for-of) exclude map chaining
- (@putout/plugin-remove-unused-variables) add support of TSQualifiedName
- (@putout/plugin-remove-unused-variables) add support of TSTypeReference


2019.06.28, v4.38.0

fix:
- (@putout/plugin-putout) replace-with: exists

feature:
- (@putout/plugin-putout) add ability to convert replaceWithMultiple


2019.06.27, v4.37.1

fix:
- (@putout/plugin-split-variable-declarations) comments

feature:
- (putout) operate: replaceWithMultiple: add support of current node comments


2019.06.27, v4.37.0

feature:
- (@putout/plugin-remove-unused-variables) add support of GenericTypeAnnotation
- (putout) add support of flow, typescript
- (putout) add support of jsx


2019.06.27, v4.36.1

fix:
- (putout) recast: repo -> tar

feature:
- (@putout/plugin-remove-useless-variables) add support of not const assignments


2019.06.27, v4.36.0

feature:
- (@putout/plugin-apply-destructuring) add support of logical expressions
- (putout) add fork of recast, while merged benjamn/recast#609


2019.06.26, v4.35.0

fix:
- (eslint-config) get back function-parent-newline
- (eslint-config) rm function-paren-newline

feature:
- (putout) operate: replaceWith: add ability to preserve loc
- (@putout/plugin-apply-destructuring) add support of multiplevariables
- (@putout/plugin-remove-unused-variables) add support of AssignmentPattern in function arguments
- (@putout/plugin-remove-useless-variables) add support of ExportNamedDeclaration
- (@putout/plugin-remove-unused-variables) add support of FunctionExpression in NewExpression
- (eslint-plugin-putout) add new-line-function-call-arguments


2019.06.25, v4.34.0

feature:
- (@putout/plugin-convert-for-each-to-for-of) add


2019.06.25, v4.33.0

fix:
- (putout) operate: replaceWithMultiple: handle empty array case

feature:
- (@putout/plugin-remove-nested-blocks) add


2019.06.25, v4.32.3

feature:
- (putout) speed up vistors merge


2019.06.24, v4.32.2

fix:
- feature(putout) increase fixCount to 2 in library version

feature:
- (putout) increase fixCount to 2 in library version
- (@putout/eslint-config) add nonblock-statement-body-position
- (@putout/eslint-config) add no-else-return


2019.06.24, v4.32.1

fix:
- (putout) remove empty imports (#5)
- (@putout/plugin-split-variable-declaration) variables -> Variables
- (@putout/plugin-remove-unused-variables) improve support of ClassExpression
- (@putout/plugin-remove-useless-variables) exclude ObjectPattern argument
- (@putout/plugin-extract-object-properties) report: object -> Object
- (@putout/plugin-extract-object-properties) duplicate property name
- (@putout/plugin-remove-empty) remove-empty-block: add same path twice

feature:
- (@putout/plugin-remove-unused-variables) add support of YieldExpression, AwaitExpression
- (package) eslint-plugin-node v9.1.0
- (@putout/plugin-remove-unused-variables) add support of Function in VariableDeclarator, AssignmentExpression
- (package) eslint-plugin-node v9.1.0
- (@putout/plugin-remove-unused-variables) add support of Function as argument of CallExpression
- (@putout/plugin-remove-unused-variables) get-vars: ArrowFunctionExpression, FunctionDeclaration -> Function
- (package) eslint-plugin-node v9.1.0
- (package) eslint-plugin-node v9.1.0
- (@putout/plugin-remove-unused-variables) add support of ClassExpression
- (@putout/plugin-remove-unused-variables) add support of nested arguments
- (@putout/plugin-remove-empty) add support of .min in empty import
- (package) eslint-plugin-node v9.1.0
- (@putout/plugin-remove-unused-variables) add support of export anonymous class
- (package) eslint-plugin-node v9.1.0
- (@putout/plugin-convert-commonjs-to-esm) add support of relative paths


2019.06.19, v4.32.0

fix:
- (@putout/plugin-apply-destructuring) npmignore: add fixture, *.spec.js

feature:
- (putout) add support of numericSeparator


2019.06.19, v4.31.0

fix:
- feature(@putout/eslint-config) add function-paren-newline, space-infix-ops
- (pascal-to-camel) isBig

feature:
- (putout) speed up: add ability to merge visitors
- (@putout/eslint-config) add function-paren-newline, space-infix-ops
- (package) eslint-plugin-node v9.1.0


2019.06.18, v4.30.0

fix:
- (@putout/plugin-convert-commonjs-to-esm) npmignore
- (@putout/plugin-convert-esm-to-commonjs) npmignore
- (@putout/plugin-remove-process-exit) eslint-plugin-putout: dependency -> devDependency
- (@putout/plugin-remove-console) eslint-plugin-putout: dependency -> devDependency
- (@putout/plugin-convert-esm-to-commonjs) eslint-plugin-putout: dependency -> devDependency
- (@putout/plugin-extract-object-properties) add support of no destructuring
- (@putout/plugin-extract-object-properties) different function arguments

feature:
- (putout) add bundle dist/putout.js
- (@putout/plugin-remove-unused-expressions) add support of Literal


2019.06.14, v4.29.0

feature:
- (@putout/plugin-extract-object-properties) add


2019.06.14, v4.28.2

fix:
- (putout) formatter


2019.06.14, v4.28.1

feature:
- (@putout/plugin-putout) add convert-babel-types


2019.06.14, v4.28.0

feature:
- (@putout/plugin-extract-sequance-expressions) add ability to keep comments


2019.06.14, v4.27.1

feature:
- (@putout/plugin-putout) covert-replace-with


2019.06.13, v4.27.0

fix:
- (@putout/plugin-convert-commonjs-to-esm) preserve comments

feature:
- (putout) operate: insertAfter


2019.06.12, v4.26.0

fix:
- (@putout/plugin-extract-sequence-expressions) remove redundant binaryExpression

feature:
- (putout) add operate


2019.06.12, v4.25.0

fix:
- (@putout/plugin-convert-commonjs-to-esm) rm console.log

feature:
- (@putout/plugin-extract-sequence-expressions) add
- (@putout/plugin-convert-commonjs-to-esm) exclude sequence expressions
- (@putout/plugin-convert-commonjs-to-esm) add support of named exports


2019.06.12, v4.24.1

fix:
- (putout) merge config

feature:
- (@putout/plugin-convert-commonjs-to-esm) exclude non-literal require arguments


2019.06.12, v4.24.0

feature:
- (@putout/convert-commonjs-to-esm) add
- (eslint-config) add no-extra-parens
- (package) eslint 6.0.0-rc
- (@putout/plugin-remove-unused-variables) add support of export default anonymous function


2019.06.07, v4.23.5

fix:
- (@putout/plugin-remove-unused-variables) unused variable on the left of AssignmentPattern in ObjectProperty

feature:
- (custom-parser) babel: add importMeta
- (convert-pascal-to-camel) add
- (@putout/plugin-remove-unused-variables) improve support of Property of ObjectPattern in FunctionDeclaration/ArrowFunctionExpression
- (eslint-plugin-putout) multiple-properties-destructuring: add option minProperties (#3)


2019.05.18, v4.23.4

fix:
- (putout) places check -> input/output check


2019.05.18, v4.23.3

feature:
- (package) find-up v4.0.0


2019.05.18, v4.23.2

fix:
- (putout) --: write all files -> write only fixed files


2019.05.14, v4.23.1

feature:
- (package) recast v0.18.0
- (package) espree v6


2019.04.24, v4.23.0

feature:
- (parse-match) add ability to merge much rules
- (package) nyc v14.0.0


2019.04.11, v4.22.0

feature:
- (@putout/plugin-remove-boolean-from-logical-expressions) add


2019.04.11, v4.21.0

feature:
- (@putout/plugin-convert-binary-expression-to-boolean) add


2019.04.08, v4.20.0

feature:
- (putout) add ability to use return push in traverse
- (@putout/plugin-remove-constant-conditions) add support of same identificators
- (@putout/plugin-remove-unused-variables) add support of ObjectMethod params


2019.04.02, v4.19.0

fix:
- (@putout/plugin-remove-empty-pattern) report

feature:
- (@putout/plugin-putout) add
- (@putout/eslint-config) padding-line-beetween-statements: add empty line before if condition
- (@putout/plugin-remove-empty-pattern) add support of function argument
- (@putout/plugin-remove-empty) add support of css


2019.03.28, v4.18.1

fix:
- (putout) printOptions: disable objectCurlySpacing
- (@putout/plugin-remove-unused-variables) remove ImportDeclaration -> remove specifier of ImportDeclaration

feature:
- (@putout/plugin-remove-empty) add support of imports
- (@putout/plugin-remove-unused-variables) add support of ImportDeclaration
- (eslint-config) add keyword-spacing


2019.03.27, v4.18.0

feature:
- (putout) add support of dynamicImport


2019.03.22, v4.17.0

feature:
- (@putout/plugin-convert-object-assign-to-merge-spread) add
- (traverse) move out RestElement, SpreadElement to get-vars


2019.03.22, v4.16.2

fix:
- (@putout/formatter-dump) return
- (@putout/plugin-remove-constant-conditions) exclude else

feature:
- (package) array-union v2.0.0
- (@putout/plugin-remove-unused-variables) add support of AssignmentPattern in Destructuring
- (@putout/plugin-remove-constant-condition) add support of else if


2019.03.20, v4.16.1

fix:
- (putout) add -f, --format


2019.03.20, v4.16.0

fix:
- test(@putout/formatter-codeframe) fixture
- test(@putout/plugin-remove-unused-variables) fixture
- test(@putout/formatter-json) fixture

feature:
- (@putout/plugin-remove-constant-condition) add


2019.03.19, v4.15.1

feature:
- (eslint-config) add arrow-parens


2019.03.19, v4.15.0

fix:
- (@putout/plugin-remove-unused-variables) ObjectMethod
- (eslint-plugin-putout) multiple-properties-destructuring: exclude ForOfStatement
- (@putout/formatter-dump) duplicate output

feature:
- (@putout/formatter-codeframe) add
- (@putout/formatter-eslint) add
- (@putout/formatter-json) export jsonFormatter


2019.03.18, v4.14.0

feature:
- (@putout/formatter-json) add


2019.03.15, v4.13.0

fix:
- (@putout/formatter-progress) dependencies: add @putout/formatter-dump

feature:
- (putout) add support of acorn


2019.03.14, v4.12.0

feature:
- (putout) add formatter progress


2019.03.13, v4.11.2

fix:
- (putout) absent dependency
- (formatter) dump/stream: output check


2019.03.13, v4.11.1

fix:
- (putout) report: places check
- (@putout/test) format: name
- (multiple-properties-destructuring) two properties on a same line


2019.03.13, v4.11.0

feature:
- (putout) add support of custom formatters: dump, stream
- (@putout/test) add support of noTransform
- (eslint-config) add support of globalReturn


2019.03.12, v4.10.0

fix:
- (@putout/plugin-remove-useless-variables) name
- (@putout/plugin-remove-useless-variables) handle id, init not identifiers

feature:
- (putout) pretify -> report
- (putout) add report-find
- (putout) add report-end
- (@putout/remove-useless-variables) add support of uppercase
- (@putout/remove-useless-variables) add support of destructuring
- (@putout/plugin-convert-apply-to-spread) add support of this and nested MemberExpressions
- (@putout/plugin-remove-useless-variables) exclude shorthand variables


2019.03.06, v4.9.0

fix:
- (eslint-plugin-putout) long-properties-destructuring: add support of RestElement
- (@putout/plugin-convert-arguments-to-rest) "rest" -> rest parameters
- (@putout/plugin-remove-empty) block: missing return when tryStatement used

feature:
- (@putout/plugin-remove-useless-variables) add
- (@putout/plugin-remove-empty) block: add support of try catch
- (@putout/plugin-remove-unused-variables) add support of ExpressionStatement


2019.03.06, v4.8.1

fix:
- (putout) support of "*.*"


2019.03.05, v4.8.0

feature:
- (@putout/plugin-remove-unused-expressions) add
- (@putotu/plugin-remove-unused-variables) add support of ObjectExpression in ExportDefaultDeclaration
- (@putout/plugin-remove-unused-variables) add support of ClassDeclaration in ExportDefaultDeclaration
- (@putotu/plugin-remove-unused-variables) condition isObjectExpression -> traverse ObjectExpression
- (putout) isTemplateLiteral checks -> TemplateLiteral key
- (putout) add support of TemplateLiteral in ConditionalExpresssion
- (@putout/plugin-remove-unused-variables) add support of Identifier in JSXSpreadAttribute
- (@putout/plugin-remove-unused-variables) add support of marking as used elements before RestElement when destructuring used as a function param
- (@putout/plugin-remove-unused-variables) add support of specifiers in ExportNamedDeclaration
- (@putout/plugin-remove-unused-variables) add support of TemplateLiteral in JSXExpressionContainer
- (@putout/plugin-remove-unused-variables) add support of JSXSpreadAttribute


2019.02.28, v4.7.1

fix:
- (putout) renamed: convert-arguments-to-spread -> convert-arguments-to-rest


2019.02.28, v4.7.0

fix:
- (putout) get config from bottom directory -> get config from current directory
- (npmignore) add *.md

feature:
- (putout) ignore: add node_modules
- (@putout/plugin-remove-unused-variables) add support of VariableDeclaration in ExportNamedDeclaration
- (eslint-plugin-putout) add long-properties-destructuring
- (@putout/plugin-convert-apply-to-spread) add support of context switch in apply


2019.02.28, v4.6.0

feature:
- (@putout/plugin-convert-arguments-to-spread) add


2019.02.27, v4.5.0

fix:
- (eslint-plugin-putout) JSX support

feature:
- (@putout/plugin-convert-apply-to-spread) add
- (eslintrc) add sourceType, ecmaFeatures


2019.02.26, v4.4.1

fix:
- (putout) version
- (@putout/plugin-react-hooks) convert-import-component-to-use-state: Component


2019.02.26, v4.4.0

feature:
- (@putout/plugin-convert-math-pow) add
- (@putout/plugin-react-hooks) remove-this: rm addition check
- (@putout/plugin-remove-unused-variables) add support of identifiers in SwitchCase test


2019.02.22, v4.3.2

fix:
- (putout) apply changes


2019.02.22, v4.3.1

fix:
- (run-plugins) add early return when no need to apply changes
- docs(changelog) rm 


2019.02.22, v4.3.0

feature:
- (putout) add support of --fix-count


2019.02.21, v4.2.2

fix:
- (putout) move madrun on top of plugins

feature:
- (@putout/plugin-madrun) rename-series-to-run


2019.02.21, v4.2.1

fix:
- ((putout) read package.json if .putout.json not found: default match doesn't work without package.json dirname
- (eslint-plugin-putout) multiple-properties-destructuring: more then 1 -> more then 2 properties
- (@putout/eslint-config) rm object-property-newline

feature:
- (plugin-madrun) call-series -> call-run
- (eslint-plugin-putout) add suppport of multiple-properties-destructuring
- (eslint-config) add object-property-newline


2019.02.20, v4.2.0

feature:
- (putout) babel: enable allowReturnOutsideFunction
- (@putout/plugin-madrun) convert-redrun-to-series -> call-series: add npm
- (@putout/plugin-madrun) add support of redrun args
- (eslint-config) add linebreak-style
- (@putout/plugin-madrun) add convert-redrun-to-series


2019.02.19, v4.1.2

fix:
- (putout) remove plugin remove-empty-pattern

feature:
- (get-plugins) optimize: paths


2019.02.19, v4.1.1

fix:
- (putout) putout .
- (eslint-plugin-putout) one-line-destructuring: exclude default assignment of property

feature:
- (@putout/plugin-remove-console) add support of console.time, console.timeEnd


2019.02.18, v4.1.0

fix:
- (@putout/plugin-strict-mode) npmignore: .spec.js
- (@putout/plugin-strict-mode) npmignore: fixture
- (putout) when find error - exit 1
- (putout) remove align-spaces

feature:
- (@putout/plugin-strict-mode) add
- (eslint-config) add lines-around-directives


2019.02.17, v4.0.3

fix:
- (npmignore) yarn-error.log
- (putout) merge match: user match first

feature:
- (eslint-plugin-putout) add align-spaces
- (eslint-plugin-putout) add destructuring-as-function-argument


2019.02.17, v4.0.2

fix:
- (putout) remove-only, remove-skip: enabled only for test, .spec.js


2019.02.16, v4.0.1

fix:
- (package) dependencies: @putout/plugin-madrun


2019.02.16, v4.0.0

fix:
- (@putout/plugin-remove-unused-variables) Identifiers in IfStatement

feature:
- (@putout/plugin-apply-destructuring) add support of array destructuring
- (@putout/plugin-remove-empty) join with @putout/plugin-remove-empty-pattern
- (putout) set defaults for bin
- (putout) remove support of putout section of package.json
- (putout) rm --config
- (eslint-config) prefer-destructuring: AssignmentExpression: disable ojbect
- (eslint-config) prefer-destructuring
- (putout) madrun v2.0.0


2019.02.15, v3.24.0

feature:
- (package) madrun v2.0.0
- (putout) add @putout/plugin-madrun


2019.02.15, v3.23.0

fix:
- (@putout/plugin-madrun) add .spec.js to ignore
- (@putout/test) report/reportCode: disable 

feature:
- (@putout/plugin-madrun) add
- (putout) move out prettify from bin


2019.02.14, v3.22.0

fix:
- (@putout/plugin-react-hooks) convert-state-to-hooks: @babel/template -> putout
- (npmignore) add fixture
- (putout) merge plugins: core, userland -> userland, core

feature:
- (@putout/plugin-remove-unused-private-fields) add
- (react-hooks) findClass -> traverseClass
- (@putout/plugin-react-hooks) add
- (plugin-remove-unused-variables) add support of Identifier in ExportDefault declaration


2019.02.12, v3.21.0

feature:
- (putout) add ability to call push, instead of return places


2019.02.11, v3.20.1

fix:
- (putout) get-plugin: node_modules search
- (@putout/test) rm rules

feature:
- (@putout/test) add support of rules property of plugin


2019.02.11, v3.20.0

feature:
- (get-plugins) add support of rules
- (plugin-remove-only) redrun -> madrun


2019.02.08, v3.19.0

feature:
- (putout) add support of custom parser
- (eslint-config) add no-multi-spaces


2019.02.07, v3.18.0

feature:
- (putout) add support of parser
- (plugin-remove-unused-variables) split AssingmentExpression and assignmentPattrn
- (eslint-plugin-putout) one-line-destructuring: condition -> selector


2019.02.04, v3.17.3

feature:
- (get-vars) scopeBlocks -> scope.uid
- (package) yargs-parser v13.0.0
- (plugin-remove-empty) @putout/eslint-config -> eslint-plugin-putout
- (plugin-remove-empty) redrun -> madrun
- (plugin-remove-empty-pattern) redrun -> madrun


2019.02.01, v3.17.2

fix:
- (eslint-plugin-putout) recommended
- (eslint-plugin-putout) one-line-destructuring: false positive
- chore() rm "\n"
- (apply-destructuring) ObjectPattern as id, Literal as property

feature:
- (package) yargs-parser v12.0.0
- (eslint-config) no-trailing-space
- (eslint-config) add comma-dangle
- (putout) add eslint-plugin-node
- (eslint-plugin-putout) add
- (eslintrc) add no-var, prefer-const
- (plugin-apply-destructuring) add support of VariableDeclaration kinds different then const (var, let)
- (plugin-merge-destructuring) do not merge variables with different kinds


2019.01.28, v3.17.1

fix:
- (putout) template -> generate


2019.01.28, v3.17.0

fix:
- (plugin-merge-destructuring-properties) overwrite property

feature:
- (putout) add @babel/generator


2019.01.28, v3.16.0

fix:
- (merge-destructuring-properties) rm recast

feature:
- (plugin-apply-destructuring) add
- (plugin-merge-destructuring-properties) add


2019.01.28, v3.15.2

fix:
- (putout) call plugin.: with place -> with item

feature:
- (convert-esm-to-commonjs) add support of same name of imported and local
- (plugin-convert-esm-to-commonjs) add support of CallExpression in ExportDefaultDeclaration


2019.01.27, v3.15.1

fix:
- (package) dependencies: add @putout/plugin-convert-esm-to-commonjs


2019.01.27, v3.15.0

feature:
- (plugin-convert-esm-to-commonjs) add
- (eslint-config) add no-useless-rename


2019.01.27, v3.14.0

fix:
- (plugin-remove-empty) package: description

feature:
- (putout) add @babel/template
- (plugin-remove-unused-variables) redrun -> madrun
- (plugin-remove-unused-variables) BinaryExpression: add support of TemplateLiteral
- (putout) add support of madrun


2019.01.24, v3.13.2

fix:
- (putout) dependencies: @babel/parser


2019.01.23, v3.13.1

fix:
- (custom-parser) @babel/parser: jsx


2019.01.23, v3.13.0

feature:
- (putout) add support of @babel/parser
- (putout) move out espree to custom-parser


2019.01.23, v3.12.0

feature:
- (putout) add support of a no loc nodes
- (putout) decrease leak of a path
- (plugin-remove-unused-variables) use Map instead of Loc
- (@putout/plugin-remove-unused-variables) @babel -> putout


2019.01.22, v3.11.0

fix:
- feature(putout) remove recast-
- (plugin-remove-skip) @putout/test: dependencies -> devDependencies

feature:
- (putout) remove recast-fix
- (@putout/plugin-remove-unused-variables) add ability to not relate on loc while searching and removing variables
- (@putout/test) add support of plugins as second argument of transform


2019.01.21, v3.10.0

fix:
- feature(@putout/test) add ability to check that report, find and  functions exists

feature:
- (plugin-remove-empty-pattern) add
- (plugin-remove-empty) @babel/types -> putout.types
- (eslintrc) implicit-error-line-break
- (eslintrc) add arrow-spacing
- (@putout/test) add ability to check that report, find and fix functions exists
- (plugin-remove-skip) @babel/types -> putout
- (plugin-remove-only) @babel/types -> putout.types


2019.01.18, v3.9.0

fix:
- (eslintrc) .eslintrc.js -> .eslintrc.json
- chore(split-variable-declaration-) add " "

feature:
- (putout) add traverse, types to exports
- (package) eslint -> jsonlint
- (plugin-split-variable-declarations) set loc to work good with @putout/plugin-remove-unused-variables
- (@putout/test) transform: add support of plugins
- (package) add @putout/eslint-config


2019.01.16, v3.8.0

fix:
- (plugin-remove-unused-variables) ClassDeclaration: add support of bubling
- (putout) exit on parse error -> log on proceed

feature:
- (plugin-remove-unused-variables) add support of jsx
- (putout) add support of jsx
- (plugin-remove-unused-variables) add support of ObjectExpression in arguments of NewExpression
- (plugin-remove-unused-varaibles) add support of AssignmentPattern in ObjectExpression
- (plugin-remove-unused-variables) add support of ClassDeclaration


2019.01.15, v3.7.2

fix:
- (get-plugins) plugins load


2019.01.15, v3.7.1

fix:
- (get-plugins) disable codemod


2019.01.15, v3.7.0

feature:
- (putout) read config not directory containg file not cwd


2019.01.15, v3.6.3

fix:
- (putout) position in files with shebang


2019.01.14, v3.6.2

fix:
- (putout) relative path


2019.01.14, v3.6.1

fix:
- (putout) argv: number

feature:
- (plugin-remove-unused-variables) add traverse
- (plugin-remove-unused-variables) ObjectExpression add support of computed key


2019.01.14, v3.6.0

feature:
- (putout) move plugins init to bin


2019.01.14, v3.5.1

fix:
- (get-plugins) plugins merge
- (putout) : false by default


2019.01.14, v3.5.0

feature:
- (putout) add @putout/plugin-remove-empty


2019.01.13, v3.4.2

fix:
- (package) add once

feature:
- (plugin-convert-tape-to-supertape) add support of tryToTape


2019.01.13, v3.4.1

fix:
- (putout) rm console.log


2019.01.13, v3.4.0

feature:
- (putout) add support of codemods


2019.01.13, v3.3.5

fix:
- (putout) ExportDefaultDeclaration (benjamn/recast/pull/561)

feature:
- (@putout/test) no report messages


2019.01.13, v3.3.4

fix:
- (putout) getMessage -> report
- (@putout/test) message -> report

feature:
- (@putout/test) add support of reportCode
- (@putout/test) add support of transformCode


2019.01.13, v3.3.3

fix:
- (putout) add print options: single quotes

feature:
- (test) messages: add support of array
- (package) add @putout/test
- (@putout/test) add
- (package) add supertape from npm


2019.01.12, v3.3.2

fix:
- (putout) unused variables -> errors

feature:
- (package) rm unused rendy
- (plugin-remove-console) simplified tests
- (putout) add support of ArrayExpression in AssignmentPattern
- (plugin-remove-unused-variabled) add support of ExportNamedDeclaration


2019.01.11, v3.3.1

fix:
- (putout) preventUsingEsprima

feature:
- (package) recast v0.17.1
- (plugin-remove-unused-variables) add support of ExportDefaultDeclaration
- (putout) add sourceType: "module"


2019.01.11, v3.3.0

fix:
- (split-variable-declaration) add null-literal support

feature:
- (putout) plugin: find(ast) -> find(ast, {traverse, types})
- (putout) plugin: message -> getMessage


2019.01.10, v3.2.0

feature:
- (plugin-remove-console) add


2019.01.10, v3.1.0

feature:
- (plugin-split-variable-declarations) add


2019.01.10, v3.0.0

fix:
- (plugin-remove-only) description
- feature(putout) change plugin structure: find, 

feature:
- (parse-match) move out from bin/putout.js
- (putout) add support of match/ignore
- (putout) add plugin name in erros output
- (plugin-remove-skip) add
- (putout) add ability to set config path
- (putout) cherow -> espree: comments support
- (putout) disable by default rules: remove-only, remove-process-exit
- (plugin-remove-unused-variables) move out from putout
- (plugin-remove-only) move out from putout
- (remove-process-exit) isStringLiteralValue -> isStringLiteral
- (putout) add support of plugins load
- (plugin-remove-debugger) move out from putout
- (putout) full plugin names
- (rm-process-exit) add
- (putout) convert repo to monorepo
- (putout) change plugin structure: find, fix
- (putout) add ability to load plugins
- (putout) add ability to load config file .putout.json
- (get-plugins) add support of rules
- (putout) .putout.json -> putout.json
- (putout) add support of only
- (get-vars) rm setLoc


2019.01.04, v2.26.0

feature:
- (putout) add ability to remove debugger statement


2019.01.04, v2.25.0

fix:
- (putout) shebang, strict mode

feature:
- (putout) add support of TemplateLiteral in ArrayExpression
- (putout) move out message from bin


2019.01.04, v2.24.1

fix:
- (cut-shebang) additional new line


2019.01.03, v2.24.0

feature:
- (putout) useParamsBeforeLastUsed: add support of AssignmentPattern in
- (puttou) add support of SpreadElement in ArrayExpression
- (putout) add support of ThrowStatement
- (putout) add ability to use nested properties in ObjectExpression


2019.01.03, v2.23.0

fix:
- chore(get-vars) fixture: alphabet order

feature:
- (putout) FunctionDeclaration: add support of useParamsBeforeLastUsed
- (putout) add support of TemplateLiteral in LogicalExpression
- (putout) useParamsBeforeLastUsed: add support of ObjectPattern
- (putout) add support of TaggedTemplateExpression


2019.01.02, v2.22.0

feature:
- (putout) AssignmentExpressions: add support of TemplateLiteral
- (putout) add support of UpdateExpression


2019.01.02, v2.21.0

feature:
- (putout) FunctionDeclaration: add support of AssignmentPattern in params


2019.01.01, v2.20.0

feature:
- (get-vars) add ability to use traverse ObjectExpression with ObjectPattern
- (remove-unused) add loc when error


2019.01.01, v2.19.0

feature:
- (putout) AssignExpression: add support of ObjectExpression in the right
- (putout) add support of SwitchStatement


2019.01.01, v2.18.7

feature:
- (get-vars) add support of one unused variable in ArrayPattern id of VariableDeclarator


2018.12.31, v2.18.6

feature:
- (get-vars) add support of ObjectExpression in body of ArrowFunctionExpression


2018.12.31, v2.18.5

fix:
- (putout) exit


2018.12.31, v2.18.4

feature:
- (putout) ConditionalExpression: add support of consequent, alternate


2018.12.31, v2.18.3

fix:
- (putout) removing an element from ArrayPattern


2018.12.29, v2.18.2

feature:
- (package) add estree-to-babel


2018.12.29, v2.18.1

fix:
- (putout) add @babel/parser back


2018.12.29, v2.18.0

feature:
- (putout) @babel/parser -> cherow


2018.12.28, v2.17.2

fix:
- (putout) do not try to remove empty for-of statement
- chore(putout) add comment to fixStrictMode


2018.12.27, v2.17.1

fix:
- (putout) strict mode


2018.12.27, v2.17.0

feature:
- (get-vars) rm isVariableDeclaration(left) check from ForOfStatement
- (get-vars) ArrowFunctionExpression: rm isObjectPattern condition
- (putout) add support of empty body in ForOfStatement


2018.12.27, v2.16.0

feature:
- (putout) add support of NewExpression


2018.12.27, v2.15.0

fix:
- (putout) error message

feature:
- (putout) add support of ForOfStatement with empty body


2018.12.26, v2.14.0

feature:
- (putout) add support of ArrayPattern in VariableDeclarator


2018.12.26, v2.13.1

fix:
- (putout) crash on removing unused ArrowFunctionExpression param


2018.12.25, v2.13.0

fix:
- (putout) strict mode
- (putout) some variable names on same scope level

feature:
- (putout) add support of destructuring in params of ArrowFunctionExpression
- (get-vars) add support of destructuring in params
- (putout) add ability to ignore params before last used


2018.12.25, v2.12.0

feature:
- (putout) add support of TemplateLiteral in ArrowFunctionExpression


2018.12.25, v2.11.1

fix:
- (putout) --help


2018.12.25, v2.11.0

fix:
- docs(readme) --

feature:
- (putout) add --help, --version


2018.12.25, v2.10.1

fix:
- (putout) add "\n" in output


2018.12.24, v2.10.0

feature:
- (putout) add support of assignment expression


2018.12.24, v2.9.0

feature:
- (putout) add support of Identifier in init of VariableDeclarator


2018.12.24, v2.8.0

feature:
- (putout) add support of SpreadElement in CallExpression


2018.12.24, v2.7.1

fix:
- (putout) crash when no unused


2018.12.24, v2.7.0

fix:
- (putout) dependencies

feature:
- (putout) show file name


2018.12.24, v2.6.1

fix:
- (putout) double semicoln in strict mode


2018.12.24, v2.6.0

feature:
- (putout) add support of globs
- (putout) add support of array-expression
- (putout) add support of unary-expression
- (package) add eslint-plugin-tape


2018.12.24, v2.5.0

feature:
- (get-vars) add support of logical-expression
- (putout) add support of member expression properties


2018.12.23, v2.4.0

feature:
- (get-vars) add support of ObjectExpression in ReturnStatement
- (get-vars) add support of TemplateLiteral in ReturnStatement
- (get-vars) fn calls horthand vars
- (package) test:diff


2018.12.22, v2.3.0

fix:
- (get-vars) VariableDeclarator: path.traverse -> id.traverse

feature:
- (get-vars) add support of TemplateLiteral


2018.12.22, v2.2.0

feature:
- (get-vars) add support of IfStatement


2018.12.21, v2.1.1

feature:
- (putout) disabled return an array of .tokens on the root AST node


2018.12.21, v2.1.0

fix:
- test(putout) fn vars 
- test(putout) arrow-vars-

feature:
- (putout) add support of destructuring nested object
- (putout) get-vars: remove declaration when destructured value not used


2018.12.07, v2.0.0

fix:
- (putout) remove unused destructured variables

feature:
- (putout) add support of fn-call-vars
- (package) espree -> @babel/parser
- (putout) count -> declared, used
- (package) espree v5.0.0


2018.12.06, v1.6.0

feature:
- (putout) add support of desctrucuring variable declaration
- (putout) add ability to process bin files


2018.12.05, v1.5.0

fix:
- (putout) no root vars
- (putout) variables with same name in different scopes

feature:
- (putout) add ability to align spaces
- (putout) add raw-full


2018.12.05, v1.4.0

fix:
- (putout) showRaw: input

feature:
- (putout) add support of argument destructurisation


2018.12.04, v1.3.3

fix:
- (putout) vars -> raw


2018.12.04, v1.3.2

fix:
- (putout) undeclared-vars


2018.12.04, v1.3.1

fix:
- (get-unused) called


2018.12.04, v1.3.0

feature:
- (putout) add support of object spread


2018.12.04, v1.2.2

feature:
- (putout) add support of object properties


2018.12.04, v1.2.1

fix:
- (putout) fn-args-vars

feature:
- (putout) add for-of support


2018.12.04, v1.2.0

feature:
- (package) add support of called but not defined functions


2018.12.04, v1.1.1

fix:
- (get-vars) first use of a function


2018.12.03, v1.1.0

feature:
- (putout) add support of unused arguments
- (puttout) add support of shorthand properties


2018.11.30, v1.0.1

fix:
- (package) bin

feature:
- (putout) add

