putout

🐊 Pluggable and configurable JavaScript Linter, code transformer and formatter with built-in ESLint and Babel support for js, jsx typescript, flow, markdown, yaml and json. Write declarative codemods in a simplest possible way 😏

MIT License

Downloads
3.6M
Stars
646
Committers
23
putout - putout v21.4.0

Published by coderaiser almost 3 years ago

πŸ”₯ feature

  • (@putout/plugin-remove-duplicates-from-union) add
putout - putout v21.3.0

Published by coderaiser almost 3 years ago

πŸ”₯ feature

  • (@putout/plugin-convert-quotes-to-backticks) add
  • (@putout/plugin-remove-useless-escape) add support of escaping single quotes in backquotes
  • (eslint-plugin-putout) add remove-newline-from-empty-object
  • (eslint-plugin-putout) add remove-empty-newline-after-last-specifier
  • (@putout/plugin-declare-undefined-variables) add support of child_process
  • (@putout/plugin-declare-undefined-variables) add pullout, pipe-io
  • (@putout/plugin-declare-undefined-variables) add support of os
  • (@putout/plugin-declare-undefined-variables) add currify, wraptile
putout - putout v21.2.0

Published by coderaiser almost 3 years ago

image

β€œWhen you look at a tree, se it for its leafs, its branches, its trunk and the roots, then and only then will you see the tree”

Takuan Soho, The Unfettered Mind: Writings of the Zen Master to the Sword Master

🐞 fix

πŸ”₯ feature

putout - putout v21.1.2

Published by coderaiser almost 3 years ago

πŸ”₯ feature

  • (@putout/plugin-apply-is-array) drop support of putout < 21
  • (@putout/plugin-apply-is-array) Array.isArray -> isArray
  • (@putout/plugin-declare-undefined-variables) add support of isUndefined
  • (@putout/plugin-convert-typeof-to-is-type) add support of isUndefined
putout - putout v21.1.1

Published by coderaiser almost 3 years ago

🐞 fix

  • (putout) strict-mode/add: on, strict-mode/remove: on -> strict-mode: on

πŸ”₯ feature

  • (@putout/engine-loader) add support of namespaced plugins
putout - putout v21.1.0

Published by coderaiser almost 3 years ago

ImportSpecifier level ImportKind

Since TypeScript 4.5 to import type we can use:

import {type Identifier} from '@babel/types`;

Such way of importing types was supported before:

import type {Identifier} from '@babel/types`;

But if we wan to merge a couple import statements into one - we couldn't, but now we can!
And next code:

import {createIdentifier} from '@babel/types';
import type {Identifier} from '@babel/types`;

Can be switched to:

import {
    type Identifier,
    createIdentifier
} from '@babel/types';

Thanks to brand new @putout/plugin-merge-duplicate-imports πŸŽ‰ !

πŸ”₯ feature

  • (package) @putout/plugin-merge-duplicate-imports v4.0.0
  • (@putout/plugin-merge-duplicate-imports) drop support of putout < 21
  • (@putout/plugin-merge-duplicate-imports) add support of ImportSpecifier importKind
  • (@putout/plugin-apply-filter-boolean) add support of find
putout - putout v21.0.0

Published by coderaiser almost 3 years ago

remove-only and remove-skip now part of @putout/plugin-tape

image

Unis is Sobek, green of plumage, with alert face and raised fore, the splashing one who came from the thigh and tail of the great goddess in the sunlight
(c) wiki/Sobek

If you disabled this rules update your .putout.json with:

{
    "rules": {
-       "remove-only": "off",
-       "remove-skip": "off"
+       "tape/remove-only": "off",
+       "tape/remove-skip": "off"
    }
}

πŸ”₯ feature

putout - putout v20.19.2

Published by coderaiser almost 3 years ago

🐞 fix

  • (putout) --help: plugins list -> plugins
putout - putout v20.19.1

Published by coderaiser almost 3 years ago

🐞 fix

  • (putout) --help: --match [file name] -> --match [pattern]
putout - putout v20.19.0

Published by coderaiser almost 3 years ago

🐞 fix

  • (@putout/plugin-remove-unused-variables) add support of computed key

πŸ”₯ feature

  • (package) @putout/processor-yaml v3.0.0
  • (@putout/processor-yaml) drop support of putout < 20
  • (@putout/processor-yaml) js-yaml -> yaml: useless quotes (nodeca/js-yaml#645)
  • (eslint-plugin-putout) safe: disable remove-unused-types
putout - putout v20.18.0

Published by coderaiser about 3 years ago

image

A monk asked Zhaozhou Congshen, a Chinese Zen master "Has a dog Buddha-nature or not?"
Zhaozhou answered, "WΓΊ".

(c) "The Gateless Gate"

Just landed 🌲The Tree of Syntax chapter. It has some information about the way how things made in 🐊Putout in the bottom level.

πŸ”₯ feature

putout - putout v20.17.0

Published by coderaiser about 3 years ago

🐞 fix

  • (@putout/plugin-remove-unused-variables) typescript dts

πŸ”₯ feature

  • (putout) declare-undefined-variables: disable for *.d.ts
  • (@putout/plugin-convert-typeof-to-is-type) add support of upper scopes
  • (@putout/plugin-convert-typeof-to-is-type) exclude binded values
  • (@putout/plugin-convert-typeof-to-is-type) exclude VariableDeclarator
  • (eslint-plugin-putout) tape-add-newline-before-assertion: add support of test.skip(), test.only()
putout - putout v20.16.1

Published by coderaiser about 3 years ago

🐞 fix

  • (@putout/plugin-convert-array-copy-to-slice) exclude fn call, @putout/plugin-remove-useless-spread will handle it

πŸ”₯ feature

  • (package) @putout/plugin-convert-array-copy-to-slice v2.0.0
  • (@putout/plugin-convert-array-copy-to-slice) drop support of node < 14
putout - putout v20.16.0

Published by coderaiser about 3 years ago

πŸ”₯ feature

  • (@putout/plugin-declare-undefined-variables) add support of maybeArray
  • (@putout/operator-declare) add support of one variable
  • (@putout/plugin-convert-typeof-to-is-type) add
  • (@putout/operator-add-args) add support of patterns array
  • (@putout/compare) compareAny: add support of not array
  • (@putout/compare) compareAll: add ability to pass not array as nodes
  • (@putout/plugin-declare-undefined-variables) add support of is-type
putout - putout v20.15.0

Published by coderaiser about 3 years ago

πŸ”₯ feature

  • (package) @putout/plugin-github v2.0.0
  • (@putout/plugin-github) drop support of putout < 20
  • (@putout/plugin-github) add set-setup-node-version
  • (@putout/plugin-github) add set-checkout-version
  • (@putout/plugin-github) set-node-versions: add v17
putout - putout v20.14.0

Published by coderaiser about 3 years ago

πŸ”₯ feature

  • (putout) ci formatter: dump -> stream
putout - putout v20.13.0

Published by coderaiser about 3 years ago

πŸ”₯ feature

  • (package) @putout/plugin-tape v5.0.0
  • (package) @putout/plugin-putout v8.0.0
  • (@putout/plugin-putout) drop support of putout < 20.13
  • (@putout/plugin-tape) drop support of putout < 20.13
  • (@putout/plugin-tape) declare-t -> add-args
  • (@putout/plugin-putout) add-missing-argument -> add-args
  • (@putout/plugin-putout) add convert-add-argument-to-add-args
  • (@putout/operator-add-args) renamed from @putout/operator-add-argument
  • (@putout/operator-argument) renamed to @putout/operator-add-args
  • (eslint-plugin-putout) add tape-add-new-line-before-assertion
putout - putout v20.12.0

Published by coderaiser about 3 years ago

πŸ”₯ feature

  • (package) @putout/plugin-remove-skip v4.0.0
  • (package) @putout/plugin-remove-only v5.0.0
  • (@putout/plugin-remove-only) drop support of node < 14
  • (@putout/plugin-remove-skip) drop support of node < 14
  • (@putout/plugin-remove-skipt) add support of options
  • (@putout/plugin-remove-only) add support of options
putout - putout v20.11.0

Published by coderaiser about 3 years ago

πŸ”₯ feature

putout - putout v20.10.3

Published by coderaiser about 3 years ago

πŸ”₯ feature

  • (putout) json-stable-stringify -> json-stable-stringify-without-jsonify
Package Rankings
Top 1.65% on Npmjs.org
Badges
Extracted from project README
NPM version Build Status Coverage Status DeepScan putout npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm