-
Notifications
You must be signed in to change notification settings - Fork 12.6k
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 3.4 Iteration Plan #30281
Comments
You have globalThis under Expected Work Items and Deferred Work Items. |
I think this paper is very related: https://pnwamk.github.io/docs/sstot.pdf. |
Can I ask about the status of #26797 as a work item? It's tagged for the 3.4 release but not mentioned here. It's been open six months now and has gathered many positive reactions (currently 4th most 👍'd and ❤️'d open PR and I think the other three are all covered here). It was also previously tagged for the 3.3 release, and the the 3.2 release before that. It seems like this one will forever be in the 'next' release 😿 |
I hope the Higher order function type inference merge makes it! |
I actually already have a branch that uses them for control flow; however I need to work on somehow making intersection construction less costly - as a truthyness check on a big union can become hugely expensive once truthiness is tested for via negations. :( |
Last time I brought it to the table (or rather, in office discussion), we've discussed we need to take it in one of two ways to land it with confidence:
The first can be done pretty quickly (it's just an added grammar error), but is definitely lacking, IMO. The second is going to take some more effort. Since I'm a fan of full and complete fixes, I started work on the second (which is quite troublesome - there's actually a bunch of places where higher order mapped types don't behave quite right and they really stick out when you try to apply them to nongeneric types for index-like constructs; so finding the right middle ground between breakiness and correctness is desirable) but with the impending release, swapped to fixing a bunch of bugs, so we'd have a slightly less buggy release :3 For anyone watching it: sorry for letting it slip guys, but I am still working on it and it hasn't been abandoned. In fact, it's considered a prerequisite PR for negated types to land (since a primary use as involves negated index signature types to limit the scope of an index to keys not explicitly defined), so it's definitely still something I'm on. You'll probably see my work on it ramp back up after we ship 3.4 proper in two or so weeks. |
This document outlines our focused tasks for TypeScript 3.4, as well as some of the discussion that explains how/why we prioritized certain work items. Nothing is set in stone, but we will strive to complete them in a reasonable timeframe.
Dates
Officially, here's the plan:
release-3.4
branch, and update the version to3.4.0-rc
.master
is locked from receiving new feature-work that is not 3.4-bound.release-3.4
branch with any feedback we receive.master
intorelease-3.4
one last time, finalize the version as3.4.1
.master
is unlocked. Critical changes for 3.4 must be ported in.release-3.4
branch with any feedback we receive.Conclusions
How to read this:
Expected Work Items
const
contexts ✅readonly
tuple/array type modifiers ✅globalThis
✅--build
mode) 🏃Deferred Work Items
JSX
namespace--declaration
with--allowJs
Planning Meeting Notes
Motivations
Discussion
General (compiler/infrastructure/reliability)
const
contextsreadonly
type modifier for arrays/tuples.d.ts
consumption for older versionsdts-lint
) - how do you "expect" different displays of the same semantic type.globalThis
--declaration
with--allowJS
--watch
mode without a resident process.Jakefile.js
😢 and moving to Gulp--build
APIs--build
more integrated with Webpack, Rollup, gulp, and any other build tool integration.Productivity
The text was updated successfully, but these errors were encountered: