Closed
Description
tsconfig Option Recategorization
- We wanted to revise the config entries in our documentation, along within
tsc --init
- We decide to emit whatever we put into
tsc --help
- If we were to strip down the options that go into
tsc --init
, would we rephrase. - Some of the names were not exactly how we want to - "linting" for example.
- "Debugging the Compiler" -> "Compiler Diagnostics"
- "Language" -> ... "Language and Environment"
- "Strictness Extended" -> "Thorough"
- ("thorough" with a certain UK accent was very tough to catch)
- "Output Formatting" for
pretty
andnoErrorTruncation
. - "'Lints' sounds good, right?"
- Strict ones wouldn't be called "lint", so that's strange.
- People already think of TypeScript as a linter sometimes - the non-strict.
- Sounds like the best way out is to categorize them all in the same bucket of strictness checks.
- "Editor Support"? Why not LSP?
- Most people don't know LSP
- Where should
disableSizeLimit
go?- Potentially Editor Support, potentially JavaScript.
- Ultimately doesn't matter, a JS user wouldn't come to this page if things aren't working, they'd check their editor's documentation.
- Revisit and review on GitHub
Combining Overloads for Contextual Signatures
- In 4.2, we got better at combining overload signatures - now you can call
.map
on a union of arrays.- But their parameter types are contextually typed by an intersection type. That creates an overload list.
- With this PR, we look at contextual overload lists and synthesize a new "combined" contextual signature
- Only under
noImplicitAny
, otherwise breaking change.
- Only under
- Only break we've found is when being contextually typed by a union type, one which has one signature, one which has multiple.
- We used to discard the type with multiple overload signatures, and contextually type by the type with just one.
- What exactly is a "sufficiently compatible" signature?
- If each of the members of a union have the right type parameters, etc.
- Looks like a nice change overall for 4.3, get it in early for more testing.