The Ember Times - Issue No. 161
Issue #161
๐Ÿ‘‹ Emberistas! ๐Ÿน

ember-component-template-colocation-migrator now supports addons ๐ŸŽ‰, built with Ember.js: 10001 virtual art exhibit ๐ŸŽจ, ember-mobile-menu v2 released ๐Ÿ“ฑ, help with Embroider readiness ๐Ÿ”ฅ, and last, but not least, new free video and instructor at EmberMap ๐Ÿ“น!
The ember-component-template-colocation-migrator codemod co-locates component JS and HBS files as described in the Component Templates Co-location RFC. The v1.1.0 release adds support for migrating addons, but templates shared by multiple components are excluded. In this case, it is up to end users how to list those; they are reported in the same way other skipped templates (like partials) are. Similarly, mixins that use layout are not migrated.

When running the codemod, instead of:

your-addon/
  addon/
    components/
      some-component.js
    templates/
      components/
        some-component.hbs

You will get:

your-addon/
  addon/
    components/
      some-component.js
      some-component.hbs

Try it out today by running the migrator in your app or addon:

npx github:ember-codemods/ember-component-template-colocation-migrator
Moacir P. de Sรก Pereira (@muziejus) announced in a tweet that while on vacation ๐Ÿ, he's been helping an art gallery put together a website for a virtual exhibition: 10001.undercurrent.nyc.

On August 5, Undercurrent launched โ€œ10001,โ€ a collaborative virtual project that continues through September 12. This project is co-organized by the European Union National Institutes of Cultureโ€™s New York Cluster. Borrowing the zip code from both the Empire State Building and New York Cityโ€™s Central Post Office, โ€œ10001โ€ focuses on the collaboration of strangers and the narrative of their collective creative process using New York City as the linchpin. Coming from a variety of disciplines, twelve European Union artists who have never met each other will be randomly paired, making up a total of six teams. Through a series of Zoom sessions, each team will spend a six-week period developing a single project that will reimagine NYC post March 20, 2020.

The 10001 website is built with Ember 3.18! It's fantastic to see Ember.js being used in the wild, and we think that the site design is pretty rad too. Look forward to checking out the content as the artists continue their work on this pandemic-friendly exhibition.ย 
Earlier in August, Nick Schot (@nickschot) announced the v2 release of ember-mobile-menu.

In case you weren't aware, ember-mobile-menu provides a gesture-enabled hamburger menu. You can check out a real-world implementation in Empress Hummingbird.

For a complete list of new features in v2, we encourage you to check out Nick's tweet and the repo changelog. Here are a few of the best:
  • Written in Octane (v3.20 at the time of writing)
  • Spring physics and cancellable/resumable finishing animations
  • Various menu styles
  • FastBoot support
This week, Yehuda Katz (@wycats) opened a meta issue concerning the readiness of Embroider, Ember's next build system. The issue is meant to track the steps that must be taken before people can practically use Ember with Embroider as a supported option with route-based code splitting ("Embroider readiness").

An app that enables Embroider's route-based code splitting with splitAtRoutes mode must be able to operate in the presence of the following flags (which means the app is not using classic dynamic features):
  • staticAddonTestSupportTrees
  • staticAddonTrees
  • staticHelpers
  • staticComponents
The first target for Emroider readiness is to create a transition path to route-based code splitting, which means that all addons included in the default blueprint must be able to do so. It also means that addons that are frequently used in real-world applications, such as ember-concurrency, need to be able to enable these flags.

Embroider is a really important next step for the future of Ember. It would be helpful for anyone interested to test out Embroider readiness in their addon or application in splitAtRoutes mode with these flags enabled and provide feedback. If you are inclined, head on over to the meta issue and give it a read.

It is worth mentioning that other things need to be done in order to get Embroider stabilized for use in Ember. You can check that list out in Ed Faulkner's (@ef4) tracking issue.
EmberMap has a new instructor! Lindsay Cade (@cadeParade) has joined the EmberMap crew and released her first video, which covers testing loading states ๐ŸŽ‰. Bonus, this instructional video is free!

Lindsay teaches us how to use the wait helpers built into ember-test-helpers to ensure that you can write robust tests around loading state that wait for async behavior to resolve before making assertions.

Check out the free video at EmberMap.
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, Amy Lam, Isaac Lee, Jared Galanis, and the Learning Team