The Ember Times - Issue No. 100

Happy 🎉 100th 🥳 Ember Times, Emberistas! 🐹

This week: how to conditionally wrap components 💝, check out the Ember Sinon 4.0.0 release 💯, Ember CLI Mirage 1.0.0 release 🎉, Ember File Upload 2.7.0 release 🆙, ES6 Class Syntax Codemod 🤖, and last, but not least, mythical null and error handling with True Myth 3.0 🔮!


Conditionally Wrapping Components with Ember.js 💝

Last year, we learned how to yield an Ember component in multiple places.

This month, @baroquon shares step-by-step instructions on how to extend this work so that we can conditionally wrap components.

The best news? With angle bracket syntax, we can dramatically simplify our template! 💯

Find out how today!


Ember Sinon 4.0.0 Release! 💯

Ember Sinon, an Ember CLI addon adding support for Sinon.JS, released a breaking change in version 4.0.0 which includes the latest Sinon.JS release – Sinon 7.3.2, EmberJS 3.10, and drops Node 6 support to match the latest Ember CLI blueprints.

Sinon.JS provides standalone test spies, stubs, and mocks for JavaScript. It works for any unit testing framework, with Ember Sinon providing an easy to integration with Sinon.JS.

Try out Ember Sinon today with ember install ember-sinon!


Ember CLI Mirage 1.0.0 Release 🎉

After over four years and 1,442 commits from 174 contributors, Ember CLI Mirage has met its milestone 1.0.0 release! Big congratulations to @samselikoff and everyone who helped create one of our favorite addons. 🙌

With 1.0.0 (or should we say 💯?), you will find updated documentation and instructions on how to upgrade. If you haven't tried out Mirage to mock your backend APIs, we encourage you to today!


Ember File Upload 2.7.0 Release 🆙

Ember File Upload, which allows file uploads that continue over a route transition, announced its 2.7.0 release! You will see updated README (examples using angle bracket) and stability from updated dependencies and bug fixes. 🧡

Please thank @Alonski, @maxwondercorn, @raido, @bendemboski, @hakilebara, and @andreyfel for their work on this version! In addition, a big thanks to @tim-evans for the original authoring of the addon before it was adopted! 💯


Codemod for ES6 Class Syntax Including Decorators 🤖

Excited about the chance to try out the ✨native decorator support✨ announced as part of the release of Ember.js 3.10? The good news is there's a codemod to help you out with that!

Note that this part of the codemod is a configurable option in the transforms. If set to true, it will transform an object's properties to decorators wherever required. Also note that, unless turned off, this codemod will by default handle transforming object properties to class fields.

If you're interested in learning more about the motivation for this adoption of native decorator support in Ember.js 3.10 check out the RFC.


More Robust Null and Error Handling with True Myth 3.0 🔮

True Myth - your go-to library for handling null values and errors in your app in a type-safe fashion - is out with the brand-new 3.0.0 release!

Check out which helper functions and methods are new in the latest release, by reviewing the 3.0 release page and maybe.ify today!


Contributors' Corner 👏

This week we'd like to thank @rwjblue, @kellyselden, @josemarluedke, @pzuraq, @rwwagner90, @jenweber, @MelSumner, @ghislaineguerin, @vasind, @shakirjames, @maxwondercorn, @villander, @tendermario and @konstankinollc 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! 🤞


#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, Isaac Lee, Jared Galanis, Jessica Jordan, Amy Lam and the Learning Team