ember install
the dependency like normal:dependency
, not a devDependency
for addons. With ember install
this migration would be automatically handled for you.devDependencies
.dependency
:ember generate
:.ts
in app
, because an addon's app
directory gets merged with and uses the host's (i.e. the other addon or app's) preprocessors, and we cannot guarantee the host has TS support. Note that .ts
will continue to work for in-repo addons because the app build works with the host's (i.e. the app's, not the addon's) preprocessors..js
to override addon defaults in app
, since the different file extension means apps no long consistently "win" over addon versions (a limitation of how Babel + app merging interact).element
, disabled
, etc. as annotated defined on a subclass of Component
and (correctly) not initialized to anything, e.g.:element
is a getter on Component
. This declaration then shadows the getter declaration on the base class and stomps it to undefined
(effectively Object.defineProperty(this, 'element', void 0)
. (It would be nice to use declare
here, but that doesn't work: you cannot use declare
with a getter in a concrete subclass.)const enum
is not supported at all. You will need to replace all uses of const enum
with simply enum
or constants.this
type annotations is not supported through at least Babel 7.3. However, they should also be unnecessary with ES6 classes, so you can simply remove the this
type annotation.function foo(...bar[],) {}
) are disallowed by the ECMAScript spec, so Babel also disallows them.