Skip to content

Releases: coderaiser/putout

putout v41.0.4

10 Dec 20:11

Choose a tag to compare

🔥 feature

  • dc3e62e putout: @putout/plugin-github v18.0.0
  • a11d6c4 @putout/plugin-github: drop support of 🐊 < 41
  • 2731be8 @putout/plugin-github: set-node-versions: exclude not array

putout v41.0.3

10 Dec 19:26

Choose a tag to compare

🐞 fix

  • a7c71c3 @putout/plugin-nodejs: npmignore: add scripts

🔥 feature

  • 635f8a2 putout: @putout/plugin-nodejs v18.0.0
  • 7427bed @putout/plugin-nodejs: drop support of 🐊 < 41

putout v41.0.2

07 Dec 17:14

Choose a tag to compare

🔥 feature

  • da862372d putout: @putout/operator-regexp v3.0.0
  • 6d26e80 @putout/operator-regexp: drop support of 🐊 < 41
  • ba4dc1b @putout/operator-regexp: transformRegexp: no regExpTransformer

putout v41.0.1

07 Dec 12:55

Choose a tag to compare

🐞 fix

  • 4b3a791 @putout/plugin-putout-config: apply-arguments: arguments/apply-rest

🔥 feature

  • ebb55c5 putout: @putout/plugin-remove-useless-escape v9.0.0
  • 4160900 putout: @putout/plugin-regexp v13.0.0
  • 4e279fa @putout/plugin-remove-useless-escape: drop support of 🐊 < 41
  • 6df56d6 @putout/plugin-regexp: remove-useless-escape: add
  • 84419ff @putout/plugin-regexp: drop support of 🐊 < 41

Putout v41

04 Dec 13:23

Choose a tag to compare

image

व्योमाकारं स्वमात्मानम् ध्यायेद्दिग्भिरनावृतम् ।
निराश्रया चितिः शक्तिः स्वरूपं दर्शयेत्तदा ॥ ९२ ॥

When one meditates on one's own self in the form of unlimited space (in all) directions, the mind is suspended and shakti in the form of consciousness is revealed as the form of one's own self.

(c) Vijnana Bhairava tantra

Hi folks 🎈!

The time is come for a new major release of 🐊Putout it has a couple breaking changes.
Long things things short: less dependencies, faster install, faster start.

Release contains all latest Babel 8 changes, so release is future proof.
Due to merge of some rules 🐊Putout now has 14 dependencies less 💪.

📛 Breaking changes

📛 Moved out convert-array-to-slice from default installed bundle

If you still used, just install with:

npm i @putout/plugin-convert-array-to-slice -D

📛 @putout/plugin-destructuring

1 plugin instead of 5. More organised rules set, with built-in auto transform to new format, as usual 😏:

{
    "rules": {
-       "apply-destructuring": "off",
-       "apply-destructuring/falsy": "off",
-       "apply-destructuring/array": "off",
-       "apply-destructuring/object": "off",
-       "split-call-with-destructuring": "off",
-       "merge-destructuring-properties": "off",
-       "split-nested-destructuring": "off",
-       "remove-useless-arguments/destructuring": "off"
-       "extract-object-properties": "off",
-       "extract-object-properties/equal-deep": "off",
-       "extract-object-properties/not-equal-deep": "off",
+       "destructuring": "off",
+       "destructuring/remove-useless-object": "off",
+       "destructuring/apply-array": "off",
+       "destructuring/apply-object": "off",
+       "destructuring/split-call": "off",
+       "destructuring/merge-properties": "off",
+       "destructuring/split-nested": "off",
+       "destructuring/remove-useless-arguments": "off",
+       "destructuring/extract-properties": "off",
+       "desturucturing/extract-properties-equal-deep": "off",
+       "destructurigin/extract-properties-not-equal-deep": "off",
  }
}

📛 @putout/plugin-arguments

1 plugin instead of 2. Also with built-in auto transform 😏:

{
    "rules": {
-       "remove-useless-arguments": "off",
-       "remove-useless-arguments/arguments": "on",
-       "remove-useless-arguments/method": "on",
-       "remove-useless-arguments/unused": "on",
-       "remove-useless-arguments/json-parse": "on"
-       "convert-arguments-to-rest": "off",
+       "arguments": "off",
+       "arguments/remove-useless": "on",
+       "arguments/remove-useless-from-method": "on",
+       "arguments/remove-unused": "on",
+       "arguments/apply-json-parse": "on"
+       "arguments/apply-rest": "on",
  }
}

📛 @putout/plugin-spread

Please change:

{
    "rules": {
-       "remove-useless-spread": "on",
-       "remove-useless-spread/array": "on",
-       "remove-useless-spread/object": "on",
-       "remove-useless-spread/nested": "on",
-       "convert-apply-to-spread": "on",
-       "convert-object-assign-to-merge-spread": "on"
+       "spread": "on",
+       "spread/remove-useless-array": "on",
+       "spread/remove-useless-object": "on",
+       "spread/simplify-nested": "on",
+       "spread/convert-apply-to-spread": "on",
+       "spread/convert-object-assign-to-merge-spread": "on"
  }
}

📛 @putout/plugin-variables

Please change:

{
    "rules": {
-       "remove-useless-variables": "off",
-       "remove-unused-variables": "on",
-       "remove-useless-variables/remove": "on",
-       "remove-useless-variables/assignment": "on",
-       "remove-useless-arguments/declaration": "on",
-       "remove-useless-arguments/duplicate": "on",
-       "remove-useless-arguments/rename": "on",
-       "remove-unreferenced-variables": "on",
-       "convert-const-to-let": "on",
-       "extract-keyword-from-variables": "on"
-       "split-variable-declarations: "on",
+       "variables": "off",
+       "variables/remove-unused": "on",
+       "variables/remove-useless": "on",
+       "variables/remove-useless-assignment": "on",
+       "variables/remove-useless-declarations": "on",
+       "variables/remove-useless-duplicates": "on",
+       "variables/remove-useless-rename": "on",
+       "variables/remove-unreferenced": "on",
+       "variables/convert-const-to-let": "on"
+       "variables/extract-keyword": "on"
+       "variables/split-declarations: "on",
  }
}

eslint-plugin-putout

ESLint plugin is upgraded to v29, so consider upgrading it to get most of two linters.

A little bit technical details

AST Shape of TSImportType was changed to align with ImportExpression. That is a breaking internal change, so @putout/printer also upgraded to v16.

That's all for now, have a great day 🐘!

🐞 fix

  • 0843996 putout: rm unused @putout/plugin-remove-unused-for-of-variables
  • 14257a2 @putout/plugin-arguments: json-parse -> apply-json-parse
  • cdc1fa8 @putout/plugin-nodejs: declare: process: assert: rm

🔥 feature

  • a667092 @putout/plugin-putout-config: apply-variables: remove-unused-variables -> variables/remove-unused
  • a4ad151 @putout/plugin-putout-config: apply-destructuring: extract-object-properties, convert-object-to-array
  • f4a1844 @putout/plugin-destructuring: extract-properties: add
  • b623363 putout: @putout/plugin-eslint v15.0.0
  • e8bb810 @putout/plugin-eslint: drop support of 🐊 < 41
  • 9e9e986 @putout/plugin-eslint: remove-useless-properties: innerComments: exclude
  • 01a5578 eslint-plugin-putout: safe: remove-unused-variables -> variables
  • de3b458 @putout/plugin-variables: extract-keywords: add
  • 765537d @putout/plugin-variables: remove-unused
  • 6abaa5b @putout/plugin-variables: convert-const-to-let: add
  • 552beaa @putout/plugin-variables: split-declarations
  • 6695af5 @putout/plugin-putout-config: apply-variables: add
  • 77600c7 @putout/plugin-variables: remove-unreferenced: add
  • 42df170 @putout/plugin-putout-config: apply-destructuring: remove-useless-variables: add
  • 72ad83f @putout/plugin-variables: add
  • ac6e107 @putout/plugin-putout-config: apply-spread: convert-object-assign-to-merge-spread: add
  • cb645be @putout/plugin-spread: convert-object-assign-to-merge-spread: add
  • c1fea00 @putout/plugin-tape: convert-tape-to-supertape: repo...
Read more

putout v40.15.1

24 Nov 22:45

Choose a tag to compare

🐞 fix

  • 7705b5b putout: -i
  • 3aca6de @putout/plugin-esm: sort-imports-by-specifiers: report after transform
  • 51c2726 putout: rm useless debug

🔥 feature

  • 2b98862 @putout/cli-choose-formatter: @putout/cli-choose v3.0.0
  • 7e5e37b @putout/cli-choose: drop support of node < 20
  • c830b60 @putout/cli-choose: ctrl + c
  • 4c395fc @putout/plugin-esm: sort-imports-by-specifiers: lots
  • 0de67aa @putout/eslint-flat: @eslint/config-helpers v0.5.0
  • 9c9be60 @putout/engine-runner: debug -> obug
  • 6002883 @putout/plugin-apply-shorthand-properties: spread
  • 164bb68 @putout/compare: debug -> odebug

putout v40.15.0

23 Nov 22:26

Choose a tag to compare

🐞 fix

🔥 feature

putout v40.14.0

14 Nov 15:37

Choose a tag to compare

🔥 feature

  • a9f96b8 putout: @putout/plugin-apply-shorthand-properties v7.0.0
  • d8228f3 @putout/plugin-apply-shorthand-properties: computed: exclude
  • ecee7cb @putout/plugin-apply-shorthand-properties: drop support of 🐊 < 40
  • bf128ff @putout/plugin-apply-destructuring: convert-object-to-array: add
  • 40be918 @putout/plugin-conditions: apply-consistent-blocks: empty
  • 0d52dd7 eslint-plugin-putout: long-properties-destructuring: NumericLiteral
  • 0a0856f @putout/plugin-declare-before-reference: exclude TSTypeAliasDeclaration
  • 07e59f1 @putout/plugin-remove-iife: exclude JSXExpressionContainer
  • 3eb8065 @putout/plugin/remove-useless-arguments: arguments: traverse: Identifier -> ReferencedIdentifier
  • 788edc3 @putout/plugin-remove-useless-arguments: arguments: crawl
  • 4d54d9a @putout/plugin-promises: apply-to-level-await: useEffect: exclude

putout v40.13.0

11 Nov 12:29

Choose a tag to compare

🔥 feature

  • 36debe4 putout: @putout/plugin-for-of v10.0.0
  • 1498718 @putout/for-of: drop support of 🐊< 40
  • c20effb @putout/plugin-for-of: for-each: improve TS support
  • 8070261 @putout/plugin-conditions: reverse-conditions: couple
  • b2e9bbd @putout/plugin-conditions: apply-consistent-blocks: leading comments
  • 8fa4544 @putout/plugin-types: convert-typeof-to-is-type: declared
  • e033dab @putout/plugin-esm: group-imports-by-source: sort-imports-by-specifiers: couple
  • 1df9617 @putout/plugin-putout: replace-test-message: noReport: couple args
  • 1263111 @putout/plugin-putout: apply-fixture-name-to-message: noReport: couple args
  • 9d71578 @putout/plugin-split-nested-destructuring: exclude declared
  • ff91ae4 @putout/plugin-nodejs: group-require-by-id: traverse Program instead of using pathStore
  • 480c80b @putout/operate: extract: TSAsExpression: add support
  • cbf5429 @putout/plugin-nodejs: group-require-by-id: changed node before exit: add support
  • 5e5371d @putout/plugin-remove-useless-variables: declaration: no loc support
  • 4f1d091 @putout/plugin-remove-duplicate-keys: CallExpression: exclude
  • f177cad @putout/plugin-convert-array-copy-to-slice: migrate to ESM
  • 536aff4 putout: @putout/plugin-convert-array-copy-to-slice v4.0.0
  • b6b7ca8 @putout/plugin-convert-array-copy-to-slice: drop support of 🐊 < 40
  • 6b32df6 @putout/plugin-convert-array-copy-to-slice: exclude ternary
  • 6c83b9e @putout/plugin-remove-useless-spread: array: ternary
  • 70bd980 @putout/plugin-esm: merge-declaration-with-export: exclude: require
  • 2daedf4 @putout/plugin-nodejs: group-require-by-id: esm/merge-declaration-with-export: improve support

putout v40.12.0

27 Oct 15:43

Choose a tag to compare

🔥 feature

  • a6bdae7 putout: @putout/plugin-convert-array-copy-to-slice v4.0.0
  • 386ef04 @putout/plugin-convert-array-copy-to-slice: drop support of 🐊 < 40
  • 30cec8e @putout/plugin-convert-array-copy-to-slice: exclude ternary
  • 2f08e26 @putout/plugin-remove-useless-spread: array: ternary
  • fa9e004 @putout/plugin-esm: merge-declaration-with-export: exclude: require
  • bf95218 @putout/plugin-nodejs: group-require-by-id: esm/merge-declaration-with-export: improve support
  • dc8b16b @putout/engine-parser: do not produce tokens without a need
  • b19a9ef @putout/plugin-github: setup-node: v6
  • beceab4 @putout/plugin-github: update-actions: checkout: v5
  • 0eecd1c @putout/plugin-github: install-bun: update to v2
  • e9aee85 @putout/plugin-github: update-actions: oven-sh/setup-bun