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 hidden (Show)

putout - putout v35.20.0

Published by coderaiser 6 months ago

🔥 feature

  • 5581321ec putout: @putout/plugin-for-of v5.0.0
  • 45b0a13ce @putout/plugin-for-of: drop support of 🐊 < 35
  • 5057d632f @putout/plugin-for-of: for-each: exclude ConditionalExpression
  • 0d40f13b2 @putout/plugin-putout: add-store: add
  • 9d8e3c3cc @putout/plugin-apply-overrides: rm unused code
  • 6b8afd4c2 @putout/plugin-eslint-plugin: drop support of 🐊 < 35
  • 3a2ec5b50 @putout/eslint-plugin: update-ecma-version: add
  • 86c829a97 @putout/engine-loader: rules: overlap
putout - putout v35.19.0

Published by coderaiser 6 months ago

🐞 fix

  • b47fc0082 eslint-plugin-putout: long-properties-destructuring: ImportDeclaration: no imported

🔥 feature

  • 06c23903c putout: @putout/plugin-apply-overrides v1.0.0
  • 78a37907a eslint-plugin-putout: long-properties-destructuring: add support of ImportDeclaration (align with @putout/printer maxPropertiesLengthInOneLine)
putout - putout v35.18.0

Published by coderaiser 6 months ago

🔥 feature

  • 94b8e8908 putout: parse-options: rulesdir: exclude *.md
  • 2a817e8a5 @putout/operate: insertAfter: wrap ExpressionStatement when current path is Statement and node not
putout - putout v35.17.0

Published by coderaiser 6 months ago

Added support of quick-lint-js 🎉

Just landed support of fastest JavaScript bugs finder.

Now when Babel cannot parse source code, 🐊Putout tries again with @putout/quick-lint, so now error messages will be much more user friendly.
Here is how it looks like for code:

function x() {
    await m();
}

Before

After

That's all for today 🦏.

🐞 fix

  • a87e7e06c @putout/plugin-nodejs: add-node-predynamic: Identifier
  • ca542fb12 @putout/eslint: no config found: Flat Config error -> RC error

🔥 feature

  • 9f76b2a51 putout: @putout/quick-lint v1.0.0
  • 8ad6cd673 @putout/eslint: add ability to hande no FlatConfig found error
  • 949e898c9 @putout/plugin-nodejs: add-node-prefix: simplify
  • 1551e9f04 @putout/plugin-nodejs: add-node-prefix: dynamic import
  • 08acf9555 @putout/plugin-nodejs: add-node-prefix: add require
  • 6744c616f @putout/plugin-nodejs: add-node-prefix: report
putout - putout v35.16.2

Published by coderaiser 6 months ago

🔥 feature

  • 7a30d7c7f @putout/plugin-github: set-node-version: drop node v21 EOL
  • 2079a3481 @putout/plugin-eslint: apply-match-to-flat: exclude not two properties
  • 924f9b1fc @putout/plugin-eslint: apply-match-to-files: exclude objects whith no rules or files
putout - putout v35.16.1

Published by coderaiser 6 months ago

🐞 fix

  • ec9c33c76 @putout/plugin-eslint: apply-match-to-flat: match declared
  • 5daeef38d @putout/eslint-flat: match-to-flat-dir: ignores: fn

🔥 feature

  • d0daabdb9 @putout/plugin-github: set-node-version: node v22 (https://nodejs.org/en/blog/announcements/v22-release-announce)
  • 90b33aee6 @putout/eslint-flat: match-to-flat-dir: ignores
  • c68f66b2f @putout/plugin-eslint: apply-match-to-flat: export match
  • 79c3afc15 @putout/plugin-eslint: apply-match-to-flat: add
  • ab03dc406 @putout/remove-unused-get-properties-argument: exclude not ObjectPattern
  • d7c28b381 @putout/plugin-eslint: declare: add support of @putout/eslint-flat
  • 6bef4fcdd @putout/eslint-flat: add
  • bbef3c8d2 eslint-flat: mergeESLintConfigs: add
putout - putout v35.16.0

Published by coderaiser 6 months ago

🐞 fix

  • c4ad97e8b @putout/operator-match-files: rename
  • e5dbaca94 @putout/operator-match-files: dot
  • 0c02ccf22 eslint: cwd

🔥 feature

  • 463d2646f putout: @putout/plugin-types v4.0.0
  • 7f971e8ba putout: @putout/plugin-declare v4.0.0
  • 3b043c38f @putout/plugin-declare: isArray: move out to @putout/plugin-types
  • 844e20dbb @putout/plugin-types: drop support of node < 18
  • bd2e91935 @putout/plugin-types: declare: isArray, isEmptyArray: add
  • 5fa1a1cd5 @putout/eslint-flat: move out matchToFlat
  • 8c8705b95 @putout/eslint-flat: add support of FlatConfig
  • baf9706c6 @putout/eslint-flat: add
  • 1ba8ae649 @putout/operator-match-files: improve rename
  • ed0d47673 @putout/eslint: get-eslint: Flat Config
  • 65aaa5a93 @putout/eslint: improve support of FlatConfig
  • d4b426a3c @putout/operator-match-file: find existing
  • 405300d88 @putout/operator-filesystem: maybeRemoveFile: search in current directory only
  • f561bfd03 @putout/operator-match-files: copy -> rename
  • 812886108 @putout/operator-ignore: __json: no property found
putout - putout v35.15.0

Published by coderaiser 6 months ago

🐞 fix

  • 9e5cc8f10 @putout/operator-ignore: __json: property
  • 0b32f4415 @putout/plugin-putout: remove-unused-get-properties-argument: exclude not StringLiteral
  • 0855fa787 @putout/plugin-npmignore: message

🔥 feature

  • 09ae16147 putout: add @putout/plugin-coverage
  • 228414483 @putout/plugin-coverage: add
  • a961d86ce putout: @putout/plugin-gitignore v6.0.0
  • fea9d47f9 putout: @putout/plugin-npmignore v5.0.0
  • 95af1575f @putout/plugin-gitignore: use ignore
  • 59361fac9 @putout/plugin-putout: declare: ignore: add
  • 0e78b78b3 @putout/operator-ignore: add
  • 3eb9a5b45 @putout/operator-json: fromJS: no newline
putout - putout v35.14.1

Published by coderaiser 6 months ago

🔥 feature

  • d9c1cf78f putout: @putout/plugin-gitignore v6.0.0
  • 8f360cfd3 putout: @putout/plugin-npmignore v5.0.0
  • 314190495 @putout/plugin-gitignore: use ignore
  • 577a53f79 @putout/plugin-putout: declare: ignore: add
putout - putout v35.14.0

Published by coderaiser 6 months ago

🐞 fix

  • fee14bbd2 @putout/plugin-npmignore: message

🔥 feature

  • 7311d3b1b @putout/operator-ignore: add
  • 383404e74 @putout/operator-json: fromJS: no newline
  • 8ad2a38a9 @putout/plugin-putout: remove-unused-get-properties-argument: add
  • efc02772d @putout/plugin-eslint: convert-rc-to-flat: safeAlign always first
  • 088a4b2fd @putout/operate: traverseProperties: path.parentPath -> path.isCallExpression
  • 77230e28c @putout/plugin-eslint: convert-rc-to-flat: improve support of safeAlign
  • 43a051b58 @putout/plugin-eslint: declare: add
  • 16fdfe713 @putout/plugin-eslint: convert-rc-to-flat: improve
  • 3fed45ab7 @putout/plugin-eslint: convert-files-to-array: report: improve message for FlatConfig
putout - putout v35.13.0

Published by coderaiser 6 months ago

🐞 fix

  • e79864d67 eslint-plugin-putout: ts: plugins

🔥 feature

  • eb0e9cb9c putout: match: add support of ESLint FlatConfig
  • 4ff66674b @putout/plugin-eslint: convert-files-to-array: add support of FlatConfig
  • 809df0ec7 @putout/plugin-eslint: convert-files-to-array: add
  • 83c56c805 putout: migrate to ESLint FlatConfig
  • e61697166 @putout/plugin-eslint: remove-useless-slice: add
  • 8114b3429 @putout/plugin-npmignore: add ".config."
putout - putout v35.12.0

Published by coderaiser 6 months ago

🔥 feature

  • 6a0c0b3ba @putout/engine-runner: @putout/plugin-filesystem v5.0.0
  • 415104d73 putout: @putout/plugin-filesystem v5.0.0
  • b12b3e2f5 @putout/plugin-filesystem: bundle-css -> bundle
putout - putout v35.11.0

Published by coderaiser 6 months ago

🔥 feature

  • 3f5724549 putout: filesystem: rename-file-cts-to-ts, rename-file-mts-to-ts: add
  • d90272d96 @putout/plugin-typescript: rename-file-mts-to-ts: add
  • 542ac08d5 root: eslint-plugin-n v17.0.0
  • 1eb14539f @putout/engine-runner: scanner: use __filesystem_name
  • 3bccecf7a putout: @putout/plugin-putout v19.0.0
  • 9d4e34f5c putout: @putout/operator-rename-files: add
putout - putout v35.10.0

Published by coderaiser 7 months ago

🔥 feature

  • d144bdf3b putout: @putout/plugin-putout v19.0.0
  • 632c648ac putout: @putout/operator-rename-files: add
  • 11cf7700e @putout/plugin-putout: drop support of 🐊 < 35
  • 77a895c9f @putout/plugin-putout: declare: renameFiles: add
  • cec3a34f3 @putout/operator-rename-files: add
putout - putout v35.9.2

Published by coderaiser 7 months ago

🐞 fix

  • 7793e40ea putout: config: typescript: cjs, mjs -> cts, mts

🔥 feature

  • a0219dc13 @putout/plugin-nodejs: move out renameFiles
putout - putout v35.9.1

Published by coderaiser 7 months ago

🔥 feature

  • 7bb17b143 putout: config: *.mts, *.cts: add support
putout - putout v35.9.0

Published by coderaiser 7 months ago

🔥 feature

  • 5b9814c1f putout: filesystem: typescript: cts-file + mts-file
  • 5759cd4d6 @putout/plugin-typescript: mts-file: add
  • 900c655bf @putout/plugin-typescript: cts-file: add
putout - putout v35.8.1

Published by coderaiser 7 months ago

🔥 feature

  • bcaec6bcb putout: @putout/plugin-convert-template-to-string v2.0.0
  • 199832c0a @putout/operate: setLiteralValue: improve generate of raw
  • 99fe7082a @putout/plugin-convert-template-to-string: drop support of node < 18
  • 189245f9d @putout/plugin-convert-template-to-string: exclude: TaggedTemplateExpression
  • 028f7c93c @putout/engine-parser: template: extractExpression: add support of TSExternalModuleReference
  • d84c40b94 @putout/plugin-typescript: convert-esm-to-commonjs: add
putout - putout v35.8.0

Published by coderaiser 7 months ago

🔥 feature

  • eb897c63c putout: @putout/plugin-typescript v7.0.0
  • 015a0635b root: eslint v9.0.0
  • c50ec7743 @putout/compare: @putout/engine-parser v10.3.0
  • 23390f25e @putout/compare: use extractExpression from @putout/engine-runner
  • b83ffa8ad @putout/engine-parser: template: add extractExpression
  • a757b015c @putout/plugin-typescript: convert-commonjs-to-esm: add
  • d355c4bdc @putout/plugin-typescript: drop support of 🐊 < 35
  • 4f43d943a @putout/engine-parser: template: add support of TSExportAssignment
  • 705238354 @putout/plugin-nodejs: convert-commonjs-to-esm: exports: exclude import/export
putout - putout v35.7.6

Published by coderaiser 7 months ago

🐞 fix

  • 72a79038e @putout/plugin-eslint: get back CommonJS
  • ca2115fd9 @putout/plugin-github: get back to CommonJS

🔥 feature

  • cc22a484d putout: @putout/plugin-apply-dot-notation v2.0.0
  • 26168a480 putout: @putout/plugin-remove-useless-spread v11.0.0
  • 63a3dab48 @putout/plugin-apply-dot-notation: drop support of node < 18
  • 45d46b07d @putout/plugin-apply-dot-notation: report
  • 636dd8ed0 @putout/plugin-remove-useless-spread: drop support of 🐊 < 35
  • 261aa7573 @putout/plugin-remove-useless-spread: object: add support of ReturnStatement
  • 67865af08 @putout/plugin-nodejs: convert-commonjs-to-esm: exports: ImportSpecifier
  • 8ec8b0ba1 @putout/plugin-nodejs: convert-commonjs-to-esm: exports: not declared
  • 6a095026a @putout/plugin-declare: add @iocmd/wait
  • b451c12da @putout/plugin-nodejs: convert-commonjs-to-esm: exports: overlap
  • 866c4e176 @putout/plugin-tape: convert-ok-to-called-with: merge apply-stub-operator
  • 948aefb62 eslint-plugin-putout: add-newline-before-function-call: multiple
  • 6fd415890 @putout/plugin-nodejs: convert-commonjs-to-esm: require: mjs
  • c053e80a5 @putout/plugin-nodejs: remove-useless-promisify: add
  • b52b03f32 @putout/plugin-github: update-actions: docker/build-push-action: v5
  • 2f73bdec7 @putout/plugin-github: update-actions: docker/login-action: v3
  • f1de0c82b @putout/plugin-github: update-actions: docker/setup-buildx-action: v3
  • 18c79ef91 @putout/plugin-github: update-actions: docker/setup-qemu-action: v3
  • 30b43ad1d @putout/plugin-tape: convert-ok-to-called-with: add support of: spread, message
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