Skip to content

putout v24.0.0

Choose a tag to compare

@coderaiser coderaiser released this 12 Jan 12:07
· 12304 commits to master since this release

image

Barefooted and naked of breast,
I mingle with the people of the world.
My clothes are ragged and dust-laden,
and I am ever blissful.
I use no magic to extend my life;
Now, before me, the dead trees
become alive.
(c) Zen Ten Bulls

Hi folks! The time is came for a major release!

🧨 Renamed methods of @putout/operate

That's simple. For API was consistent two methods was renamed:

-findProperties(path, names);
-findProperty(path, name);
+getProperties(path, names);
+getProperty(path, name);

And of course putout/declare rule declare it for you when you use it 😏.

🧨 remove-process-exit was merged to @putout/plugin-nodejs

Since this rule is nodejs related it was moved. So here is changes you should made to .putout.json if you disabled this rule:

{
    "rules": {
-       "remove-process-exit": "off"
+       "nodejs/remove-process-exit": "off"
    }
}

🧨 convert-top-level-return was merged to @putout/plugin-nodejs

Since this rule is nodejs related it was moved. So here is changes you should made to .putout.json if you disabled this rule:

{
    "rules": {
-       "convert-top-level-return": "off"
+       "nodejs/convert-top-level-return": "off"
    }
}

🧨 Bundle all TypeScript related plugins to @putout/plugin-typescript

All rules related to TypeScript was moved to separate package. So if you disabled one of those, add prefix typescript:

{
    "rules: {
-       "apply-as-type-assertions": "off",
-       "apply-utility-types": "off",
-       "convert-generic-to-shorthand": "off",
-       "remove-duplicate-interface-keys": "off",
-       "remove-useless-types": "off",
-       "remove-useless-mapped-types": "off",
-       "remove-useless-mapping-modifiers": "off",
-       "remove-useless-types-from-constants": "off",
-       "remove-unused-types": "off"
+       "typescript/apply-as-type-assertions": "off",
+       "typescript/apply-utility-types": "off",
+       "typescript/convert-generic-to-shorthand": "off",
+       "typescript/remove-duplicate-interface-keys": "off",
+       "typescript/remove-useless-types": "off",
+       "typescript/remove-useless-mapped-types": "off",
+       "typescript/remove-useless-mapping-modifiers": "off",
+       "typescript/remove-useless-types-from-constants": "off",
+       "typescript/remove-unused-types": "off"
    }
}

Yes, there is a lot TS rules in 🐊Putout for this moment :)!

🧨 Disabled apply-array-at was removed from default install

Because array.at support on node v16 and higher and 🐊Putout (still) supports node v14. The rule is supported and can be installed separately with:

npm i @putout/plugin-apply-array-at

If you use it, update .putout.json with:

{
+   "plugins": [
+       "apply-array-at"
+   ]
}

In this release we have 19% less dependencies 🎉! It makes installation a faster a bit😏.

That's all for today and this is latest day of Ten Bulls Zen marathon 🎉! That's was crazy couple weeks :) I had a lot of fun 😃.

Cheers 🥤!

🔥 feature

  • (putout) eslint-plugin-putout v13
  • (@putout/plugin-nodejs) drop support of putout < 24
  • (eslint-plugin-putout) drop support of putout < 24
  • (eslint-plugin-putout) safe: disable nodejs/remove-process-exit
  • (@putout/plugin-nodejs) merge remove-process-exit
  • (putout) remove from default install disabled apply-array-it
  • (package) @putout/plugin-package-json v3.0.0
  • (package) @putout/plugin-putout v9.0.0
  • (package) @putout/plugin-madrun v13.0.0
  • (package) @putout/operate v7.0.0
  • (@putout/plugin-putout) drop support of putout < 24
  • (@putout/plugin-package-json) drop support of putout < 24
  • (@putout/plugin-madrun) drop support of putout < 24
  • (@putout/operate) findProperty -> getProperty