-
-
Notifications
You must be signed in to change notification settings - Fork 408
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: Semantic Versioning for TypeScript Types #730
Commits on Mar 23, 2021
-
RFC: Semantic Versioning for TypeScript Types
This RFC proposes a definition of [Semantic Versioning][semver] for managing changes to TypeScript types, including when the TypeScript compiler makes breaking changes in its type-checking and type emit across a “minor”release.(Note that this RFC addresses *only* type checking and type emit, *no t* the “transpilation”mode of the TypeScript compiler.) [semver]: https://semver.org While this RFC is being authored in the context of Ember.js’ [adoption of TypeScript as a first-cl ass supported language][RFC], its recommendations are intentionally general, in hopes that th ese recommendations can be widely adopted by the broader TypeScript community. [RFC]: emberjs#724
Configuration menu - View commit details
-
Copy full SHA for 2fca926 - Browse repository at this point
Copy the full SHA 2fca926View commit details
Commits on Mar 24, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 758d1fb - Browse repository at this point
Copy the full SHA 758d1fbView commit details
Commits on Apr 16, 2021
-
Fix typo in discussion of user-constructibility
Co-authored-by: Jeremy W. Sherman <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d593ea9 - Browse repository at this point
Copy the full SHA d593ea9View commit details -
Co-authored-by: Jeremy W. Sherman <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 20f6f3c - Browse repository at this point
Copy the full SHA 20f6f3cView commit details
Commits on May 21, 2021
-
Improve the discussion of type and value symbols
- incorporate `enum`, `const enum`, and `namespace` - break it out into bullet points for easier digestion
Configuration menu - View commit details
-
Copy full SHA for 94af7e6 - Browse repository at this point
Copy the full SHA 94af7e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f253da - Browse repository at this point
Copy the full SHA 0f253daView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c6352f - Browse repository at this point
Copy the full SHA 6c6352fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 892bc8b - Browse repository at this point
Copy the full SHA 892bc8bView commit details -
Co-authored-by: Jeremy W. Sherman <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0156240 - Browse repository at this point
Copy the full SHA 0156240View commit details -
Move the design summary to the top
Per discussion with the Ember TS strike team, moving the design summary to the top gives an easily-digestible and -comprehensible overview of the recommendations in the doc for people just wanting to get the big idea.
Configuration menu - View commit details
-
Copy full SHA for 97ff732 - Browse repository at this point
Copy the full SHA 97ff732View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8620856 - Browse repository at this point
Copy the full SHA 8620856View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2a61af5 - Browse repository at this point
Copy the full SHA 2a61af5View commit details -
Type definitions should reflect API design *intent*
As @RyanCavanaugh notes [here][1], the author of an API may intend that a given function or method is allowed to return a wider type than the "current" implementation at a given time allows. The type signature thus should reflect the intent of the API, *not* merely its implementation. [1]: emberjs#730 (comment)
Configuration menu - View commit details
-
Copy full SHA for 36fc065 - Browse repository at this point
Copy the full SHA 36fc065View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a353db - Browse repository at this point
Copy the full SHA 3a353dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 21e6e8a - Browse repository at this point
Copy the full SHA 21e6e8aView commit details
Commits on Jun 10, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 756393e - Browse repository at this point
Copy the full SHA 756393eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 199e94c - Browse repository at this point
Copy the full SHA 199e94cView commit details -
Explicitly address TS' lack of spec
@jeremy-w correctly [pointed out][1] that the presence of the playground links suggests that the behavior is *observed* rather than *promised*. Make explicit both that the playground links are not normative *and* that since TS has no formal spec, the implementation is the source of truth for the type system. [1]: emberjs#730 (comment)
Configuration menu - View commit details
-
Copy full SHA for 68f2743 - Browse repository at this point
Copy the full SHA 68f2743View commit details -
Configuration menu - View commit details
-
Copy full SHA for 59d4cb7 - Browse repository at this point
Copy the full SHA 59d4cb7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 564a301 - Browse repository at this point
Copy the full SHA 564a301View commit details
Commits on Jun 11, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 54c2352 - Browse repository at this point
Copy the full SHA 54c2352View commit details -
Configuration menu - View commit details
-
Copy full SHA for b7aac99 - Browse repository at this point
Copy the full SHA b7aac99View commit details -
Improve structure of discussion of breaking changes
In order to support the upcoming addition of a discussion of variance, and to make the flow of the document clearer, restructure subsections under Defining Breaking Changes: - Introduce a new level-3 section, "Changes to Types", to cover all the detailed analysis of changes to code, and which will be the natural home of the discussion of variance. - Move the discussion of supported compiler versions into another new level-3 section "Compiler Considerations", which also subsumes the existing discussions of strictness and module interop.
Configuration menu - View commit details
-
Copy full SHA for 2619e88 - Browse repository at this point
Copy the full SHA 2619e88View commit details
Commits on Nov 19, 2021
-
Add explanation of (type-level) variance
This does not *quite* finish the RFC content: it still requires showing the examples of kinds of things which type-level variance prevents us from typing safely, and describing the workarounds. This is much simpler than the explanation, though!
Configuration menu - View commit details
-
Copy full SHA for e9823f8 - Browse repository at this point
Copy the full SHA e9823f8View commit details -
Configuration menu - View commit details
-
Copy full SHA for bfe34e6 - Browse repository at this point
Copy the full SHA bfe34e6View commit details
Commits on Nov 30, 2021
-
Configuration menu - View commit details
-
Copy full SHA for e69ca4b - Browse repository at this point
Copy the full SHA e69ca4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 018474b - Browse repository at this point
Copy the full SHA 018474bView commit details -
Configuration menu - View commit details
-
Copy full SHA for fb5f21e - Browse repository at this point
Copy the full SHA fb5f21eView commit details
Commits on Dec 1, 2021
-
Configuration menu - View commit details
-
Copy full SHA for fba27fe - Browse repository at this point
Copy the full SHA fba27feView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c606c8 - Browse repository at this point
Copy the full SHA 7c606c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 37f8469 - Browse repository at this point
Copy the full SHA 37f8469View commit details -
Configuration menu - View commit details
-
Copy full SHA for ebef821 - Browse repository at this point
Copy the full SHA ebef821View commit details -
Configuration menu - View commit details
-
Copy full SHA for a9ab13a - Browse repository at this point
Copy the full SHA a9ab13aView commit details -
Configuration menu - View commit details
-
Copy full SHA for a20fc11 - Browse repository at this point
Copy the full SHA a20fc11View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a51d41 - Browse repository at this point
Copy the full SHA 0a51d41View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9329a14 - Browse repository at this point
Copy the full SHA 9329a14View commit details
Commits on Dec 17, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 225457f - Browse repository at this point
Copy the full SHA 225457fView commit details
Commits on Feb 21, 2022
-
Configuration menu - View commit details
-
Copy full SHA for be1bb90 - Browse repository at this point
Copy the full SHA be1bb90View commit details -
Configuration menu - View commit details
-
Copy full SHA for db09c0e - Browse repository at this point
Copy the full SHA db09c0eView commit details
Commits on Apr 12, 2022
-
noPropertyAccessFromIndexSignature -> noUncheckedIndexedAccess
This was just a mental flub: it was always intended to be the latter, and I just repeatedly typo'd it.
Configuration menu - View commit details
-
Copy full SHA for 2628216 - Browse repository at this point
Copy the full SHA 2628216View commit details
Commits on Apr 19, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 20587e6 - Browse repository at this point
Copy the full SHA 20587e6View commit details