The Ember Times - Issue No. 89

Talofa Emberistas! 🐹 We hope to see you at EmberConf next week!

Polish up the Guides preview for Octane ⛽️, invoke nested components with angle bracket syntax 📐, an update on module unification 📝, check out the new Yieldable Named Blocks RFC 📇, an Ember Data Development Plan RFC 💾 and more!


Copy Editors For the Octane Guides Needed 📝

Do you have a few minutes to read a page of the Work in Progress (WIP) of the new Octane Guides and send a PR for any kind of small fix? It's all about spelling, typos and factual accuracy in this round of copy-editing for the Octane Guides, and your help - however big or small - is greatly appreciated! 🖤 Your work will contribute to a big initiative the Learning Core team and friends have been working on for a while and which will be highlighted at EmberConf next week!

You can read more about how to contribute and what to look out for in the description of the related Quest Issue and thank you for your support - every little bit helps! ⭐️


Invoking Components from All the Directories with Angle Brackets 📂

Even though angle bracket syntax is the modern and already available way of invoking components in Ember, it is still not possible to invoke all your components in your Ember app this way (yet!).

In contrast to curly invocation syntax, or classic invocation syntax, angle bracket syntax does not allow you to invoke components from nested directories, e.g. app/components/blog/post/comment.js. A new Request for Comments (RFC) aims to change exactly that. It paves a way for Ember developers to use angle bracket invocation syntax on components from all app directories - nested or not.

Be sure to read the full proposal and leave your comments below before the Final Comment Period (FCP) ends!


Module Unification Update 📝

If you are interested in Module Unification (MU) and the plans surrounding that topic, the blog post that @tomdale wrote will tell you all about it. Tom tells the story starting with the Module Unification RFC from 2016 and how the community worked really hard to make MU work.

Unfortunately, MU will not be shipped in Octane. The implementation of MU, in for example Glimmer, showed that there are challenges in making MU work intuitively and useable. With these challenges in mind and looking at the development of Angle bracket components, there is a new path wide open. The first steps towards MU in Ember start with the SFC & Template Imports RFC to make template imports possible.

So if you have a good idea to help make MU a success Ember, join the discussion and read the Blog on Module Unification.


Yieldable Named Blocks RFC 📇

@wycats opened an RFC around supporting yieldable named blocks. The proposed RFC amends the previously submitted Named Blocks RFC to finalize the syntax of named blocks and reduce the scope of the feature in light of the Angle Bracket Invocation changes.

The RFC proposes an extension to the angle bracket invocation syntax, namely introducing a new syntax to handle named blocks as seen below using the <:> and </:> syntax.

AngleBracketWithBlock :
  "<" ComponentTag ComponentArgs? BlockParams? ">"
  BlockBody
  "</" ComponentTag ">"

AngleBracketWithBlocks :
  "<" ComponentTag ComponentArgs? BlockParams? ">"
  NamedBlock+
  "</" ComponentTag ">"

NamedBlock :
  | "<:" Identifier "/>"
  | "<:" Identifier BlockParams? ">" BlockBody "</:" Identifier ">"

The RFC does not propose an extension to curly syntax, although a future extension to curly syntax is expected. Read more at the full Yieldable Named Blocks RFC on GitHub!


Ember Data Medium Term Development Plan RFC ⚡️💾

@igorT recently opened an RFC setting a medium term plan for Ember Data's development with the goals of increasing approachability, speed, stability, flexibility and shedding some legacy layers.

The RFC describes a tactical plan to refactor Ember Data's internals to isolate DS.Model to facilitate swapping it out in the future, replaceInternalModel functionality, and introduce RecordIdentity to uniquely identify records and harden system boundaries.

For more details and some interesting diagrams sketching out the architecture of what's involved, check out the RFC on Ember Data's medium term development plan.


Contributors' Corner 👏

This week we'd like to thank @ppcano, @rwjblue, @chancancode, @simonihmig, @tomdale, @stefanpenner, @ryanto, @makepanic, @dcyriller, @NullVoxPopuli, @nummi, @ygongdev, @jessica-jordan, @amyrlam, @dfreeman, @kgautreaux, @betocantu93, @mansona, @mixonic, @kategengler, @sukima, @efx, @muziejus and @pzuraq for their contributions to Ember and related repositories! 💖

We would especially like to thank everyone who has contributed to the Octane Preview Guides! Their work will be showcased at EmberConf! Thank you @betocantu93, @jenweber, @mansona, @kgautreaux, @rwjblue, @muziejus, @makepanic, @sukima, @efx, @mixonic, @kategengler, @MelSumner, @locks, @pzuraq, @bazzel, @jamescdavis, @rajasegar, @CodingItWrong, @acorncom, @toddjordan, @ondrejsevcik, @enomws, @kaeufl, @bartocc, @DenisNazarenko, @EndangeredMassa, @knownasilya, @jaredgalanis, @dayton-bobbitt, @dbendaou, @MonsieurDart, @chrisrng, @cah-danmonroe, @jessica-jordan, @Parrryy, @KellyJohnBraun, @kennethlarsen, @sivakumar-kailasam, @pablobm, @maxwondercorn, and @tomdale. 🎉


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! 🤞


#embertimes 📰

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, Jessica Jordan, Anne-Greeth van Herwijnen, Jen Weber, Amy Lam, Jared Galanis and the Learning Team