Releases: coderaiser/putout
putout v41.0.8
putout v41.0.7
putout v41.0.6
putout v41.0.5
putout v41.0.4
putout v41.0.3
putout v41.0.2
putout v41.0.1
Putout v41
व्योमाकारं स्वमात्मानम् ध्यायेद्दिग्भिरनावृतम् ।
निराश्रया चितिः शक्तिः स्वरूपं दर्शयेत्तदा ॥ ९२ ॥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.
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
- ✅
apply-destructuringrenamed todestructuring; - ✅
split-call-with-destructuringmerged withdestructuring; - ✅
merge-destructuring-propertiesmerged withdestructuring; - ✅
split-nested-destructuringmerged withdestructuring; - ✅
extract-object-propertiesmerged withdestructuring;
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
- ✅
remove-useless-spreadrenamed tospread; - ✅
convert-apply-to-spreadmerged withspread; - ✅
convert-object-assign-to-merge-spreadmerged withspread;
{
"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
- ✅
remove-useless-variablesrenamed tovariables; - ✅
remove-unreferenced-variablesmerged withvariables; - ✅
remove-unused-variablesmerged withvariables; - ✅
split-variable-declarationsmerged withvariables; - ✅
split-variable-declarationsmerged withvariables; - ✅
convert-const-to-letmerged withvariables; - ✅
reuse-duplicate-initmerged withvariables;
{
"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...
putout v40.15.1
🐞 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