Releases: typed-ember/ember-cli-typescript
Let's churn less
What Changed?
Added
- The addon now supports failing the build when there are type errors, using
noEmitOnError: true
intsconfig.json
.
Changed
- Clarified instructions for sourcemaps.
Fixed
- TypeScript no longer churns on every change in the
tmp
directory. - Make sure ember-cli-typescript is a dev dependency when generating in-repo-addons, so their TypeScript gets built correctly.
- Eliminated some lint errors in the build.
Upgrading
ember install ember-cli-typescript@beta
Please open an issue with "1.3.0-beta.1" in the title if you have any new errors!
Contributors
Everyone who opened an issue we fixed or PR we merged in this release!
Someday, in-repo-addons will Just Work™
What Changed?
Fixed
- Blueprint now correctly adds ember-cli-typescript as a dependency, allowing TS to be merged into the regular app tree.
Upgrading
ember install ember-cli-typescript@latest
Contributors
Everyone who opened an issue we fixed or PR we merged in this release!
- Martin (@mfeckie)
What's Old is New Again
What Changed?
Added
- Blueprint (and tests) to generate in-repo addons configured for TypeScript
- @ts-ignore component template import.
- -addon blueprints for all the things to generate .ts files in
app/
in an addon.
Changed
- Improve instructions for setting up Linked Addons and In-repo Addons.
Fixed
- Addon components need to manually set their layout property to the imported compiled template.
- The declaration file for the
<app-name>/config/environment
module now resolves correctly from app code. If you have a version of this file previously generated attypes/<app-name>/config/environment.d.ts
, you'll likely want to move it toapp/config/environment.d.ts
.
Upgrading
ember install ember-cli-typescript@latest
Contributors
Everyone who opened an issue we fixed or PR we merged in this release!
- Bouke Haarsma (@Bouke)
- James Davis (@jamescdavis)
Out of the Box!
What Changed?
Fixes
- The blueprints provided by
ember-cli-typescript
now deterministically override the base ones fromember-data
andember-source
. - Correct type declarations are installed out of the box based on what test framework is present.
- A catch-all model registry is generated on installation to avoid the "error TS2344" problem.
Upgrading
ember install ember-cli-typescript@latest
Contributors
Everyone who opened an issue we fixed or PR we merged in this release!
- Arnav Gupta (@championswimmer)
- Bouke Haarsma (@Bouke)
- Jacob (@jacobq)
- James Davis (@jamescdavis)
- Theron Cross (@theroncross)
- @vlascik
In-repo-addons are addons too!
What changed?
Fixes
- Fixed a regression in 1.1.4 which caused in-repo-addons written in TypeScript not to work correctly.
- Fixed the
tsconfig.json
blueprint to properly include thetypes
directory.
Upgrading
ember install ember-cli-typescript@latest
Contributors
Everyone who opened an issue we fixed or PR we merged in this release!
- Dan Freeman (@dfreeman)
- James Davis @jamescdavis
The app is last.
What changed?
Changed
- The default
tsconfig.json
now includes inline source maps to support integrating with Babel sourcemaps, and the README has instructions for configuring Ember CLI's Babel integration.
Fixed
- TypeScript files in addon
app
trees now get compiled properly. - App files now correctly take precedence over any files of the same name earlier in the tree. (If you had a component with the same name as an addon-supplied component, for example, the addon version could override yours.)
Upgrading
ember install ember-cli-typescript@latest
Contributors
Everyone who opened an issue we fixed or PR we merged in this release!
- Arnav Gupta (@championswimmer)
- Dan Freeman (@dfreeman)
- Derek Wickern (@dwickern)
- Toran Billups (@toranb)
- Tabeth Nkangoh (@tabeth)
It’s okay, Mirage. We got you.
What changed?
Another day, another bunch of bug fixes.
Fixes
- Fix default blueprint for
types/<my app>/index.d.ts
: add missing import and an export statement so ambient declarations work. - Add types to initializer and instance initializer blueprints.
- Special-case handling for Mirage so that it works at all, and update generators so it works "out of the box".
- Stop assuming the ember-cli-qunit version consumers have installed will be sufficiently high for our tests to pass.
Upgrading
ember install ember-cli-typescript@latest
Contributors
So basically peer dependencies… are not a thing. 🙄
Edge cases with npm, booo
Mostly see v1.1.0.
Fixed
- No longer throw when running generators if
ember-cli-version-checker
version too low by putting it inpeerDependencies
. - Clarified some parts of the README that misled people on handling certain errors.
Upgrading
ember install ember-cli-typescript@latest
Contributors
- Chris Santero (@csantero)
Faster! Generators! Addons!
This is the short version (and it mostly just duplicates the new CHANGELOG.md file). For the long version, read the announcement blog post!
Added
- Generators:
ember generate <blueprint>
now creates TypeScript files for you - Support for addons: we now precompile addon TypeScript so
ember-cli-typescript
andtypescript
itself can remain indevDependencies
instead ofdependencies
, and addons can easily distribute compiled JavaScript with TypeScript type definition (.d.ts
) files. - Incremental compilation:
ember serve
orember test --serve
now use TypeScript'stsc --watch
mode to only rebuild what changed, so your builds should be much faster
Fixed
tsconfig.json
is no longer so annoyingly temperamental; you can largely do what you want with it.ember serve
no longer triggers a full rebuild of all TypeScript files every time any file in your project changes.
Upgrading
ember install ember-cli-typescript@latest
Credits and Thanks
Massive credit goes to Dan Freeman (@dfreeman) and Derek Wickern (@dwickern), who did most of the heavy lifting on the internals for this release, and together unlocked both incremental compilation and addon support. Derek also did the lion's share of the work on writing the types for Ember and Ember Data.
Thanks to Maarten Veenstra (@maerten) for the original inspiration (and a spike last summer) for using a type registry, and to Mike North (@mike-north) for some discussion and planning around the idea late in 2017. I may have implemented them, but the ideas came from the community!
Thanks to Frank Tan (@tansongyang) for doing a lot of the work on porting the generators from the Ember and Ember Data repositories to ember-cli-typescript, as well as converting them to TypeScript and to use the new formats. He also contributed the type definitions for the new (RFC #232) QUnit testing API.
Thanks to everyone who contributed to ember-cli-typescript or the Ember typings in any way since we released 1.0.0:
-
ember-cli-typescript contributors (note that I intentionally include here everyone who opened issues on the repository: that is not a small thing and has helped us immensely):
- Bryan Crotaz (@BryanCrotaz)
- Daniel Gratzl (@danielgratzl)
- Guangda Zhang (@inkless)
- @guangda-prosperworks
- Krati Ahuja (@kratiahuja)
- Marco Umpiérrez (@MarcoUmpierrez)
- Martin Feckie (@mfeckie)
- Nikos Katsikanis (@QuantumInformation)
- Per Lundberg (@perlun)
- Prabhakar Poudel (@Prabhakar-Poudel)
- Ryan LaBouve (@ryanlabouve)
- Simon Ihmig (@simonihmig)
- Theron Cross (@theroncross)
- Thomas Gossman (@gossi)
- Vince Cipriani (@vcipriani)
-
Ember typings contributors:
- Adnan Chowdhury (@bttf)
- Derek Wickern (@dwickern)
- Frank Tan (@tansongyang)
- Guangda Zhang (@inkless)
- Ignacio Bona Piedrabuena (@igbopie)
- Leonard Thieu @leonard-thieu
- Logan Tegman @ltegman
- Martin Feckie (@mfeckie)
- Mike North (@mike-north)
- Nathan Jacobson (@natecj)
- Per Lundberg (@perlun)
- Robin Ward (@eviltrout)
Thanks to Rob Jackson (@rwjblue) and Tobias Bieniek (@Turbo87 on GitHub, @tbieniek in the Ember Slack) for answer tons of questions and putting up with regular pestering about Ember CLI.
And last but not least, thanks to everyone who's popped into #topic-typescript on the Ember Community Slack with questions, comments, problem reports, and the occasional word of encouragement. It really does help.