---
Title: "#EmberJS2019, Part 2"
Subtitle: Letâs make TypeScript a first-class citizen of the Ember ecosystem.
Date: 2019-06-17 21:20
Category: Tech
Tags: [emberjs, emberjs2019, TypeScript, JavaScript, open-source software]
Series:
Title: EmberJS2019
Part: 2
Summary: >
Letâs make TypeScript a first-class citizen of the Ember ecosystem. Thereâs a lot already done, but a lot left to do!
---
Over the last year, the Ember community has steadily delivered on the vision we all traced out in last yearâs \#EmberJS2018 and Roadmap RFC process, culminating with the shipping-very-soon-now [Ember Octane Edition][octane]. (All the pieces are pretty much done and are either on stable or will be shortly; we just need another LTS release before we cut a full new edition!)
[octane]: https://emberjs.com/editions/octane/
So⦠what should we tackle next? This year, I have only two parts, unlike [last yearâs four][emberjs2018] (and Iâm sneaking them in just under the wire, as today is the deadline for entries!):
- Part 1: [Letâs finish modernizing the Ember programming model!][part-1]
- Part 2 (this post): [Letâs make TypeScript a first-class citizen of the Ember ecosystem.][part-2]
[emberjs2018]: https://v4.chriskrycho.com/emberjs2018
[part-1]: https://v4.chriskrycho.com/2019/emberjs2019-part-1
[part-2]: https://v4.chriskrycho.com/2019/emberjs2019-part-2
---
For the last two and a half years, I have been working off and on towards making TypeScript viable in Ember apps and addons. I was delighted when others came along to help pick up the load, and weâve [charted a course][priorities] for what weâd like to do over the year ahead. The major priorities we identified all point at what Iâve wanted since I started down this road back at the very end of 2016: for TypeScript to be a first-class citizen in the Ember ecosystem. Hereâs my roadmap for how we get there. (Note that here Iâm speaking only for myselfâneither for the Typed Ember team nor for LinkedIn!)
[priorities]: https://v4.chriskrycho.com/2019/emberconf-2019-typed-ember-team-report.html
## The Roadmap
### 1. Execute on Our Priorities
All of us want this to happen. Itâs not yet clear what all of our priorities will be in our jobs over the back half of 2019âbut if we can, weâd like to see those efforts across the line.
The TypeScript team has eased one of our heavy burdens, by investing in performance monitoring infrastructure over the course of this year and paying close attention to how their changes affect us as well as other TypeScript consumers. Weâre deeply appreciative! But thereâs still a lot of work to be done that just needs time to actually do the workâreducing churn in type definitions, building type-checked templates, and improving our documentation.
None of those are insurmountable by any stretch. But theyâd also be far likelier to happen if they were concretely identified as priorities for Ember as a whole, and we had commitment from the community to help!
To briefly summarize [those priorities][priorities] again:
- We need to make it so that consumers of our type definitions do not face breakage from updates to Emberâs types *or* TypeScript definitions. We already worked out a basic strategy to solve this problem, and Iâve done further exploration to validate that with key stakeholders of large apps (both TypeScript users and apps which *want* to use TypeScript) and core Ember contributors⦠but none of us have had time since EmberConf to write out the strategy as a Typed Ember RFC, much less to do the actual implementation work.
- We need to make templates type-aware and type-safe. As fantastic as the experience of writing Glimmer components isâand I genuinely do love it!âitâll be an order of magnitude better when you get autocomplete from your editor as soon as you type `