The Ember Times - Issue No. 197

👋 Emberistas! 🐹

Ember Annual Community Survey is here 🙋‍♀️, First-Class Component Templates RFC is merged 🎉, Official TypeScript Support in Ember RFC is merged 🥳, TypeScript Adoption Plan RFC is open 📓, Add Ember Cookbook RFC is in FCP ⌛️, State of Frontend calls for you ❓, Ember 4.2 Released 🔥, Mocks with MSW Demo 🤖, Whiskey Web and Whatnot Episodes 🎙, EmberFest 2021 Videos 📹, Component Architecture Talk Slides 📽, ember-eui releases 🚀


Ember Annual Community Survey is here 🙋‍♀️

It’s that time of year again 😀, the annual official 2022 Ember Community Survey is here! Once again we would love your help to learn about who is in the Ember community and how they work with the framework.

Last year over 1000 people participated in the survey. As always, your participation is invaluable so please do consider participating.

If you're ready, you can go ahead and fill out the survey here now. 🔥🔥🔥

If you have any questions, feel free to email the survey team via survey@emberjs.com, or ping us in #dev-ember-learning on the Discord chat.

Please share with your friends and colleagues! We want to hear from everyone who uses Ember!


First-Class Component Templates RFC is merged 🎉

Chris Krycho (@chriskrycho) who recently joined the Ember Framework Core Team has been hard at work authoring many RFC's, including the RFC on First-Class Component Templates. We're happy to report this RFC is now merged! This follows Chris' detailed blog series on Ember Template Imports.

The RFC proposed that we adopt <template> tags as a format for making component templates first-class participants in JavaScript and TypeScript with strict mode template semantics. As Chris mentions, doing so would help provide a number of new capabilities to Ember and Glimmer users:

  • accessing local JavaScript values with no ceremony and no backing class, enabling much easier use of existing JavaScript ecosystem tools, including especially styling libraries—standard CSS Modules will “just work,” for example
  • authoring more than one component in a single file, where colocation makes sense—and thereby providing more control over a component’s public API
  • likewise authoring locally-scoped helpers, modifiers, and other JavaScript functionality

Go ahead and check out the merged RFC on GitHub.


Official TypeScript Support in Ember RFC is merged 🥳

As if one merged RFC weren't exciting enough, Chris Krycho (@chriskrycho) is also the author of a second recently merged RFC on Official TypeScript Support in Ember!

This RFC declares the intent to officially support TypeScript as a peer to JavaScript, in a way which makes the developer experience better for all Ember developers.

The RFC says that:

Ember officially supporting TypeScript means: All libraries which are installed as part of the default blueprint must ship accurate and up-to-date type definitions for the current edition. These types will uphold a Semantic Versioning commitment which includes a definition of SemVer for TypeScript types as well as a specification of supported compiler versions and settings, so that TypeScript will receive the same stability commitments as the rest of Ember.

This is a really exciting development for the support of TypeScript in Ember and you can read up on the merged RFC on Github.


TypeScript Adoption Plan RFC is open 📓

And that's not all, Chris Krycho (@chriskrycho) has also opened the TypeScript Adoption Plan RFC which offers a detailed implementation plan for officially supporting TypeScript in Ember (which is in follow up to the aforementioned Official TypeScript Support RFC and covers the overall philosophy for what official support means).

The RFC covers a lot, but a short-list includes:

  • the SemVer policies Ember packages should adopt
  • how we will migrate users from depending on the @types definitions on DefinitelyTyped to Ember packages
  • test infrastructure to catch regressions early
  • updates to Ember CLI to support TypeScript
  • release "channel" testing analogous to Ember's existing feature flag system for runtime code
  • a basic communication plan for the rollout
  • updates to our guides, API docs, and even the version release blog post announcement

Please head on over to the RFC and give it a read or participate in the comments!


Add Ember Cookbook RFC is in FCP ⌛️

If you have not had the time to checkout the exciting Add Ember Cookbook RFC by Ketaki Deo (@ketakideo), now is the time do so because it's well into the FCP and time is running out!

The RFC proposes adding a cookbook section to our learning resources that will help Ember developers to learn maintainable, accessible patterns for common tasks.

These types of content exist today in the form of blogs, stackoverflow answers and efforts like Ember Atlas but they are not discoverable and can sometimes be incorrect. The proposed Ember Cookbook will be managed and curated by the Ember Learning team which will work closely with the Ember Core team on upgrades to add, modify or delete information as needed.

Read, comment, and discuss this proposal in the RFC on Github!


State of Frontend survey calls for you❓

The State of Frontend 2022 survey hosted by The Software House is open. There is no known deadline. It actually takes 8 minutes to fill in as they claim and you can select EmberJS from the options. So show the world some EmberJS representation and fill in the survey.

The survey asks about the tools, processes and solutions you use, like your editor and libraries. It also asks for your opinion on the future of certain topics like accessibility and technical concepts. Their call to you is: “We want to hear as many voices of the frontend people as possible. Too much happened over the last two years, and we want to talk about it. No matter how your frontend experience looks like, your voice is exactly what we’re looking for.”


Ember 4.2 Released 🔥

In case you missed it, Ember 4.2 was released last week! There were several bug fixes for different parts of the framework and 1 new feature in Ember CLI. Head on over to the blog post to check out the details.


Mocks with MSW Demo 🤖

Been curious about how to test against a fake API? Are you looking for a new library to do this? And do want to use the network tab for debugging? And do you also want a straightforward way to define mock data that doesn't get shipped to customers?

NullVoxPopuli (@NullVoxPopuli) created a nice demo of how to get started using the Mock Service Worker (MSW) library with Ember.

Go ahead and check out the demo repo today!


Whiskey Web and Whatnot Episodes 🎙

There are two new awesome episodes of the Whiskey Web and Whatnot podcast featuring several Ember core team members! 🔥

First, creators Robert Wagner (@rwwagner90) and Chuck Carpenter (@chuckcarpenter) of Ship Shape sit down with Melanie Sumner (@melsumner) and they discuss work-life balance, Ember vs React, and of course #a11y! 💖 Check out the episode here.

Next up is an episode with both Chris Manson (@mansona) and Chris Thoburn (@runspired) chatting with Robbie and Chuck about how to best get contributors on opensource projects and how TypeScript fits into that process! Check out the episode here.


EmberFest 2021 Videos 📹

The EmberFest 2021 videos of talks are now available for your ✨viewing pleasure✨!

If you did not have a chance to attend EmberFest 2021, and want to catch up on what happened last fall, or if you just want to re-live some of the moments, head on over and check out the videos today!


Component Architecture Talk Slides 📽

Thomas Gossmann (@gossi) recently released slides about Component Architecture from a recent talk at Ember Ignite!

The slides discuss the basics for component invocation and get into blocks, including named blocks, and yielded components as well. If you're looking for a nice overview of component architecture then look no further.


ember-eui releases 🚀

Beto Cantú (@betocantu93) has released several new versions of ember-eui (elastic's ui styleguide for ember). The releases include support for staticComponents and splitAtRoutes from embroider, meaning "tree shaking" or not bundling unused code out of the box is now possible!

Go ahead and check out the latest releases!


👏 Contributors' corner

This week we'd like to thank @NullVoxPopuli, Jason Williams (@jaswilli), Vyacheslav Karpovych (@Weismann9), Nathaniel Furniss (@nlfurniss), Anne-Greeth Schot-van Herwijnen (@MinThaMie), Chris Thoburn (@runspired), Jared Galanis (@jaredgalanis), James Herdman (@jherdman), Scott Newcomer (@snewcomer), Jeff Daley (@jeffdaley), Duy Le (@duyngle), Giles Thompson (@gilest), Robert Jackson (@rwjblue), Jeldrik Hanschke (@jelhan), Kelly Selden (@kellyselden), Gonçalo Morais (@gnclmorais), Nathan Whittaker (@nwhittaker), Ricardo Mendes (@locks), Nicholas Rutherford (@nruth), Chris Ng (@chrisrng), Jen Weber (@jenweber), Melanie Sumner (@MelSumner), Esteban Arango Medina (@esbanarango), Peter Wagenet (@wagenet), Bert De Block (@bertdeblock), Joseph D. Sumner (@josephdsumner), Sergey Astapov (@SergeAstapov), Pat O'Callaghan (@patocallaghan), Chris Manson (@mansona), and Chris Freeman (@cafreeman) 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, Chris Ng, Anne-Greeth Schot-van Herwijnen and the Learning Team