Design Meeting Notes, 10/26/2022
See original GitHub issueConfiguration Profiles/Versions
https://github.com/microsoft/TypeScript/issues/50997
- Some option that tells TypeScript “use some set of well-known best practice options.”
- Somewhat opaque, needs more documentation.
- Adds more complexity.
- Having the
extends
field intsconfig.json
support arrays seems like a reasonable workaround. - Seems like this dovetails into deprecations and default changes.
Flag Deprecations
https://github.com/microsoft/TypeScript/issues/51000
- Do we ever believe we can remove flags?
- Question: do we always error on unknown flags?
- Requires transitions from:
- Deprecated (warning)
- Errored-on specially, but no-op behavior.
- Errored-on as unexpected(?)
- Requires transitions from:
- Question: do we always error on unknown flags?
- Deprecation and removal provides us a back-out plan.
- Can we do this with some of our flags?
- “I know it when I see it”
- We don’t follow semver, but a major version is a good time to start deprecating.
- Feels like we should have good explanations, work-arounds, maybe quick fixes.
- Must have a “shhh I don’t mind using deprecated flags”.
- Is deprecation worthwhile, or will people turn it off?
- We do want to give people leeway and a heads-up.
- Obvious flags for deprecation
charset
- doesn’t do anything today?noImplicitUseStrict
- Acts as if
"use strict"
is at the top of a file.
- Acts as if
noStrictGenericChecks
- We used to erase generics in signatures when relating them. 2.4 changes this, but dependencies would have issues and we needed an opt-out flag.
out
- various issues, useoutFile
instead.keyofStringsOnly
- rumored that we wanted this to be a temporary flag. People needed to writestring & ...
instead of...
in some cases, but was confusing.suppressExcessPropertyErrors
- type system has other capabilities for enabling these.suppressImplicitAnyIndexErrors
- literal types probably help guard against these.
- Questionable
noFallthroughCasesInSwitch
- feels linty - not our domain- The other ones seem like misfeatures/back-compat.
- Arguable
target: es3
- What’s it even have?
- Errors for using getters/setters, property name downleveling for reserved words, removal of trailing commas.
- What about the default for target?
- Syntax might not work in
target
environment. - We would like to move the target to a newer version. But do we deprecate ES3 first, or change the default to ES5 and deprecate explicit
target
s of ES3? - Could just say
target
is always required?
- Syntax might not work in
- What’s it even have?
module: umd, system, amd
- Seems like these all have usage.
- Snooze, maybe talk to some teams to better understand usage.
- What’s the upgrade process?
- Maybe
--upgrade
on the command-line?
- Maybe
- What about making TypeScript just do the right type-checking out of the box?
noImplicitAny
andstrictNullChecks
really should be on.
types
array?- Ideally should be
[]
. - No way for a user to get the old 4.9 behavior.
- Ideally should be
- What are we going for? Defaults always work right? Most correct
tsconfig.json
s are always relatively short?
Issue Analytics
- State:
- Created a year ago
- Comments:5 (5 by maintainers)
Top Results From Across the Web
Design meeting notes - Notion Template Gallery
Use this template to capture notes from all meetings in one accessible spot. Notes can be tagged by meeting type to make them...
Read more >April 2022 Committee on Design Meeting - City of Chicago
The Committee on Design met virtually at 1 p.m. on Wednesday, April 13, 2022. Agenda items and materials are listed below.
Read more >Committee Meeting Agendas & Minutes - Glenshire Devonshire
Committee Meeting Agendas & Minutes. 2022 Agendas DRC Agenda 11222022 ... DRC Agenda-Expedited 11022022 ... Gov Docs Revision Committee Agenda 10262022
Read more >Minutes - Oceano Community Services District
12142022 Agenda Item 8C - 11092022 Minutes Special Meeting · PDF 11092022 Agenda Item 7A - 10262022 Minutes · PDF 10262022 Agenda Item...
Read more >Proposed New Center Building located at 51 Main Street
Presentations · Designs and Plans · Meeting Notes · Reports · Memos · Budget.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
The notes seem to be wrong; we’re doing ES2018 (which is Node 10’s level).
The outputs are still UMD-esque. ESM later, that’s just more difficult.
Er, I meant the notes on #51310; I didn’t read which design meeting notes this was.
What syntax we ship in our package doesn’t affect which syntaxes the compiler supports, of course, which is what this issue was referring to.