ember.js icon indicating copy to clipboard operation
ember.js copied to clipboard

[QUEST] RFC 800: TypeScript Adoption Plan Implementation Tracking

Open chriskrycho opened this issue 3 years ago • 8 comments

RFC 0800 Tracking Issue

Implement RFC 0800: TypeScript Adoption Plan.

Enable TS blueprints

  • [x] #20352

Publish types

We do not need to publish types for every package in Ember's dependencies—only for the packages which are part of its programmatic public APIs. An example of a dependency we don’t need to ship types with: ember-cli-dependency-checker is integrated into the classic Ember CLI build pipeline, but it doesn’t expose any APIs for users to call. The following list is comprised of the items in the default blueprints filtered for that criteria.

These items will be checked off if they have been "claimed"—please comment if you'd like to claim one! We will track their status via links to the issues/PRs which implement them.

Status: Last updated 2022/12/13, with the dependencies from the app and v1 addon blueprints.

  • [x] ember-source (i.e. Ember.js)
    • [x] #20174
    • [x] #19946
  • [ ] ember-data, including:
    • ember-data
    • @ember-data/adapter
    • @ember-data/canary-features
    • @ember-data/debug
    • @ember-data/deprecations
    • @ember-data/model
    • @ember-data/record-data
    • @ember-data/serializer
    • @ember-data/store
  • [ ] @ember/optional-features: https://github.com/emberjs/ember-optional-features/issues/329
  • [x] @ember/test-helpers: https://github.com/emberjs/ember-test-helpers/issues/1268
  • [x] @glimmer/component – what we ship here is actually somewhat wrong, but not in a blocking way
  • [x] @glimmer/tracking – what we ship here is actually right from a TS POV (unlike the runtime POV!)
  • [x] ember-auto-import – already ships types :tada:
  • [ ] ember-cli: ember-cli/ember-cli#9996
  • [ ] ember-cli-app-version
  • [ ] ember-cli-babel
  • [ ] ember-cli-htmlbars: https://github.com/ember-cli/ember-cli-htmlbars/issues/753
  • [ ] ember-cli-inject-live-reload
  • [ ] ember-cli-terser
  • [ ] ember-fetchNote: this one is complicated. It already ships types, but badly. Please extra reach out if you pick this one up: a path forward exists but isn't necessarily obvious!
  • [x] ember-load-initializers – already ships types! :tada:
  • [x] ember-page-title: https://github.com/ember-cli/ember-page-title/issues/239
  • [x] ember-qunit: https://github.com/emberjs/ember-qunit/issues/957
  • [x] ember-resolver: https://github.com/ember-cli/ember-resolver/issues/795
  • [ ] ember-template-lint
  • [x] ember-welcome-page: ember-cli/ember-welcome-page#387
  • [ ] loader.js[^loader]
  • [x] qunit – has reasonably-good types (which we help maintain) on DefinitelyTyped and is not a package we control
  • [x] qunit-dom – already ships types! :tada:

[^loader]: Debatably, anyway: we could work on dropping this instead, and its public API usage is intended to be minimal; but right now it is a public API.

chriskrycho avatar Aug 23 '22 17:08 chriskrycho

FYI, the ember-cli-sri repo is archived.

bertdeblock avatar Dec 14 '22 19:12 bertdeblock

@chriskrycho Seems like a part is missing from the ember-fetch entry in the list above?

bertdeblock avatar Dec 14 '22 19:12 bertdeblock

Oh, good catches on both points. Updating!

chriskrycho avatar Dec 14 '22 19:12 chriskrycho

@chriskrycho @bertdeblock I'd like to help out with ember-welcome-page.

I think we need to first update the repo (CI, dependencies, and minimum support for Node & Ember), before we introduce TypeScript, though. This would help with future maintenance.

Is it okay if I temporarily own the project and make a few pull requests to keep the project up-to-date and easy to maintain?

ijlee2 avatar Dec 16 '22 12:12 ijlee2

Please do! I'll mark is at "taken" here and am happy to help with any TS work there.

chriskrycho avatar Dec 16 '22 14:12 chriskrycho

@chriskrycho Thanks!

ijlee2 avatar Dec 16 '22 14:12 ijlee2

@emberjs/typescript-core Can this be closed?

kategengler avatar Jun 10 '24 19:06 kategengler

I think we've completed the high-priority items on this list but not everything. Checking in with @wagenet

gitKrystan avatar Jun 10 '24 20:06 gitKrystan