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 v32.15.1

Published by coderaiser 12 months ago

🔥 feature

  • d28e4a8eb putout: printer: yaml
  • 6c262ec18 putout: printer: use deep merge
putout - putout v32.15.0

Published by coderaiser 12 months ago

🐞 fix

  • bdb3d1344 @putout/plugin-config: move-formatter-up: processor

🔥 feature

  • 6e4c6d1d1 @putout/plugin-putout-config: move-formatter-up: printer
  • e5e75a070 @putout/cli-choose-formatter: lint putout config
  • 36b4dccbe @putout/plugin-putout-config: move-formatter-up: newline
  • 80227e2d4 putout: lintJSON: add
  • 6c8baa9ca @putout/plugin-putout-config: move-formatter-up
  • 6a7940d8a @putout/plugin-putout-config: move-formatter-up: add
  • 661011ec7 @putout/plugin-conditions: remove-same-values-condition: add reverse
  • 0644445d7 @putout/plugin-conditions: remove-same-values-condition: exclude conditions without ContinueStatment
putout - putout v32.14.0

Published by coderaiser 12 months ago

🔥 feature

  • eb74291af putout: drop useless remove-useless-break
  • c39b419ee putout: @putout/plugin-remove-useless-break v1.0.0
  • 6b1390e81 @putout/plugin-remove-useless-break: add
  • fdd0f2b1d @putout/plugin-conditions: remove-same-values-condition
  • 2d0b63e01 @putout/cli-choose-formatter: move out
  • 2e7faf952 putout: choose-formatter: simplify
  • a068bd18f choose-formatter: split
  • 9690f9a47 putout: cli: choose-formatter: add ability to edit formatter in .putout.json
putout - putout v32.13.0

Published by coderaiser 12 months ago

🔥 feature

  • 83768c43b @putout/cli-choose: autofocus
  • 7acbdc575 putout: cli: read userland config to search currently used formatter
  • 60f5f2a0f putout: @putout/plugin-maybe v2.0.0
  • 3d45543a5 @putout/plugin-maybe: drop support of 🐊 < 32
  • 1ff35031d @putout/plugin-maybe: maybeFirst
putout - putout v32.12.0

Published by coderaiser 12 months ago

🐞 fix

  • 2a2fe438c putout: chooseFormatter: drop erro handling

🔥 feature

  • 9637661a8 putout: exit codes: INTERACTIVE_CANCELED: add
putout - putout v32.11.0

Published by coderaiser 12 months ago

🔥 feature

  • 2b1600e6b putout: -i: add support of interactive configuration of linting
putout - putout v32.10.1

Published by coderaiser 12 months ago

🔥 feature

  • 8768be856 putout: @putout/plugin-putout-config v4.0.0
  • f94be2d97 @putout/plugin-putout-config: convert-boolean-to-string: report
  • 73877cca7 @putout/plugin-putout-config: drop support of 🐊 < 32
putout - putout v32.10.0

Published by coderaiser 12 months ago

🐞 fix

  • 38cdac940 @putout/formatter-time: color: more clear

🔥 feature

  • b5ae16bcd package: @putout/cli-keypress v2.0.0
  • 69050e756 package: ci-info v4.0.0
  • 68ad000eb @putout/cli-keypress: drop support of node < 16
  • cb59e6428 package: ci-info v4.0.0
  • 2f88af0a2 package: picomatch v3.0.1
  • 6ef1bc387 @putout/plugin-madrun: remove-useless-array-in-run: not string
  • 18ab7efbf @putout/plugin-madrun: add remove-useless-array-in-run
putout - putout v32.9.0

Published by coderaiser 12 months ago

🔥 feature

  • ac81b0d52 package: @putout/formatter-time v1.0.1
putout - putout v32.8.0

Published by coderaiser 12 months ago

🔥 feature

  • f23dbbe95 putout: printer: improve support of JSON
  • 61e6bedef putout: printer: improve support of JSON and JSON in Markdown without ESLint
putout - putout v32.7.0

Published by coderaiser 12 months ago

🔥 feature

  • ca284d35c package: @putout/plugin-logical-expressions v5.0.0
  • ad44b4283 @putout/plugin-logical-expressions: drop support of 🐊 < 32
  • ecd39020e putout: printer: add ability to handle endOfFile in markdown listings without ESLint
  • 7587c2c4c package: @putout/plugin-regexp v8.0.0
  • a4110ac0c @putout/plugin-regexp: drop support of 🐊 < 32
  • 798576371 package: @putout/printer v6.0.0
putout - putout v32.6.0

Published by coderaiser 12 months ago

🐞 fix

  • 87b010708 @putou/eslint-config: drop @stylistic
  • fa74ea3af @putout/eslint-config: @stylistic
  • 6683113da @putout/test: format with UPDATE: wrong options

🔥 feature

  • 1d4d5a7a0 package: @putout/plugin-regexp v8.0.0
  • 715060684 @putout/plugin-regexp: drop support of 🐊 < 32
  • f804763dc package: @putout/printer v6.0.0
  • e8a190841 package: @stylistic/eslint-plugin-jsx v0.1.1
  • 295e2b0b0 package: eslint-plugin-putout v21.0.0
  • 52f114390 eslint-plugin-putout: @putout/eslint-config v8
  • fc0e9d6cf @putout/eslint-config: use @stylistic (https://eslint.org/blog/2023/10/deprecating-formatting-rules/)
  • 0ed5144c1 package: hermes-parser v0.17.0
  • 15a88dfaf package: hermes-parser v0.17.0
  • 160b5341e @putout/plugin-printer: remove-args: maybe.write.breakline()
putout - putout v32.5.0

Published by coderaiser 12 months ago

🔥 feature

  • fb1dc3bd1 @putout/plugin-apply-dot-notation: check for valid identifier
  • 6bd28ffe5 @putout/plugin-apply-dot-notation: add
  • f85c08671 @putout/plugin-promises: remove-useless-await: exclude MemberExpression
  • a2fa4a265 @putout/plugin-madrun: set-lint-dot: report
  • f49a2cc40 @putout/plugin-madrun: convert-to-async: report
  • d87133ddf @putout/plugin-madrun: convert-nyc-to-c8: report
  • 85069c288 @putout/plugin-minify: mangle: nested-overlap (putoutjs/minify#5)
  • 693246921 @putout/plugin-madrun: convert-args-to-scripts: false positive
putout - putout v32.4.0

Published by coderaiser about 1 year ago

🔥 feature

  • 1d7370062 package: @putout/plugin-madrun v17.0.0
  • c992e627d @putout/plugin-madrun: convert-args-to-scripts: add
  • c6051f5c6 @putout/plugin-madrun: drop support of 🐊 < 32
putout - putout v32.3.0

Published by coderaiser about 1 year ago

🔥 feature

  • 3ea09d3e4 package: @putout/plugin-github v9.0.0
  • e3f59eb58 @putout/plugin-github: add support of node v21 (https://nodejs.org/en/blog/release/v21.0.0)
  • b42197212 @putout/plugin-github: drop support of 🐊 < 27
  • b72e8bb06 package: estree-to-babel v8.0.0
  • ef3a2da61 @putout/engine-loader: parse-ruels: tuple of two elements: boolean (coderaiser/minify#114)
putout - putout v32.2.2

Published by coderaiser about 1 year ago

🔥 feature

  • 0a7bc5a6d package: @putout/plugin-nodejs v8.0.0
  • 0cbd7db34 @putout/plugin-nodejs: drop support of 🐊 < 32
  • 641dbb2af @putout/plugin-nodejs: convert-buffer-to-buffer-alloc: encoding
putout - putout v32.2.1

Published by coderaiser about 1 year ago

🐞 fix

  • 25ee3c992 @putout/engine-runner: get rid of dynamic load of template, improve compatibility with Bun preload
  • 7f07ce346 @putout/plugin-apply-optional-chaining: report

🔥 feature

  • 0e321a667 package: @putout/plugin-remove-useless-spread v9.0.0
  • 45a79362c @putout/plugin-remove-useless-spread: drop support of 🐊 < 32
  • a0caa167a @putout/plugin-putout: declare: getBinding, getBindingPath
  • f4a10e133 @putout/plugin-minify: drop support of 🐊 < 32
  • 88f210f37 @putout/plugin-minify: types: no transform when not declared (coderaiser/minify#114)
  • 0e09eaf01 @putout/compare: phase: ignore
  • 4278dd829 @putout/printer: drop support of 🐊 < 32
  • cb44dab3b @putout/operator-add-args: avoid adding arg when params more then 3
  • 70a7a7058 @putout/eslint: create-plugin: source -> sourceCode
  • 4bdedf52e @putout/plugin-eslint-plugin: drop support of 🐊 < 32
  • 16e1f108c @putout/plugin-eslint-plugin: convert-context-to-source: get more methods
  • ee940f43a package: ts-morph v20.0.0
  • 9a5c045cf package: hermes-parser v0.16.0
  • 6ea289705 @putout/plugin-convert-to-logical: assign: improve
putout - putout v32.2.0

Published by coderaiser about 1 year ago

🔥 feature

  • f70a45c2c package: @putout/plugin-apply-optional-chaining v5.0.0
  • 14aa701aa @putout/plugin-apply-optional-chaining: use, assign
  • 5f60e306b @putout/plugin-apply-optional-chaining: drop support of 🐊 < 32
  • 609c785de putout: bundle @putout/plugin-convert-optional-to-logical: assign
  • aa2ec40c4 @putout/plugin: convert-optional-to-logical: assign
putout - putout v32.1.0

Published by coderaiser about 1 year ago

🔥 feature

  • 7c50a12e7 putout: bundle @putout/plugin-convert-optional-to-logical: assign
  • f2eb83bec @putout/plugin: convert-optional-to-logical: assign
  • 03b8e3201 @putout/plugin-convert-optional-to-logical: drop support of 🐊 < 32
  • 9a5b4e40d @putout/engine-parser: optionalChainingAssign
  • f11f520f7 @putout/engine-parser: deferredImportEvaluation
  • eb74bf5a4 @putout/engine-parser: enable sourcePhaseImports
putout - putout v32.0.7

Published by coderaiser about 1 year ago

🐞 fix

  • ce4cb9011 @putout/plugin-conditions: report: convert-equal-to-strict-equal
  • 3405fe5fc @putout/processor-markdown: cache

🔥 feature

  • 071d77f61 package: @putout/plugin-strict-mode v9.0.0
  • 9250e82ff @putout/plugin-strict-mode: drop support of 🐊 < 32
  • 832ad34dd @putout/plugin-strict-mode: add-missing: report
  • cac1fde26 @putout/engine-parser: babel: decoratorAutoAccessors
  • db48ec61f @putout/processor-html: drop support of 🐊 < 32
  • c50eb7d95 @putout/processor-typescript: drop support of 🐊 < 32
  • 4706a33d0 @putout/processor-wasm: drop support of 🐊 < 32
  • e8dc8a70c package: ts-morph v19.0.0
  • 77ef88fe7 package: svelte v4.2.0
  • e8e5f732a package: remark-stringify v11.0.0
  • f1c2ea5d4 package: remark-parse v11.0.0
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