microsoft / microsoft/TypeScript
Start following semantic versioning
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.4k
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 117
Description
🔍 Search Terms
semantic versioning
✅ Viability Checklist
- This wouldn't be a breaking change in existing TypeScript/JavaScript code
- This wouldn't change the runtime behavior of existing JavaScript code
- This could be implemented without emitting different JS based on the types of the expressions
- This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
- This isn't a request to add a new utility type: https://github.com/microsoft/TypeScript/wiki/No-New-Utility-Types
- This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals
⭐ Suggestion
Start following semantic versioning from now on.
I know TypeScript currently doesn't follow semantic versining, and push breaking changes for every minor version. I could not find any mention as to why it is the case.
There is no reason TypeScript cannot follow semantic versioning. There is simply no other major library that doesn't follow semantic versioning in NPM ecosystem. There is also no problem with pushing major version every other months. It just means the version will be incrementing a lot quicker. It means it follows the ecosystem's standard and more predictable for a lot of people.
📃 Motivating Example
- Version update is more predictable and follows standard of the Node.js/npm ecosystem.
- You no longer have to change
^x.y.zto~x.y.zevery time you runnpm i -D typescript
💻 Use Cases
- What do you want to use this for?
- More predictable and standard versioning when installing TypeScript
- What shortcomings exist with current approaches?
- Non-standard versioning in the ecosystem
- What workarounds are you using in the meantime?
- Change
^to~in the version specifier
- Change
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points. Read the existing discussion and the project's release/versioning process first; done would require an agreed plan for adopting semantic versioning rather than a localized code change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100