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

Bot releases are visible (Hide)

putout - putout v35.31.0

Published by coderaiser 5 months ago

πŸ”₯ feature

  • 02f76db91 @putout/plugin-split-assignment-expressions: add
putout - putout v35.30.1

Published by coderaiser 5 months ago

πŸ”₯ feature

  • 4dcdfefbc putout: samadhi v2.0.0
  • e43f4e406 @putout/plugin-conditions: apply-consistent-blocks: add any count of blocks support
  • b7f7420ad @putout/plugin-conditions: apply-consistent-blocks: couple
  • 3ecb697c4 @putout/plugin-putout: simplify-replace-template: add
  • bc711bd18 @putout/cli-cache: file-entry-cache v9.0.0
putout - putout v35.30.0

Published by coderaiser 5 months ago

🐞 fix

  • 2f5c9cac7 @putout/operate: getPathAfterRequires: rm additional checks

πŸ”₯ feature

  • eb49ccbcf putout: @putout/plugin-logical-expressions v6.0.0
  • a6e3bb03a @putout/plugin-logical-expressions: drop support of 🐊 < 35
  • 819f9bccc @putout/plugin-logical-expressions: simplify: add support of JSXExpressionContainer
  • d39a3f18a @putout/plugin-typescript: remove-setter-return-type: add
  • 67cd1671e @putout/plugin-typescript: remove-getter-arguments: add
putout - putout v35.29.0

Published by coderaiser 5 months ago

πŸ”₯ feature

  • 10f1f8d39 package: @putout/plugin-declare-before-reference v4.0.0
  • a29e8de29 @putout/plugin-declare-before-reference: use getPathAfterRequires
  • c9bfe433b @putout/plugin-declare-before-reference: drop support of 🐊 < 35
  • ac311c393 @putout/plugin-putout: convert-get-rule-to-require: use getPathAfterRequires
  • 8dc811a53 @putout/plugin-putout: declare: operator: getPathAfterRequires
  • 19f7b5351 @putout/operate: getPathAfterRequires: add
  • 8ecff1259 @putout/plugin-for-of: add-missing-declaration: add
putout - putout v35.28.0

Published by coderaiser 5 months ago

πŸ”₯ feature

  • f5c9caf71 putout: add samadhi
putout - putout v35.27.0

Published by coderaiser 5 months ago

🐞 fix

  • ec18bbbb5 @putout/plugin-eslint: convert-export-match-to-declaration: false positive

πŸ”₯ feature

  • e82121cc7 putout: add ability to fix broken strings
putout - putout v35.26.0

Published by coderaiser 5 months ago

πŸ”₯ feature

  • 725e2dd6e putout: @putout/plugin-remove-useless-escape v6.0.0
  • 1791f0979 @putout/plugin-remove-useless-escape: drop support of 🐊 < 35
  • 9a7d278d9 @putout/plugin-remove-useless-escape: add h
  • b4a93b98c @putout/operator-match-files: use path.parse
  • 73e2b5f2d @putout/plugin-eslint: convert-rc-to-flat: commonjs/esm hybrid -> esm
  • 6956a1d3a @putout/operator-declare: type
  • d0a48a209 @putout/operator-match-files: add ability to pass options
  • 93cc5a871 @putout/operator-declare: first things first
putout - putout v35.25.1

Published by coderaiser 5 months ago

🐞 fix

  • aa613221b putout: show error when syntax errors in config file
putout - putout v35.25.0

Published by coderaiser 5 months ago

πŸ”₯ feature

  • 79ca8de10 putout: @putout/plugin-putout v20.0.0
  • fafba2dfe @putout/plugin-putout: add-traverse-args
  • 067414ae0 @putout/plugin-putout: add-args -> add-test-args
putout - putout v35.24.1

Published by coderaiser 5 months ago

πŸ”₯ feature

  • 1478a7d24 @putout/plugin-types: remove-useles-conversion: ternary
  • 26b0471b3 putout: get back fast-glob, linting directories
putout - putout v35.24.0

Published by coderaiser 5 months ago

🐞 fix

  • 5e3b2a920 @putout/plugin-eslint: typo
  • 9a682de33 @putout/plugin-eslint: convert-export-match-to-decleration
  • d66f8fe3e @putout/plugin-putout: add-path-store: overlap

πŸ”₯ feature

  • 2fe7a1464 putout: get rid of vulnerable not maintained fast-glob, use glob instead
  • 551bf9d88 root: husky v9.0.11
  • 67068c248 eslint-plugin-putout: @putout/eslint-config v9.0.0
  • 812260c73 @putout/eslint-config: drop support of node < 18
  • 9f90a4eea @putout/eslint-config: no-constant-binary-expression: disable due to overlap with 🐊 logical-expressions
  • 44963cd84 @putout/processor-markdown: remark-preset-lint-consistent v6.0.0
  • 00450ceeb @putout/processor-markdown: unified-lint-rule v3.0.0
  • e2d409cab @putotu/eslint-config: no-unused-private-class-members: disable, overlap with 🐊 remove-unused-private-fields
  • f3f9959f3 @putout/engine-parser: hermes-parser v0.21.1
  • 359fb22fe eslint-plugin-putout: eslint-plugin-eslint-plugin v6.1.0
  • 0bb3d9cd2 eslint-plugin-putout: @stylistic/eslint-plugin-ts v2.1.0
  • b0a1a5cb4 eslint-plugin-putout: @stylistic/eslint-plugin-jsx v2.1.0
  • 53b84fcdd @putout/eslint-config: @stylistic/eslint-plugin-js v2.1.0
  • a1aeb136e @putout/eslint-config: @eslint/js v9.2.0
  • 244300f3f @putout/plugin-eslint: convert-export-match-to-declaration: add
  • 4ffeea87d @putout/plugin-putout: add-path-store: add
  • 04d61a915 @putout/plugin-filesystem: convert-simple-filesystem-to-filesystem: add support of TemplateLiteral
  • 388899296 @putout/plugin-filesystem: convert-simple-filesystem-to-filesystem: MemberExpression
putout - putout v35.23.0

Published by coderaiser 5 months ago

🐞 fix

  • fa79b359c @putout/plugin-eslint: apply-dir-to-flat: report

πŸ”₯ feature

  • 60f3215aa putout: @putout/plugin-for-of v6.0.0
  • 360f0cc9d @putout/plugin-generators: add
  • e674127aa @putout/plugin-for-of: add-missing-star: move out to generators
  • 06937ee22 @putout/plugin-filesystem: convert-simple-filesystem-to-filesystem: improve check of parent directory
  • 358fa9655 @putout/plugin-putout: convert-node-to-path-in-get-template-values: exclude parentPath
  • c0f246225 @putout/plugin-apply-overrides: exclude nested
  • 6d61ac19a @putout/plugin-eslint: apply-dir-to-flat
  • 195ed1a66 root: @putout/eslint-flat v2.0.0
  • 2787a7c5a @putout/eslint: ignore await/yield
  • aef0bfe36 @putout/eslint-flat: add __dirname/import.meta.url
putout - putout v35.22.4

Published by coderaiser 5 months ago

🐞 fix

  • d376eb082 putout: always show ESLint parser error, even when 🐊Putout can parse
putout - putout v35.22.3

Published by coderaiser 5 months ago

πŸ”₯ feature

  • 6cb49e0b4 putout: cli: syntax lint: improve support of fn
putout - putout v35.22.2

Published by coderaiser 6 months ago

πŸ”₯ feature

  • 1e3ca1f22 putout: run 🐊 after fixing syntax errors
  • 807430337 eslint-plugin-putout: align-spaces: report
  • 08e77aec0 @putout/plugin-putout: convert-replace-with: report
  • 19908112b @putout/plugin-for-of: add-missing-star: delegate
  • 3f41dd7de @putout/plugin-react: apply-create-root: add
  • eb138c934 @putout/plugin-for-of: add-missing-star
putout - putout v35.22.1

Published by coderaiser 6 months ago

πŸ”₯ feature

  • 947c377ef putout: eslint.config.js: disable putout/convert-match-to-flat
putout - putout v35.22.0

Published by coderaiser 6 months ago

πŸ”₯ feature

  • 300976b97 putout: @putout/plugin-promises v15.0.0
  • 84f082b24 @putout/plugin-promises: drop support of 🐊 < 35
  • 6cb1598b8 putout: process-file: do not show ESLint parser errors when 🐊Putout can parse
  • 2b8b8be6c @putout/engine-parser: add ability to parse await without async
  • ca781d676 @putout/plugin-promises: add-missing-async: add
putout - putout v35.21.1

Published by coderaiser 6 months ago

πŸ”₯ feature

  • 9f6278963 putout: process-file: syntax
putout - putout v35.21.0

Published by coderaiser 6 months ago

🐊Putout - first linter that fixes syntax errors

Hi folks 🍎!

Today we will talk about auto fixing syntax errors.

Arrow expression with Arrow declaration mixed

Let's suppose you forget to remove arrow:

That's fine, 🐊Putout will tell you about this:

And you also can fix it:

And it will look this way:

No async? No problem!

Forget about adding async keyword?

Worry not!

🐊Putout will take care about this!

Forget round braces? No worry at all!

Here is report message:

And of course fix!

That's all for today, cheers 🦏!

🐞 fix

  • 8b22f546d @putout/processor-yaml: lineWidth: 80 -> Infinity

πŸ”₯ feature

  • 68404b101 putout: add ability to autofix syntax
  • 7367fd174 @putout/plugin-react: remove-useless-forward-ref: add
  • 522b92c5a @putout/plugin-apply-overrides: improve support of one-two arguments
  • d86f10109 @putout/plugin-react: remove-implicit-ref-return: add
  • 6064290d3 eslint-plugin-putout: long-properties-destructuring: exclude ImportDefaultSpecifier
  • 2d6890984 @putout/plugin-react: add
putout - putout v35.20.1

Published by coderaiser 6 months ago

🐞 fix

  • 44635b9f3 putout: config: eslint/apply-match-to-flat: disable for .eslintrc.js

πŸ”₯ feature

  • 4d75b9c9f putout: @putout/plugin-for-of v5.0.0
  • b1b9aa23b @putout/plugin-for-of: drop support of 🐊 < 35
  • dd29a5a0b @putout/plugin-for-of: for-each: exclude ConditionalExpression (coderaiser/minify#122)
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