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

TypeScript 5.5 Iteration Plan #57475

Open
DanielRosenwasser opened this issue Feb 22, 2024 · 37 comments
Open

TypeScript 5.5 Iteration Plan #57475

DanielRosenwasser opened this issue Feb 22, 2024 · 37 comments
Labels
Planning Iteration plans and roadmapping

Comments

@DanielRosenwasser
Copy link
Member

DanielRosenwasser commented Feb 22, 2024

This document outlines our focused tasks for TypeScript 5.5. It minimally indicates intent to investigate tasks or contribute to an implementation. Nothing is set in stone, but we will strive to complete these tasks in a reasonable timeframe.

Date Event
2024-03-05 TypeScript 5.4 Release
2024-04-19 Create 5.5 Beta (5.5.0) Build for Testing
2024-04-24 TypeScript 5.5 Beta Release
2024-05-31 Create 5.5 RC (5.5.1) Build for Testing
2024-06-04 TypeScript 5.5 RC Release
2024-06-14 Create 5.5 Final (5.5.2) Build for Testing
2024-06-18 TypeScript 5.5 Final Release 🚀
gantt
    dateFormat  YYYY-MM-DD
    TypeScript 5.4 Stabilization Period : 2024-02-16, 2024-03-05
    TypeScript 5.5 Beta Development : 2024-02-16, 2024-04-19
    TypeScript 5.5 RC Development : 2024-04-20, 2024-05-31
    TypeScript 5.5 Stabilization Period : 2024-06-01, 2024-06-18
todayMarker stroke-width:5px,stroke:#0f0,opacity:0.5

Compiler and Language

Editor and Language Service

Performance

Website and Docs

Infrastructure

  • Adopt --isolatedDeclarations and Parallelize TypeScript's Build
@DanielRosenwasser DanielRosenwasser added the Planning Iteration plans and roadmapping label Feb 22, 2024
@DanielRosenwasser DanielRosenwasser pinned this issue Feb 22, 2024
@DanielRosenwasser
Copy link
Member Author

DanielRosenwasser commented Feb 22, 2024

@kevinbarabash
Copy link

How much of an impact will --isolatedDeclarations have on type checking performance in large projects?

@jakebailey
Copy link
Member

None directly, in the same way that isolatedModules doesn't speed things up in and of itself.

But, if you have code which passes isolatedModules, it can be safely transpiled by an external tool (like Babel, esbuild, swc). And similarly, code passing isolatedDeclarations can be transpiled into a declaration file by an external tool too (once one exists).

@jakebailey
Copy link
Member

(This isn't to say that there can't be some speedups possible in TypeScript in the future enabled by this option, just that the flag itself is intended to just be checks.)

@JVKdouk
Copy link

JVKdouk commented Mar 1, 2024

Hey everyone, any chance of getting #26242 in this release? It was proposed back in 2018 and there has not been much work on the issue up to this point. Getting it at least planned would already be amazing to the TS community. I believe it would substantially improve the power of TS in the long run!

@ClearedFram3
Copy link

Just a heads up, I'm working on remaking the website using Sveltekit. Styles will be the same, but the overall structure will be simpler and much quicker to iterate on.

@DanielRosenwasser
Copy link
Member Author

DanielRosenwasser commented Mar 1, 2024

@ClearedFram3 while I don't want to discourage experimentation, I don't think we would accept such a large PR without discussing changes ahead of time.

@ClearedFram3
Copy link

@DanielRosenwasser I should've said the codebase structure will be different—the website style/content structure will be the same. After the current codebase is replaced, there will ample room for discussion about changing design and content or even to a different framework haha.

@graphemecluster
Copy link
Contributor

graphemecluster commented Mar 7, 2024

I’ve been watching the iteration plan threads from 5.4 seeing my PR (#55600) on the list. I am on standby anytime for any necessary alternations.

@jwalkerinterpres
Copy link

jwalkerinterpres commented Mar 7, 2024

Is there anything Typescript community members can do to influence this list?

I think I can speak for every TS React dev on the planet when I say that #29526 (improved syntax for destructuring an argument ... like the React props argument) has languished long enough. The community has essentially reached a consensus on a desired syntax in that ticket (something that was not easy), and now all that's needed is developer will to implement.

I can't speak for anyone else, but personally I would trade everything on the 5.5 list for this one feature!

@aspirisen
Copy link

A question about Investigate Recursive Object Type References
Will it help i.e. in zustand in avoiding writing interface for the state, and instead just infer the type from the initial state (create-function argument)?

@jcalz
Copy link
Contributor

jcalz commented Mar 20, 2024

@narcis-ro
Copy link

Is there any chance after 10 years.. to introduce nameof?

Is it super complicated? Honest question

#1579

@DanielRosenwasser
Copy link
Member Author

@typescript-bot bump release-5.4

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 2, 2024

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
bump release-5.4 ✅ Started ✅ Results

@typescript-bot
Copy link
Collaborator

Hey, @DanielRosenwasser! I've set the version of release-5.4 to 5.4.4 for you.

@DanielRosenwasser
Copy link
Member Author

@typescript-bot bump release-5.4

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 9, 2024

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
bump release-5.4 ✅ Started ✅ Results

@DanielRosenwasser
Copy link
Member Author

Whoops - I've been posting in the wrong iteration plan. Sorry for the noise folks.

@typescript-bot
Copy link
Collaborator

Hey, @DanielRosenwasser! I've set the version of release-5.4 to 5.4.5 for you.

@nyngwang

This comment was marked as off-topic.

@WORMSS
Copy link

WORMSS commented Apr 11, 2024

I think I can speak for every TS React dev on the planet when I say that #29526 (improved syntax for destructuring an argument ... like the React props argument) has languished long enough.

I can't disagree more with all existing proposals in #29526. It will make TypeScript syntax very confusing.

This is the first I am hearing about this.. (I guess I've had my head in the sand for a while).. We already have a solution to this.. ({ a, b }: SomeType) => void.. This makes sense, and already works..
This sounds like a massive problem waiting to happen if this gets implemented the way people are saying.

This type of stuff is going to push the whole "Javascript can run TS script directly, but just ignoring the types" concept even FURTHER AWAY!
It seems like shooting yourself in the foot to try and solve something that is already solved.

@snarbies
Copy link

But it's important to consider different voices.

Then why not add your voice to that issue? Respond to the arguments and examples presented there, there.

This type of stuff is going to push the whole "Javascript can run TS script directly, but just ignoring the types" concept even FURTHER AWAY!

Again, if you join the actual discussion you can respond to people who are addressing this exact concern (#29526 (comment)). The only argument I see in that issue is that the double-colon syntax may actually benefit this cause. If there's an argument to the contrary, you should make it there so it can be properly considered.

@jwalkerinterpres
Copy link

We already have a solution to this.. ({ a, b }: SomeType) => void

Most devs believe in the "DRY principle". When you use the syntax you mentioned, it's not DRY code; you have ({ a, b }: {a: someType; b:someType) => void (where a and b are needlessly repeated).

#29526 is simply about eliminating duplication, nothing more. There are already 30+ devs participating in that discussion (and who knows how many are lurking), all because they want to see that duplication eliminated.

If you have something against eliminated duplication, by all means respond ... in that ticket. This thread is not the appropriate place to discuss any particular ticket.

@DanielRosenwasser
Copy link
Member Author

For anyone here for the iteration plan: we are going to push the beta out about a week to make sure we can bring in some scheduled work.

@DanielRosenwasser
Copy link
Member Author

@typescript-bot create release-5.5

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 24, 2024

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
create release-5.5 ❌ Error: HttpError: Unexpected inputs provided: ["core_tag"] - https://docs.github.com/rest/actions/workflows#create-a-workflow-dispatch-event

@DanielRosenwasser
Copy link
Member Author

No, bad.

@DanielRosenwasser
Copy link
Member Author

Jake says he fixed it. @typescript-bot tell @jakebailey thank you and also

@typescript-bot create release-5.5

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 24, 2024

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
create release-5.5 ✅ Started ❌ Results

@typescript-bot
Copy link
Collaborator

Hey, @DanielRosenwasser! I was unable to create the new release branch.

Check the logs at: https://github.com/microsoft/TypeScript/actions/runs/8812429335

@WORMSS
Copy link

WORMSS commented Apr 24, 2024

Surely there is a better way to interact with a bot than to have multiple people emailed about every request and then every response?

@Aloso
Copy link

Aloso commented Apr 24, 2024

@WORMSS but you can disable notifications for this thread, if you don't want to be notified about new activity.
The bot exists to help contributors, who do want to get notified about messages from the bot.

@WORMSS
Copy link

WORMSS commented Apr 24, 2024

I don't mind getting notifications.. don't want to get a notification about people talking TO the bot..

@Aloso
Copy link

Aloso commented Apr 24, 2024

GitHub doesn't provide such a feature. And I don't understand your complaint, it is just a minor inconvenience for you, but a big help for contributors.

@DanielRosenwasser
Copy link
Member Author

Hey all, 5.5 Beta is now out!

@Jack-Works
Copy link
Contributor

for anyone founding their .d.ts file augmentation no longer working (a breaking change not mentioned in the blog), see #58324

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Planning Iteration plans and roadmapping
Projects
None yet
Development

No branches or pull requests