You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If the source has more signatures than the target, we start at the bottom and infer pairwise between them until we run out of target signatures.
When the source has fewer signatures, we infer just from the bottom; but when we run out of source signatures, we just fall back to the constraints when we run out of source signatures.
Why do we match pairwise?
In cases where we are inferring between a type and its instance, they really should
Idea - when we run out of source signatures, jump back to the bottom signature (usually the broadest one), and infer from that one for all remaining target signatures.
Inference Between Overloads
#54448
In other words, if
S
has signaturesand
T
has signatureswhat will happen is we will make the following inferences
Overloads
helper type is affected.Guidance and Actions For Publishing ESM Packages (sometimes with CJS)
Very hard to publish types for modules in Node.
Harder to do dual publishing of ESM and CJS.
Very confusing - that's why Andrew made https://arethetypeswrong.github.io/
Why don't we look at the output files for
"type": "module"
?Should we even be supporting this pattern? Has hazards.
The workarounds are still possible.
Aside-ish -
--build
mode is an orchestrator that one would hope could do this as well.So this idea of figuring out details from output files (e.g. using
outDir
), is a bit of a break, but it is arguably a correctness fix.This all feels like the same problem as React Native running their builds multiple times too.
Whatever we do here, feels like
--build
mode should be treated as a first-class citizen.tsconfig.*.json
s, and a solution-ytsconfig.json
that references both of them.Could instead have a concept of config profiles
Transpilation/Compilation Off-Thread
#54461
EmitResolver
today, which basically relies onTypeChecker
.The text was updated successfully, but these errors were encountered: