The Ember Times - Issue No. 65

Ahoj Emberistas! 🐹

In this week's edition we're sharing news about a fresh 🥒 RFC to deprecate .property(), exciting addon updates 🚀 for sparkles-component and ember-css-modules, and how Ember is a modern framework 🎉 - tell your friends!


Deprecate All the Property 🏠 Modifiers

Remember .property()?

fullName: computed(function() {
  // ...
}).property('firstName', 'lastName'),

This modifier for computed properties in Ember has been around for quite a while. And even though computed properties have already allowed to pass in dependent keys as an argument directly, e.g….

fullName: computed('firstName', 'lastName', function() {
  // ...
}),

…the modifier hasn't been deprecated yet. The main obstacle for the deprecation has been the one valid use of .property(): It is required for cp macros, such as filter or map which receive a callback function as their argument.

A brand-new 🔥 Request for Comments (RFC) 🚒 proposes to transition away from the usage of .property for these macros to allow the deprecation of the otherwise redundant API. Curious readers can learn more about the motivation and the design of this move in the original proposal.


Published sparkles-component 1.1.0 ✨

@rwjblue released version 1.1.0 of the sparkles-component which includes TypeScript conversion of the library.

The sparkles-component is an addon used to experiment with glimmer component style APIs in Ember apps via existing public APIs. It supports most of the @glimmer/component API including lifecycle hooks (constructor, didInsertElement, didUpdate, destroy), @tracked properties, ES base class, and decorator support (with the release of 1.1.0, this supports consuming via TypeScript).

To learn more, @rwjblue together with @mike-north live streamed converting the library from JavaScript to TypeScript. You can watch the live replay on Twitch.


Ember Is a Modern Framework, Tell Your Friends 😄

Community member @NullVoxPopuli has written a summary of a set of his favorite features that showcase how Ember is a modern framework, and can be attractive to people looking for all the shiny things. Check out The EmberJS of the future… today! where he discusses async lifecycle hooks, syntax for components, testing, dependency injection, keyboard accessibility and more.


Boston-Built ember-css-modules 1.0 AKA "The Big Dig" Is Here 🏗

salsify/ember-css-modules has launched a 1.0 thanks to bug reports, feature ideas and pull requests from the community over the past couple years! ember-css-modules provides Ember-flavored support for CSS Modules. With the addon, styling is a first-class citizen alongside templates and JavaScript, with one CSS file per component.


Contributors' Corner

This week we'd like to thank @rwjblue, @toddjordan, @chadhietala, @amyrlam, @chrisrng, @Alonski, @tylerturdenpants, @anehx, @runspired, @balinterdi, @pixelhandler, @dcyriller, @dcombslinkedin, @twokul, @SparshithNR, @quajo, @Gaurav0, @smfoote, @EndangeredMassa, @jfdnc and @adityasrini for their contributions to Ember and related repositories 💖!


Got a Question? Ask Readers' Questions! 🤓

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.


That's another wrap! ✨

Be kind,

Chris Ng, L. Preston Sego III, Amy Lam, Ryan Mark, Jessica Jordan and the Learning Team