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 v25.13.0

Published by coderaiser over 2 years ago

πŸ”₯ feature

  • (package) @putout/plugin-typescript v2.0.0
  • (@putout/plugin-typescript) drop support of 🐊 < 16
  • (@putout/plugin-typescript) remove-duplicates-from-union: avoid duplicates reporting
  • (@putout/plugin-extract-object-properties) not-equal-deep: link to listStore() results -> call linkStore() when neaded
  • (@putout/engine-runner) store: listStore: use Set() inside to prevent duplicates and return array
putout - putout v25.12.0

Published by coderaiser over 2 years ago

πŸ”₯ feature

  • (package) @putout/plugin-convert-comparison-to-boolean v3.0.0
  • (@putout/plugin-convert-comparison-to-boolean) drop support of putout < 25
  • (@putout/plugin-simplify-logical-expressions) add more cases
  • (@putout/plugin-convert-comparison-to-boolean) template.ast -> BooleanLiteral
putout - putout v25.11.4

Published by coderaiser over 2 years ago

πŸ”₯ feature

  • (package) @putout/plugin-remove-useless-variables v7.0.0
  • (@putout/plugin-remove-useless-variables) drop support of putout < 25
  • (@putout/plugin-remove-useless-variables) remove: exclude bindings with constant violations (#100)
  • (@putout/operate) remove: preserve only top-level comments, remove other (#100)
  • (@putout/operate) compute: exclude SpreadElement from extracting (#100)
putout - putout v25.11.3

Published by coderaiser over 2 years ago

πŸ”₯ feature

  • (package) @putout/formatter-progress v4.0.0
putout - putout v25.11.2

Published by coderaiser over 2 years ago

🐞 fix

  • (putout) get back chalk v4: berry support + deduplication

πŸ”₯ feature

  • (@putout/eslint-config) padding-line-between-statements: add new line before and after for
putout - putout v25.11.1

Published by coderaiser over 2 years ago

πŸ”₯ feature

  • (package) @putout/processor-css v4.0.0
  • (@putout/processor-html) drop support of putout < 25
  • (@putout/processor-css) drop support of putout < 25
  • (@putout/processor-typescript) drop support of putout < 25
putout - putout v25.11.0

Published by coderaiser over 2 years ago

πŸ”₯ feature

  • (package) @putout/formatter-frame v3.0.0
  • (package) @putout/formatter-codeframe v4.0.0
  • (package) @putout/formatter-progress v3.0.1
  • (@putout/formatter-progress) drop support of putout < 25
  • (package) @putout/formatter-codeframe v4.0.0
  • (@putout/formatter-codeframe) drop support of Putout < 25
  • (package) @putout/formatter-memory v3.0.0
  • (@putout/formatter-memory) drop support of Putout < 25
  • (package) @putout/formatter-dump v4.0.0
  • (package) @putout/formatter-dump v4.0.0
  • (@putout/formatter-dump) drop support of Putout < 25
  • (package) @putout/formatter-progress-bar v3.0.0
  • (@putout/formatter-progress-bar) drop support of putout < 25
  • (package) @putout/formatter-stream v4.0.0
  • (@putout/formatter-stream) drop support of putout < 25
  • (package) ts-morph v14.0.0
  • (package) hermes-parser v0.6.0
  • (package) eslint-plugin-eslint-plugin v4.1.0
  • (package) escover v2.1.0
  • (package) escover v2.1.0
  • (package) emoji-regex v10.0.1
  • (package) chalk v5.0.1
  • (package) stylelint-config-standard v25.0.0
  • (package) chalk v5.0.1
  • (package) @putout/operate v8.0.0
  • (package) @putout/operate v8.0.0
  • (package) @putout/operate v8.0.0
  • (package) @putout/operate v8.0.0
  • (@putout/operate) drop support of node < 16
  • (@putout/operate) compute: exclude Identifiers from parsing of ObjectExpressions (#100)
putout - putout v25.10.0

Published by coderaiser over 2 years ago

🐞 fix

  • (@putout/operator-add-args) skip adding args when params exists and not ObjectPattern
  • (@putout/plugin-putout) declare: addArgument -> addArgs
  • (@putout/plugin-regexp) convert-replace-to-replace-with: extra.raw -> raw (#100)

πŸ”₯ feature

  • (package) @putout/operate v8.0.0
  • (@putout/operate) drop support of node < 16
  • (@putout/operate) compute: exclude Identifiers from parsing of ObjectExpressions (#100)
  • (@putout/compare) setVars: BlockStatement -> Statement: improve node building
  • (@putout/plugin-remove-useless-else) simplify
  • (@putout/compare) setValues: add ability to handle BlockStatement
  • (@putout/plugin-remove-useless-group) extra.raw -> raw (#100)
  • (@putout/plugin-putout) add add-push
  • (@putout/operator-declare) exclude: TSDeclareFunction
  • (@putout/plugin-nodejs) declare: exclude title
putout - putout v25.9.1

Published by coderaiser over 2 years ago

🐞 fix

  • feature(@putout/plugin-eslint-config) turn no-unsafe-negation off since @putout/plugin-simplify-logical-expressions handles and fixes this case

πŸ”₯ feature

  • (package) @putout/plugin-simplify-logical-expressions v2.0.0
  • (@putout/plugin-simplify-logical-expressions) drop support of 🐊 < 25
  • (@putout/plugin-simplify-logical-expressions) add support of in, instanceof
  • (@putout/plugin-eslint-config) turn no-unsafe-negation off since @putout/plugin-simplify-logical-expressions handles and fixes this case
putout - putout v25.9.0

Published by coderaiser over 2 years ago

🐞 fix

  • (@putout/plugin-extract-object-properties) equal-deep: rm useless isIdentifier check
  • (@putout/engine-runner) uplist: clear

πŸ”₯ feature

  • (package) @putout/plugin-remove-useless-type-conversion v2.0.0
  • (@putout/plugin-remove-useless-type-conversion) drop support of 🐊 < 25
  • (@putout/plugin-remove-useless-type-convertion) merge @putout/plugin-remove-double-negations
  • (@putout/plugin-remove-double-negations) drop support of 🐊 < 25
  • (@putout/plugin-remove-double-negations) "Double negation should not be used in conditions" -> "Avoid using double negations in conditions"
  • (@putout/plugin-extract-object-properties) not-equal-deep: apply 🦎PutoutScript
  • (@putout/plugin-extract-object-properties) not-equal-deep: apply listStore
  • (@putout/engine-runner) traverse: ☝️ add ability to validate path
putout - putout v25.8.0

Published by coderaiser over 2 years ago

🐞 fix

  • (@putout/plugin-tape) apply-with-name: report after transform

πŸ”₯ feature

  • (@putout/plugin-extract-object-properties) drop support of 🐊Putout < 25
  • (@putout/plugin-extract-object-properties) equal-deep: convert to traverse, apply uplist
  • (@putout/engine-runner) add uplist
  • (@putout/eslint-config) add blank line between if and throw
  • (@putout/plugin-promises) remove-useless-await: exclude logical expressions
  • (@putout/plugin-tape) apply-with-name: add support of chain
putout - putout v25.7.1

Published by coderaiser over 2 years ago

πŸ”₯ feature

  • (package) @putout/plugin-extract-sequence-expressions v3.0.0
  • (@putout/plugin-extract-sequence-expressions) drop support of 🐊 < 25
  • (@putout/plugin-extract-sequence-expressions) add support of arguments
  • (package) @putout/plugin-convert-commonjs-to-esm v9.0.0
  • (package) @putout/plugin-putout v11.0.0
  • (@putout/plugin-putout) drop support of 🐊 < 25
  • (@putout/plugin-convert-commonjs-to-esm) drop support of 🐊 < 25
  • (@putout/plugin-convert-commonjs-to-esm) add support of babel v7.17.7 (https://github.com/babel/babel/releases/tag/v7.17.7)
putout - putout v25.7.0

Published by coderaiser over 2 years ago

πŸ”₯ feature

  • (package) @putout/plugin-apply-early-return v2.0.0
  • (@putout/plugin-apply-early-return) drop support of 🐊 < 25
  • (@putout/plugin-apply-eary-return) improve
  • (@putout/plugin-remove-useless-else) add
putout - putout v25.6.0

Published by coderaiser over 2 years ago

πŸ”₯ feature

  • (@putout/plugin-montag) rename from @putout/plugin-apply-montag
  • (package) @putout/plugin-apply-early-return v1.0.1
putout - putout v25.5.0

Published by coderaiser over 2 years ago

🐞 fix

  • feature(@putout/engine-runner) validate absent fix
  • (@putout/plugin-regexp) get isSimpleRegexp check back

πŸ”₯ feature

  • (@putout/plugin-promises) merge @putout/plugin-apply-await-import
  • (@putout/engine-runner) validate absent fix
  • (@putout/engine-runner) include: add report validation
  • (eslint-plugin-putout) @typescript-eslint/lines-between-class-members: turn off
  • (@putout/eslint-config) disable lines-between-property-members
  • (@putout/eslint-config) padding-line-between-statements: add functions
  • (@putout/engine-loader) replace -> replaceAll
  • (@putout/plugin-regexp) improve support of newlines
  • (@putout/plugin-convert-quotes-to-backticks) improve support of multiple backslashes
  • (@putout/plugin-regexp) convert-replace-to-replace-all: improve RegExp support
putout - putout v25.4.1

Published by coderaiser over 2 years ago

πŸ”₯ feature

  • (package) @putout/plugin-convert-quotes-to-backticks v2.0.0
  • (@putout/plugin-convert-quotes-to-backticks) drop support of putout < 25
  • (@putout/plugin-convert-quotes-to-backticks) add support of double backslash (xtermjs/xterm.js#3674)
  • (@putout/plugin-regexp) remove-useless-group: exclude match (xtermjs/xterm.js#3674)
putout - putout v25.4.0

Published by coderaiser over 2 years ago

πŸ”₯ feature

  • (package) @putout/formatter-json-lines v3.0.0
  • (@putout/formatter-json-lines) rm source
  • (@putout/formatter-json-lines) drop support of putout < 25
  • (putout) eslint: improve support of control sequences
putout - putout v25.3.0

Published by coderaiser over 2 years ago

πŸ”₯ feature

  • (@putout/plugin-try-catch) renamed from @putout/plugin-apply-try-catch
  • (@putout/plugin-apply-try-catch) try-catch: add support of finalizer
  • (@putout/plugin-apply-try-catch) add expand-arguments from @putout/plugin-tape
  • (@putout/plugin-tape) expand-try-catch-arguments: add support of tryCatch with more then one argument
  • (@putout/plugin-regexp) convert-replace-to-replace-all: add support of decoding
  • (@putout/eslint-config) add newline-per-chained-call
  • (@putout/plugin-regexp) convert-replace-to-replace-all: replacer -> traverser: multiple operations on one node
putout - putout v25.2.0

Published by coderaiser over 2 years ago

🐞 fix

  • (@putout/plugin-apply-try-catch) try-to-catch: report: await

πŸ”₯ feature

  • (package) @putout/plugin-remove-useless-escape v3.0.0
  • (putout) convert-replace-to-replace-all: enable since node v16 support
  • (@putout/plugin-remove-useless-escape) drop support of putout < 25
  • (@putout/plugin-regexp) apply-literal-notation: add support of /
  • (@putout/plugin-remove-useless-escape) add support of /
putout - putout v25.1.1

Published by coderaiser over 2 years ago

πŸ”₯ feature

  • (package) @putout/plugin-apply-array-at v2.0.0
  • (@putout/plugin-apply-array-at) drop support of putout < 25
  • (@putout/plugin-apply-array-at) report
  • (@putout/plugin-apply-array-at) exclude left of AssignmentExpression
  • (@putout/plugin-promises) remove-useless-await: add support of OptionalCallExpression
  • (@putout/operator-declare) exclude TSDeclareMethod
  • (@putout/operator-declare) exclude TSFunctionType
  • (@putout/plugin-nodejs) declare: rm type
  • (@putout/operator-declare) exclude TSParameterProperty
  • (@putout/operator-declare) exclude TSMethodSignature
  • (@putout/plugin-promise) remove-useless-await: exclude new await Promise()
  • (eslint-plugin-putout) ts: disable warn on unsupported version (https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/parser#parseroptionswarnonunsupportedtypescriptversion)
  • (@putout/plugin-apply-try-catch) try-catch: improve filtering of CallExpression
  • (@putout/plugin-apply-try-catch) try-to-catch: improve filtering Await Expressions
  • (eslint-plugin-putout) nonblock-statement-body-newline: add support of for, for-of, while
  • (eslint-plugin-putout) add nonblock-statement-body-newline
  • (eslint-plugin-putout) *.md{js}: enable quotes, quote-props'
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