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 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 7 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 7 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 7 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 7 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 7 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 7 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 npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm npm
Related Projects