The Ember Times - Issue No. 205

👋 Emberistas! 🐹

Ember 4.10 released 🐹, ember-template-lint 5.0 released 🧹, EmberConf News 🎤, New addons ✨, Updated addons 📬, Ember 4.0+ upgrade survey 🐹, Call for support with TS support in Ember 📦, Wacky Tricks We Use in Publishing TypeScript Types ▶️, A new codemod to migrate addons to v2 format 📣


Ember 4.10 released 🐹

Ember 4.10 was recently released!

This release included several new features for Ember.js including the introduction of the @ember/owner package as specified in the API for Type-Only Imports RFC, 2 bug fixes for Ember.js and several deprecations. The release also includes 5 new features for Ember CLI.

Head on over to the 4.10 release blog post and give it a read today!


ember-template-lint 5.0.0 released 🧹

Version 5.0 has been released for ember-template-lint, the linter for best practices with Ember handlebars templates.

The key changes include:

  • Linting embedded templates by default
  • Adding nearly a dozen rules to the recommended config
  • Changing a few rule names and option defaults
  • Dropping support for old versions of Node

🎤 EmberConf News

We know folks are getting excited about EmberConf and might be wondering when it's happening. Currently, we're still getting our ducks in a row. After three years of virtual EmberConf, we're working out a way to match everybody's expectations around a possible hybrid conference. In the meantime, you can definitely keep working on those proposals and we’ll release more details as soon as we can. Historically, EmberConf has happened in March, but this time it will be later in the year. Hope to see you there!


✨ The new addons on the block

  • ember-blur - Geordan Neukum (@geneukum) provides us an Ember modifier that allows you to blur an element dynamically.
  • ember-tsparticles - Ignace Maes (@IgnaceMaes) made this addon that creates an Ember.js component for using tsParticles. This allows you to create highly customizable JavaScript particles effects, confetti explosions and fireworks animations and use them as animated backgrounds for your website.

📬 Addon updates


🐹 Ember 4.0: What is blocking you?

Ember 4.0 has been around for a bit now and we would love to know what is keeping you from upgrading. Fill in this short survey so that we might be able to improve the experience.


📦 We need you for TypeScript support!

Want to help get Ember’s official TS support out the door? RFC 800 describes the Typescript adoption plan and you can sign up to help with issues all across our codebase! You can always check the #topic-typescript channel on our Discord server.


🚀 Accelerating Code Delivery By 97% With Yarn Workspaces

Jordan Hawker (@elwayman02) details in this blogpost how they moved to Yarn Workspaces and how it improved the lead time for delivering commits to their deployment pipeline, from 39 hours to 125 mins. Yarn workspaces enabled the evolution of the application architecture without sacrificing the benefits of their previous multi-repo strategy. This post will give you the insight to see if this solution might benefit you.

"While one approach may serve well at a given point in time, there is no one-size-fits-all solution."


▶️ Wacky Tricks We Use in Publishing TypeScript Types

In this YouTube video, Chris Krycho (@chriskrycho) and Asa Kusuma (@asakusuma) discussed how we are publishing TypeScript types for Ember. Chris discusses how it is difficult for TypeScript to resolve types for ember-source given the public API for Ember is usually not imported directly from ember-source but from packages such as @ember/utils or @ember/object. Learn more by watching the full video on YouTube where “despite all the shenanigans” we are able to get Ember’s type to be “stable” and publish from Ember’s own TS source code.

Do you want to contribute to help get Ember’s official TypeScript support out the door? Check out this quest issue on GitHub and sign up for a task!


📣 A new codemod to migrate addons to v2 format

With one command, you can get started with migrating Ember addons to v2 format:

npx ember-codemod-v1-to-v2

ember-codemod-v1-to-v2 helps you meet the latest standards set by @embroider/addon-blueprint. The codemod takes care of moving files and updating references to the moved files, while you remain in charge of re-configuring the packages.

Isaac Lee (@ijlee2) hopes that ember-codemod-v1-to-v2, along with ember-addon-migrator, can help you push Embroider forward. Check out ember-container-query for a real-life example.


👏 Contributors' corner

This week we'd like to thank Chris Thoburn (@runspired), Steef Janssen (@SkoebaSteve), Bert De Block (@bertdeblock), @jiangzj1008, Jared Galanis (@jaredgalanis), Sam Van Campenhout (@Windvis), Robert Jackson (@rwjblue), Geordan Neukum (@geneukum), Arafat Iqbal (@arafatiqbal), Jen Weber (@jenweber), David J. Hamilton (@hjdivad), Simon Ihmig (@simonihmig), Michael Stewart (@mikrostew), @emberjs-rfcs-bot, Chris Manson (@mansona), Giles Thompson (@gilest), Katie Gengler (@kategengler), Dan Knutsen (@dknutsen), Stanislav Dunajcan (@candunaj), Isaac Lee (@ijlee2), Krystan HuffMenne (@gitKrystan), Tomek Nieżurawski (@tniezurawski), rpemberton (@rpemberton), @BoussonKarel, Hubert Olender (@olenderhub), Joan Cejudo (@joancc), Robert Wagner (@rwwagner90), @NullVoxPopuli, Can Rozanes (@canrozanes), Chris Krycho (@chriskrycho), @mkszepp, Leo Euclides (@leoeuclids), Kelly Selden (@kellyselden), Boris Petrov (@boris-petrov), Stanley Stuart (@fivetanley), Jeldrik Hanschke (@jelhan), Peter Wagenet (@wagenet), Charles Fries (@charlesfries), Bryan Mishkin (@bmish), Anne-Greeth Schot-van Herwijnen (@MinThaMie), and Chris Ng (@chrisrng) for their contributions to Ember and related repositories! 💖


🤓 Connect with us

Office Hours Tomster Mascot

Wondering about something related to Ember, Ember Data, Glimmer, or addons in the Ember ecosystem, but don't know where to ask? Readers’ Questions are just for you!

Submit your own short and sweet question under bit.ly/ask-ember-core. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞

Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at #support-ember-times on the Ember Community Discord or ping us @embertimes on Twitter.

Keep on top of what's been going on in Emberland this week by subscribing to our e-mail newsletter! You can also find our posts on the Ember blog. See you in two weeks!


That's another wrap! ✨

Be kind,

Jared Galanis, Bryan Mishkin, Anne-Greeth Schot-van Herwijnen, Chris Ng, Isaac Lee and the Learning Team