Skip to content

Putout v31

Choose a tag to compare

@coderaiser coderaiser released this 04 Aug 15:59
· 8309 commits to master since this release

image

“There is something to be learned from a rainstorm. When meeting with a sudden shower, you try not to get wet and run quickly along the road. But doing such things as passing under the eaves of houses, you still get wet. When you are resolved from the beginning, you will not be perplexed, though you will still get the same soaking. This understanding extends to everything.”

Yamamoto Tsunetomo, The Hagakure

Hi folks!

Just land new major version of 🐊Putout. It has only one breaking change: upgrade to Babel 8. Changes mostly related to TypeScript AST. And since Babel 8 considered to be ESM-only, to has ability to run in ESLint there is a new package: @putout/babel what it does is: provide CommonJS versions of Babel 8.

☢️ Drop support of Babel Plugins

Since @babel/core requires a lot of ESM dependencies, and takes 6mb, and it's built should be configured in some sophisticated way was decided to drop it's support. Babel is amazing tool, but running it's plugins inside Putout has a little sense, you better write 🐊Putout Plugins 🚀.

Anyways there is repository putoutjs/babel-wrap so it is possible to make wrapper over Babel Plugin to make it work with 🐊Putout. So if you need it - create an issue, and help with porting 😏.

☝️ You can still run 🐊Putout inside Babel.

🚀 Lint became much faster!

Before upgrade:

image

After:

image

That's all for now, have a nice day 🎈!

🐞 fix

  • 7c5637f @putout/plugin-typescript: apply-type-guards (#176)

🔥 feature

  • 9a46f39 package: @putout/compare v12.0.0
  • b55031e package: @putout/compare v12.0.0
  • 368552c package: @putout/compare v12.0.0
  • 5863662 package: @putout/compare v12.0.0
  • fd1d1fa package: @putout/compare v12.0.0
  • 1328d77 package: @putout/engine-loader v11.0.0
  • 50a9c7a package: @putout/engine-parser v8.0.0
  • 33fb3f9 package: @putout/engine-runner v18.0.0
  • ddea821 package: eslint-plugin-putout v19.0.0
  • c6febe1 package: @putout/formatter-codeframe v5.0.0
  • 7c54502 @putout/formatter-codeframe: drop support of 🐊 < 31
  • 6cec945 package: @putout/operate v10.0.0
  • 41c1152 package: @putout/operator-add-args v6.0.0
  • 19a814b @putout/operator-add-args: drop support of 🐊 < 31
  • 0ad3167 package: @putout/operator-declare v7.0.0
  • c2476b0 @putout/operator-declare: drop support of 🐊 < 31
  • ffb42e0 package: @putout/plugin-remove-unused-variables v6.0.0
  • d5918ab @putout/plugin-remove-unused-variables: drop support of 🐊 < 31
  • c330037 package: @putout/plugin-typescript v5.0.0
  • 5168bc3 package: @putout/traverse v8.0.0
  • a114f95 putout: migrate to Babel 8 (https://babeljs.io/docs/v8-migration-api)
  • 53bb6f2 @putout/plugin-minify: merge-variables: exclude let (coderaiser/minify#111)
  • e48d236 @putout/plugin-typescript: remove-useless-parens: exclude types overlap
  • ab589d3 @putout/plugin-putout: add-push: esm
  • f206c50 @putout/plugin-putout: declare: setLiteralValue: add
  • 655cea2 @putout/operate: setLiteralValue: add
  • 4cdf9b0 @putout/plugin-remove-unreferenced-variables: add support of "return __a"
  • fce2b8c @putout/plugin-remove-useless-variables: declaration: no init
  • 542cd45 @putout/plugin-types: converty-typeof-to-is-type: declaration (#166)
  • 20a015f @putout/plugin-minify: apply-template-literal (#174)
  • c9f22f9 @putout/plugin-minify: simplify-floor (#174)
  • 5ffcf9c @putout/plugin-putout: apply-insert-before
  • 012f3c8 @putout/plugin-putout: declare: insertBefore
  • 0cd83c6 @putout/operate: insertBefore
  • a7399c1 @putout/plugin-remove-useless-resolve: await
  • c00b032 @putout/plugin-promises: improve support of @putout/minify
  • 9889996 @putout/plugin-putout: apply-insert-after: add (#164)
  • a6c3878 @putout/plugin-putout: apply-remove: path.remove() -> __a.remove()
  • b4e845e @putout/plugin-minify: types: Array.from (#160)
  • e6d48f0 @putout/plugin-types: convert-typeof-to-is-type: not equal: not declared
  • 6c2c477 @putout/plugin-typescript: convert-generic-to-shorthand: types overlap (#173)
  • 0e2a983 @putout/plugin-typescript: remove-useless-promise: add (#155)