Yoshi 5

Overview

  • Somewhat large release, the last major release was 2 years ago.
  • Focuses on upgrading the major versions of many critical open-source packages.

Webpack 5

  • Improves build performance with persistent caching.
    • Reduced a selected project’s build/start times from 55 seconds down to less than 25 seconds after the initial build/start.
  • Reduces bundle size with better tree-shaking and code generation.
  • Can allow us to ship important features without breaking changes, such as multi-threading, lazy-compilations, HTML as an entry point, and more.

Jest 24 - 26

  • 10-15% faster test runs for component tests.
  • JSDOM 11-15 bump, with new browser APIs.
  • 2 years of bug fixes and improvements to developer experience.

Linting Changes

  • ESLint 7: Better TypeScript support and a lot of bug fixes.
  • We've added new linting rules to help you catch potential bugs and errors in your code.
  • Every file in the project is being linted, not only files in `src` or `test` directories.

Bye Node 8/10/12

  • Node.js 8 reached EOL in December 2019 and Node 12 is no longer the LTS version.
  • Node 14 also proves to be faster for running development tools like webpack or TypeScript.

Default TypeScript Configurations

  • Some of TypeScript's configuration options, which can be configured from tsconfig.json, should always be set to a specific value.
  • To remove some of the boilerplate and prevent mistakes, we created our own tsconfig.json that can be extended from that includes sensible defaults.

Migration Overview

  • Each flow has a different migration guide, with one part that is relevant to all flows.
  • We don't expect the migration to be difficult and we will be ready to assist with issues.
  • See the full migration guide at the Yoshi website.

Version 4

  • We're going to stop developing features for Yoshi 4 and only ship critical bug fixes.
  • We will assist with every issue you might have with migrating to version 5. Please use the #yoshi slack channel.

The Future

  • Starting from this release, we plan on releasing a major version for Yoshi every 6 months.
  • This will allow you to stay up to date with cutting-edge tools, and the best developer experience.
  • With less content, migrations will be easier and faster.
  • More than anything, however, we want to hear your feedback.
  • Read more about this in our blog post.

Questions?

Yoshi v5

By Ronen Amiel

Yoshi v5

  • 454