Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Defining SemVer for Published Types #1158

Closed
wants to merge 51 commits into from
Closed

Conversation

chriskrycho
Copy link
Member

@chriskrycho chriskrycho commented Jun 3, 2020

This RFC proposes a set of guidelines and tooling recommendations for managing changes as addons adopt TypeScript throughout the Ember ecosystem, as part of the path to making TypeScript a first-class citizen in Ember as a whole.

Rendered RFC text

Thanks to @dfreeman, @jamescdavis, @rwjblue, @pzuraq, and @mike-north for many discussions of the constraints here!

Notes

  1. This RFC does not attempt to solve—

    • the problem of stability for ambient types (e.g. from @types/DefinitelyTyped)
    • performance regression analysis

    These concerns will be addressed in future RFCs.

  2. While the detailed recommendations here are specific to the Ember ecosystem, we believe these recommendations will also be useful for the TypeScript ecosystem more broadly, with tweaks as appropriate to other ecosystems!

On (2): it is an explicit goal of mine for this process (and follow-on work to land in Ember proper) that we be able to extract the definitions laid out here into a dedicated resource defining Semantic Versioning for TypeScript Libraries.

Copy link

@pzuraq pzuraq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall this RFC is excellent, great job @chriskrycho and the rest of the Typed Ember team 😄 all my comments are minor, this sounds like a great path forward.

rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
Copy link
Member

@dfreeman dfreeman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for all the hard work you've put into this, @chriskrycho!

rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
chriskrycho and others added 7 commits July 2, 2020 11:53
Thanks to @dfreeman for catching these!

Co-authored-by: Dan Freeman <dfreeman@salsify.com>
- Use the example from Google's writeup for the details of the breaking
  change, and add playground links for it.
- Correct an error around how a forward-compatibility shim layer would
  work (thanks to @dfreeman for the fix).
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
@chriskrycho
Copy link
Member Author

Thanks for the review, @mike-north! Great comments and call-outs across the board. I will address them as soon as possible in comments and revisions—but almost certainly not before Friday.

@chriskrycho chriskrycho changed the title RFC: Type Stability for Addons RFC: Defining SemVer for Published Types Jul 17, 2020
Copy link
Member

@jamescdavis jamescdavis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First pass.

rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
rfcs/0000-type-stability.md Outdated Show resolved Hide resolved
chriskrycho and others added 3 commits November 10, 2020 08:54
Co-authored-by: James C. Davis <jamescdavis@gmail.com>
Co-authored-by: Chris Krycho <hello@chriskrycho.com>
rfcs/1158-type-stability.md Outdated Show resolved Hide resolved
@chriskrycho
Copy link
Member Author

Closing this… in favor of emberjs/rfcs#730! 🎉

@chriskrycho chriskrycho deleted the rfc-type-stability branch March 23, 2021 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants