Skip to content

Releases: coderaiser/putout

putout v41.0.8

20 Dec 12:23

Choose a tag to compare

🔥 feature

  • 9802375 putout: @putout/engine-reporter v6.0.0
  • 0b686ec @putout/engine-reporter: get rid of mock-require
  • e899de3 putout: cli: get-options: putout --no-config: do not exit when no plugins passed
  • bf9b31c @putout/engine-reporter: do not exit when plugins

putout v41.0.7

19 Dec 16:36

Choose a tag to compare

🐞 fix

  • f777f66 putout: rm useless @putout/plugin-remove-constant-conditions
  • d74549f putout: rm unused @putout/plugin-remove-unused-labels

putout v41.0.6

19 Dec 16:19

Choose a tag to compare

🐞 fix

  • ac4409f @putout/plugin-putout: apply-fixture-name-to-message: RegExp.escape: add polifyll (supported from node v24)

🔥 feature

  • ef1d5fa putout: @putout/plugin-for-of v11.0.0
  • 1b8ed9d @putout/plugin-for-of: drop support of 🐊 < 41

putout v41.0.5

14 Dec 21:13

Choose a tag to compare

🔥 feature

  • e22f1c9 putout: @putout/plugin-putout v28.0.0
  • 5d2ba99 @putout/plugin-putout: drop support of 🐊 < 41
  • 82ea381 @putout/plugin-putout: apply-fixture-name-to-message: plus

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

📛 Dropped support of node < 22.12

The time is come to drop support of node versions less then v22.12, it simplifies migrating the code base of 🐊Putout to ESM drastically.

📛 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 3. 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-expression-to-params": "on",
-       "convert-arguments-to-rest": "off"
+       "arguments": "off",
+       "arguments/apply-json-parse": "on"
+       "arguments/apply-rest": "on",
+       "arguments/convert-expression-to-arguments: "on",
+       "arguments/remove-useless": "on",
+       "arguments/remove-useless-from-method": "on",
+       "arguments/remove-unused": "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-esm

Get rid of esm/add-index-to-import it has lots of false positives, use esm/resolve-imported-file instead.

📛 @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",
-       "reuse-duplicate-init": "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",
+       "variables/reuse-duplicate-init": "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/pl...
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