👋 Emberistas! 🐹
Fill out the Ember Community Survey by April 7th! 🗳, Hybrid Ember.js Europe Meetup, featuring Ember Data 📽, Ember TypeScript Core Team 🔥, Upcoming free technical writing workshop 📝, EmberConf on April 19th 🐹, Blog post: Making your dynamic Ember components work with Embroider 💥, lint-to-the-future demo video 📹, Glimmer component Signature type RFC in FCP ⌛️, Ember Addon Roundup 🌎
The annual Ember Community Survey helps guide direction in the Ember ecosystem. The data informs project prioritization, sparks new ideas, and reveals opportunities for growth. The Ember core teams would love to hear from you!
Learn more about the survey and fill it out by April 7th!
March 31st is the first Ember.js Meetup event!
There will be an AMA (ask-me-anything) with Chris Thoburn and Scott Newcomer from the Ember Data Core team.
In case you didn't know, the Ember project recently merged RFC #0724: Official TypeScript Support, committing to make TypeScript an officially-supported language for Ember.js.
To facilitate this support and following a lot of fantastic work over the last 5 years the Typed Ember team is becoming an official Ember core team. The Typed Ember team joins the Framework, Learning, CLI, and Data Core teams as a new Core sub-team: the Ember TypeScript Core Team! 🎉
You can read more about the TypeScript Core Team announcement in the Ember blog post.
What are the elements of great technical articles or examples? What are some tips for writing for a global audience? How do you find a place to begin when there are so many different directions you could go? How should your writing style change depending on where it will be published? Join the Ember Learning team for this workshop! It will be half instruction, half hands-on activities.
If there is enough interest, the workshop will be offered in two sessions:
- April 23rd - aimed at Western Hemisphere time zone participants
- April 30th - aimed at Eastern Hemisphere time zone participants
To receive announcements about specific times and event details, please fill out this form.
EmberConf registration is open! Join the community remotely on April 19th for an amazing lineup of talks.
Nick Schot (@nickschot) wrote a blog post on making your dynamic Ember components work with Embroider. Embroider is the future build system for Ember apps which unlocks features like splitting code per route by statically analyzing your codebase and dependencies. Dynamic components are components that are resolved at run-time rather than hardcoding the component to use using the component helper (e.g.
Dynamic components are not by default compatible with Embroider's route-splitting feature since Embroider needs to be able to statically resolve components at build time. In the blog Nick discusses how they migrated ember-promise-modals, an addon that relies on dynamic components, to be compatible with Embroider. They first used the
packageRules as a compatibility feature to tell Embroider that an argument in the addon represents a component name.
To fully leverage Embroider’s code splitting, they used the
ensure-safe-component helper that Embroider provides to turn a component class into a component definition that can be invoked in the template. This way the app code can be updated to actually import the component class so that Embroider can statically resolve this component.
lint-to-the-future helps facilitate adding new linting rules in projects progressively, where adding such rules without a tool like this can otherwise be a struggle and lead to linter error explosions.
lint-to-the-future has a plugin system that enables it to work for a variety of platforms, but there is already a plugin for Ember available if you want to use it in your Ember project today!
RFC 748 "Glimmer component Signature type" is now well into the final comment period!
This RFC proposes to change GlimmerComponent's Args type parameter to a Signature type that can capture richer information about how a component can be invoked.
Now's your last chance to review and comment before the RFC is accepted so head on over to the RFC and contribute any thoughts you may have.
Ember Addon Roundup 🌎
We’ve also had several addons across the Ember ecosystem converted to v2 format recently!
- Luke Melia (@lukemelia) released
- Miguel Andrade (@miguelcobain) released
- Edward Faulkner (@ef4) released ember-animated v1.0.0
- Edward Faulkner (@ef4) released ember-animated-tools v1.0.0
Many thanks to Sergey Astapov (@SergeAstapov) for their work on many of these releases!
There is a number of benefits to users of addons published in v2 format, some of which include:
- faster builds and faster NPM installs
- "zero-config import from NPM — both static and dynamic" as a first-class feature that works for both third-party libraries and Ember addons
- support for arbitrary code splitting
- tree-shaking of unused modules, components, helpers, etc. from the app and all addons
To read more about v2 Addon Format, please check out RFC 507.
If you'd like to help the ecosystem move forward and convert more addons to v2 format, you may follow the great guide Porting an Addon to V2 made by Edward Faulkner (@ef4) or try ember-addon-migrator by NullVoxPopuli.
This week we'd like to thank Jared Galanis (@jaredgalanis), Frédéric Soumaré (@hakilebara), Louis Coquio (@lcoq), Chris Ng (@chrisrng), Sergey Astapov (@SergeAstapov), Tim (@fozy81), Chris Manson (@mansona), @NullVoxPopuli, Chris Krycho (@chriskrycho), Melanie Sumner (@MelSumner), Eric (@Mithrilhall), Josh Bremer (@joshuabremer), Nathaniel Furniss (@nlfurniss), Sam Van Campenhout (@Windvis), Katie Gengler (@kategengler), Ricardo Mendes (@locks), Jen Weber (@jenweber), Edward Faulkner (@ef4), Chad Hietala (@chadhietala), Thomas Gossmann (@gossi), Giles Thompson (@gilest), Peter Wagenet (@wagenet), Bert De Block (@bertdeblock), @mkszepp, and Vincent Molinié (@VincentMolinie) for their contributions to Ember and related repositories! 💖
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! 🤞
That's another wrap! ✨
Jared Galanis, Jen Weber, Chris Ng, Sergey Astapov and the Learning Team