Skip to content

Update DOM types - #64604

Draft
Jake Bailey (jakebailey) wants to merge 1 commit into
microsoft:mainfrom
jakebailey:update-dom-types
Draft

Jake Bailey (jakebailey) wants to merge 1 commit into
microsoft:mainfrom
jakebailey:update-dom-types

Conversation

@jakebailey

Copy link
Copy Markdown
Member

Notably:

  • New APIs: Web Serial (navigator.serial), Document Picture-in-Picture (documentPictureInPicture), CloseWatcher, and Origin.
  • HTML sanitization: Adds Element.setHTML() and sanitizer options for setHTMLUnsafe() and Document.parseHTMLUnsafe().
  • WebGPU: Adds "webgpu" canvas context overloads, global usage/flag constants, additional device limits, and a new vertex format.
  • WebTransport: Adds connection/stream statistics, dedicated receive/send stream interfaces, and reliability/protocol properties.
  • URL inputs: fetch, Request, URL, and XMLHttpRequest.open() now accept Location objects in window contexts.
  • CSS and animation: Adds CSSFontFaceDescriptors, highlight hit-testing, container-condition information, and CSSStyleValue support in keyframes.
  • Other additions: Brotli compression, HTMLMediaElement.captureStream(), VisualViewport scroll-end events, and new resource-timing fields.
  • Potential compatibility changes: Stream write() and transform-controller enqueue() now require a chunk argument; several SVG geometry APIs use SVGPoint, SVGRect, and SVGMatrix instead of their DOM* counterparts.

Copilot AI balanced review requested due to automatic review settings October 2, 2026 18:03
@typescript-automation typescript-automation Bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Oct 2, 2026
@jakebailey

Copy link
Copy Markdown
Member Author

TypeScript Bot (@typescript-bot) test it

@typescript-automation

typescript-automation Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

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

Command Status Results
test top400 ✅ Started 👀 Results
user test this ✅ Started 👀 Results
run dt ✅ Started 👀 Results
perf test this faster ✅ Started 👀 Results

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

Review effort: Lite
Findings: None

What changed in this PR

Updates the bundled DOM/WebWorker lib definitions and corresponding compiler baselines to reflect newer Web platform APIs and type changes.

Changes:

  • Extends URL-like inputs to accept Location/WorkerLocation in relevant APIs (e.g., fetch, Request, URL, XMLHttpRequest.open).
  • Adds/updates typings for newer web features (e.g., Web Serial, Document Picture-in-Picture, WebTransport stats/streams, WebGPU constants/limits).
  • Refreshes .types baselines to match the updated lib surface area.
File Description
tsc/​testdata/​baselines/​reference/​conformance/​importMeta(module=esnext,target=esnext).types Baseline update reflecting broadened fetch/URL inputs (e.g., Location).
tsc/​testdata/​baselines/​reference/​conformance/​importMeta(module=es2020,target=esnext).types Same as above for ES2020 module baseline.
tsc/​testdata/​baselines/​reference/​conformance/​importMeta(module=commonjs,target=esnext).types Same as above for CommonJS baseline.
tsc/​testdata/​baselines/​reference/​conformance/​globalThisBlockscopedProperties.types Baseline update for newly added global types/values.
tsc/​testdata/​baselines/​reference/​compiler/​declarationEmitUsingAlternativeContainingModules2.types Baseline update reflecting broadened fetch input types.
tsc/​testdata/​baselines/​reference/​compiler/​declarationEmitUsingAlternativeContainingModules1.types Baseline update reflecting broadened fetch input types.
tsc/​internal/​bundled/​libs/​lib.webworker.d.ts Updates WebWorker lib with newer Web APIs and signature adjustments.
tsc/​internal/​bundled/​libs/​lib.dom.d.ts Updates DOM lib with newer Web APIs, overloads, and documentation text changes.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@typescript-automation

Copy link
Copy Markdown
Contributor

Jake Bailey (@jakebailey)
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - native
Errors 41 41 ~ ~ ~ p=1.000 n=12
Symbols 115,276 115,276 ~ ~ ~ p=1.000 n=12
Types 79,613 79,613 ~ ~ ~ p=1.000 n=12
Memory Used 141,425k (± 0.71%) 141,958k (± 0.66%) ~ 139,553k 144,153k p=0.443 n=12
Memory Allocs 2,194,814 (± 0.01%) 2,194,788 (± 0.00%) ~ 2,194,637 2,195,176 p=0.659 n=12
Config Time 0.000s 0.000s ~ ~ ~ p=1.000 n=12
Parse Time 0.040s (± 3.14%) 0.042s (± 4.17%) ~ 0.039s 0.048s p=0.080 n=12
Bind Time 0.012s (± 9.81%) 0.013s (±12.36%) ~ 0.010s 0.017s p=0.575 n=12
Check Time 0.496s (± 0.80%) 0.497s (± 0.56%) ~ 0.489s 0.504s p=0.432 n=12
Emit Time 0.267s (± 2.54%) 0.261s (± 2.00%) ~ 0.245s 0.276s p=0.123 n=12
Total Time 0.822s (± 0.93%) 0.819s (± 0.71%) ~ 0.805s 0.839s p=0.580 n=12
angular-1 - native
Errors 3 3 ~ ~ ~ p=1.000 n=12
Symbols 846,683 (± 0.10%) 850,802 (± 0.04%) +4,119 (+ 0.49%) 850,040 851,428 p=0.000 n=12
Types 249,940 (± 0.00%) 252,654 (± 0.00%) +2,714 (+ 1.09%) 252,649 252,665 p=0.000 n=12
Memory Used 789,779k (± 0.08%) 790,985k (± 0.09%) +1,206k (+ 0.15%) 789,408k 792,777k p=0.017 n=12
Memory Allocs 12,959,527 (± 0.10%) 12,972,380 (± 0.08%) ~ 12,964,336 13,014,879 p=0.052 n=12
Config Time 0.019s (± 1.48%) 0.019s (± 1.68%) ~ 0.019s 0.020s p=0.400 n=12
Parse Time 0.340s (± 2.83%) 0.344s (± 3.07%) ~ 0.315s 0.372s p=0.451 n=12
Bind Time 0.090s (±15.63%) 0.090s (±16.34%) ~ 0.073s 0.133s p=0.703 n=12
Check Time 0s 0s ~ ~ ~ p=1.000 n=12
Emit Time 1.963s (± 1.80%) 1.995s (± 1.22%) ~ 1.924s 2.060s p=0.224 n=12
Total Time 2.437s (± 1.88%) 2.472s (± 1.45%) ~ 2.382s 2.585s p=0.319 n=12
mui-docs - native
Errors 11,400 (± 0.05%) 11,401 (± 0.04%) ~ 11,379 11,405 p=0.736 n=12
Symbols 4,351,480 4,589,976 🔻+238,496 (+ 5.48%) ~ ~ p=0.000 n=12
Types 1,380,970 1,452,992 🔻+72,022 (+ 5.22%) ~ ~ p=0.000 n=12
Memory Used 2,975,183k (± 0.05%) 3,220,715k (± 0.05%) 🔻+245,531k (+ 8.25%) 3,215,449k 3,223,500k p=0.000 n=12
Memory Allocs 33,373,015 (± 0.04%) 34,908,406 (± 0.04%) 🔻+1,535,391 (+ 4.60%) 34,862,404 34,932,784 p=0.000 n=12
Config Time 0.015s 0.015s ~ ~ ~ p=1.000 n=12
Parse Time 0.585s (± 3.51%) 0.589s (± 2.23%) ~ 0.553s 0.627s p=0.766 n=12
Bind Time 0.002s 0.002s ~ ~ ~ p=1.000 n=12
Check Time 8.348s (± 0.92%) 8.775s (± 0.85%) 🔻+0.427s (+ 5.11%) 8.642s 8.908s p=0.000 n=12
Emit Time 0.519s (±10.64%) 0.486s (± 9.99%) ~ 0.435s 0.707s p=0.271 n=12
Total Time 10.256s (± 0.50%) 10.654s (± 0.47%) +0.398s (+ 3.89%) 10.543s 10.756s p=0.000 n=12
strada-build-src - native
Errors 0 0 ~ ~ ~ p=1.000 n=12
Symbols 1,390,229 1,390,229 ~ ~ ~ p=1.000 n=12
Types 441,498 441,498 ~ ~ ~ p=1.000 n=12
Memory Used 1,680,269k (± 0.78%) 1,670,722k (± 0.68%) ~ 1,651,213k 1,710,307k p=0.443 n=12
Memory Allocs 92,740,733 (± 0.09%) 92,580,071 (± 0.14%) ~ 92,270,222 92,906,395 p=0.078 n=12
Config Time 0.004s (±12.60%) 0.004s (±16.26%) ~ 0.002s 0.005s p=0.072 n=12
Parse Time 0.207s (± 2.59%) 0.205s (± 2.88%) ~ 0.192s 0.221s p=0.523 n=12
Bind Time 0.000s 0.001s (±217.90%) ~ 0.000s 0.008s p=1.000 n=12
Check Time 1.811s (± 0.62%) 1.816s (± 0.55%) ~ 1.784s 1.834s p=0.164 n=12
Emit Time 0.296s (± 4.78%) 0.313s (± 3.41%) ~ 0.284s 0.345s p=0.110 n=12
Total Time 23.418s (± 0.71%) 23.639s (± 0.60%) ~ 23.106s 23.943s p=0.089 n=12
strada-compiler - native
Errors 0 0 ~ ~ ~ p=1.000 n=12
Symbols 334,953 334,953 ~ ~ ~ p=1.000 n=12
Types 197,616 197,616 ~ ~ ~ p=1.000 n=12
Memory Used 313,250k (± 0.03%) 313,344k (± 0.09%) ~ 313,012k 314,644k p=0.943 n=12
Memory Allocs 4,628,424 (± 0.01%) 4,628,426 (± 0.01%) ~ 4,627,911 4,629,599 p=0.932 n=12
Config Time 0.000s (±92.91%) 0.000s (±217.90%) ~ 0.000s 0.001s p=0.317 n=12
Parse Time 0.092s (± 3.36%) 0.094s (± 4.47%) ~ 0.085s 0.104s p=0.371 n=12
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=12
Check Time 0.871s (± 0.52%) 0.871s (± 0.48%) ~ 0.862s 0.880s p=0.787 n=12
Emit Time 0.111s (±13.13%) 0.107s (±13.65%) ~ 0.079s 0.135s p=0.989 n=12
Total Time 1.117s (± 1.12%) 1.116s (± 1.00%) ~ 1.090s 1.147s p=0.660 n=12
ts-pre-modules - native
Errors 87 87 ~ ~ ~ p=1.000 n=12
Symbols 303,834 303,834 ~ ~ ~ p=1.000 n=12
Types 181,663 181,663 ~ ~ ~ p=1.000 n=12
Memory Used 273,955k (± 0.02%) 273,951k (± 0.01%) ~ 273,854k 274,027k p=0.977 n=12
Memory Allocs 1,618,599 (± 0.01%) 1,618,739 (± 0.01%) ~ 1,618,146 1,619,173 p=0.291 n=12
Config Time 0.000s 0.000s ~ ~ ~ p=1.000 n=12
Parse Time 0.100s (± 4.05%) 0.101s (± 3.63%) ~ 0.093s 0.112s p=0.680 n=12
Bind Time 0.038s (±10.73%) 0.037s (±12.15%) ~ 0.028s 0.054s p=0.787 n=12
Check Time 0.818s (± 0.79%) 0.817s (± 0.59%) ~ 0.807s 0.831s p=0.921 n=12
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=12
Total Time 0.969s (± 0.75%) 0.970s (± 0.98%) ~ 0.953s 1.004s p=0.579 n=12
vscode - native
Errors 382 435 🔻+53 (+13.87%) ~ ~ p=0.000 n=12
Symbols 10,476,112 10,477,323 +1,211 (+ 0.01%) ~ ~ p=0.000 n=12
Types 3,518,585 3,518,689 +104 (+ 0.00%) ~ ~ p=0.000 n=12
Memory Used 6,795,159k (± 0.02%) 6,795,948k (± 0.02%) ~ 6,793,012k 6,798,680k p=0.514 n=12
Memory Allocs 52,277,213 (± 0.02%) 52,296,779 (± 0.02%) +19,566 (+ 0.04%) 52,287,835 52,334,653 p=0.000 n=12
Config Time 0.068s (± 0.49%) 0.068s (± 0.49%) ~ 0.067s 0.068s p=1.000 n=12
Parse Time 1.921s (± 2.39%) 1.943s (± 2.42%) ~ 1.805s 2.047s p=0.469 n=12
Bind Time 0.468s (±13.25%) 0.448s (±10.17%) ~ 0.423s 0.678s p=0.352 n=12
Check Time 14.284s (± 1.28%) 14.342s (± 0.93%) ~ 13.713s 14.502s p=1.000 n=12
Emit Time 4.456s (±11.10%) 4.351s (± 8.25%) ~ 3.952s 5.856s p=0.418 n=12
Total Time 21.308s (± 1.64%) 21.262s (± 1.20%) ~ 20.938s 22.257s p=0.639 n=12
webpack - native
Errors 589 589 ~ ~ ~ p=1.000 n=12
Symbols 1,279,728 1,284,160 +4,432 (+ 0.35%) ~ ~ p=0.000 n=12
Types 593,907 599,525 +5,618 (+ 0.95%) ~ ~ p=0.000 n=12
Memory Used 974,613k (± 0.03%) 978,405k (± 0.02%) +3,793k (+ 0.39%) 977,857k 978,967k p=0.000 n=12
Memory Allocs 6,312,473 (± 0.02%) 6,340,777 (± 0.03%) +28,304 (+ 0.45%) 6,337,819 6,348,494 p=0.000 n=12
Config Time 0.009s 0.010s (± 5.91%) ~ 0.009s 0.011s p=0.093 n=12
Parse Time 0.291s (± 3.24%) 0.318s (± 1.39%) 🔻+0.027s (+ 9.10%) 0.306s 0.327s p=0.000 n=12
Bind Time 0.086s (±17.92%) 0.069s (± 1.91%) ~ 0.066s 0.073s p=0.271 n=12
Check Time 1.870s (± 0.75%) 2.217s (± 1.26%) 🔻+0.347s (+18.55%) 2.140s 2.287s p=0.000 n=12
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=12
Total Time 2.293s (± 0.59%) 2.648s (± 1.09%) 🔻+0.355s (+15.48%) 2.567s 2.715s p=0.000 n=12
xstate-main - native
Errors 0 0 ~ ~ ~ p=1.000 n=12
Symbols 1,039,538 1,037,909 -1,629 (- 0.16%) ~ ~ p=0.000 n=12
Types 381,735 380,312 -1,423 (- 0.37%) ~ ~ p=0.000 n=12
Memory Used 605,754k (± 0.02%) 601,703k (± 0.01%) -4,051k (- 0.67%) 601,561k 601,954k p=0.000 n=12
Memory Allocs 4,817,820 (± 0.05%) 4,805,395 (± 0.04%) -12,425 (- 0.26%) 4,799,642 4,811,696 p=0.000 n=12
Config Time 0.002s (±12.64%) 0.002s (±11.30%) ~ 0.002s 0.003s p=1.000 n=12
Parse Time 0.146s (± 3.07%) 0.148s (± 3.48%) ~ 0.135s 0.162s p=0.521 n=12
Bind Time 0.043s (±18.37%) 0.046s (±19.01%) ~ 0.032s 0.071s p=0.875 n=12
Check Time 1.008s (± 0.84%) 1.158s (± 0.85%) 🔻+0.150s (+14.85%) 1.140s 1.197s p=0.000 n=12
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=12
Total Time 1.209s (± 0.99%) 1.366s (± 0.61%) 🔻+0.157s (+12.99%) 1.345s 1.387s p=0.000 n=12
System info unknown
Hosts
  • native
Scenarios
  • Compiler-Unions - native
  • angular-1 - native
  • mui-docs - native
  • strada-build-src - native
  • strada-compiler - native
  • ts-pre-modules - native
  • vscode - native
  • webpack - native
  • xstate-main - native
Benchmark Name Iterations
Current pr 12
Baseline baseline 12

Developer Information:

Download Benchmarks

@typescript-automation

Copy link
Copy Markdown
Contributor

Jake Bailey (@jakebailey) Here are the results of running the user tests with tsc comparing baseline and pr:

Something interesting changed - please have a look.

Details

axios-src

tsconfig.json

lodash

/mnt/vss/work/1/s/ts_downloads//m/lodash/tsconfig.json

  • [MISSING] error TS2345: Argument of type '{ castArray: () => any[]; clone: (value: any) => any; cloneDeep: (value: any) => any; cloneDeepWith: (value: any, customizer?: Function | undefined) => any; cloneWith: (value: any, customizer?: Function | undefined) => any; ... 50 more ...; toString: ...; }' is not assignable to parameter of type 'string'.
    • /mnt/vss/work/1/s/ts_downloads//m/lodash/node_modules/lodash/fp/lang.js(2,26)

@typescript-automation

Copy link
Copy Markdown
Contributor

Hey Jake Bailey (@jakebailey), the results of running the DT tests are ready.

There were interesting changes:

Branch only errors:

Package: d3-fetch
Error:

Error: /mnt/vss/_work/1/s/DefinitelyTyped/types/d3-fetch/d3-fetch-tests.ts:47:35
TypeScript@local compile error TS2345:
Argument of type '{ width: number; height: number; crossOrigin: string; }' is not assignable to parameter of type 'Partial<HTMLImageElement>'.
Types of property 'crossOrigin' are incompatible.
Type 'string' is not assignable to type '"anonymous" | "use-credentials" | null | undefined'.
    at combineErrorsAndWarnings (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:204:28)
    at runTests (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:196:20)

Package: d3-fetch/v2
Error:

Error: /mnt/vss/_work/1/s/DefinitelyTyped/types/d3-fetch/v2/d3-fetch-tests.ts:47:35
TypeScript@local compile error TS2345:
Argument of type '{ width: number; height: number; crossOrigin: string; }' is not assignable to parameter of type 'Partial<HTMLImageElement>'.
Types of property 'crossOrigin' are incompatible.
Type 'string' is not assignable to type '"anonymous" | "use-credentials" | null | undefined'.
    at combineErrorsAndWarnings (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:204:28)
    at runTests (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:196:20)

Package: d3-fetch/v1
Error:

Error: /mnt/vss/_work/1/s/DefinitelyTyped/types/d3-fetch/v1/d3-fetch-tests.ts:47:35
TypeScript@local compile error TS2345:
Argument of type '{ width: number; height: number; crossOrigin: string; }' is not assignable to parameter of type 'Partial<HTMLImageElement>'.
Types of property 'crossOrigin' are incompatible.
Type 'string' is not assignable to type '"anonymous" | "use-credentials" | null | undefined'.
    at combineErrorsAndWarnings (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:204:28)
    at runTests (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:196:20)

Package: twine-sugarcube
Error:

Error: /mnt/vss/_work/1/s/DefinitelyTyped/types/twine-sugarcube/globals.d.ts:46:11
TypeScript@local compile error TS2451:
Cannot redeclare block-scoped variable 'Serial'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/twine-sugarcube/test/extensions.ts:107:8
TypeScript@local compile error TS2339:
Property 'createReviver' does not exist on type '{ new (): Serial; prototype: Serial; }'.
    at combineErrorsAndWarnings (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:204:28)
    at runTests (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:196:20)

Package: web-bluetooth
Error:

Error: /mnt/vss/_work/1/s/DefinitelyTyped/types/web-bluetooth/index.d.ts:1:6
TypeScript@local compile error TS2300:
Duplicate identifier 'BluetoothServiceUUID'.
    at combineErrorsAndWarnings (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:204:28)
    at runTests (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:196:20)

Package: dom-serial
Error:

Error: /mnt/vss/_work/1/s/DefinitelyTyped/types/dom-serial/index.d.ts:14:5
TypeScript@local compile error TS2687:
All declarations of 'usbVendorId' must have identical modifiers.

/mnt/vss/_work/1/s/DefinitelyTyped/types/dom-serial/index.d.ts:14:5
TypeScript@local compile error TS2717:
Subsequent property declarations must have the same type.  Property 'usbVendorId' must be of type 'number | undefined', but here has type 'number'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/dom-serial/index.d.ts:20:6
TypeScript@local compile error TS2300:
Duplicate identifier 'ParityType'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/dom-serial/index.d.ts:22:6
TypeScript@local compile error TS2300:
Duplicate identifier 'FlowControlType'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/dom-serial/index.d.ts:34:5
TypeScript@local compile error TS2717:
Subsequent property declarations must have the same type.  Property 'onconnect' must be of type '((this: SerialPort, ev: Event) => any) | null', but here has type 'EventHandler'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/dom-serial/index.d.ts:35:5
TypeScript@local compile error TS2717:
Subsequent property declarations must have the same type.  Property 'ondisconnect' must be of type '((this: SerialPort, ev: Event) => any) | null', but here has type 'EventHandler'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/dom-serial/index.d.ts:36:14
TypeScript@local compile error TS2717:
Subsequent property declarations must have the same type.  Property 'readable' must be of type 'ReadableStream<any> | null', but here has type 'ReadableStream<any>'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/dom-serial/index.d.ts:37:14
TypeScript@local compile error TS2717:
Subsequent property declarations must have the same type.  Property 'writable' must be of type 'WritableStream<any> | null', but here has type 'WritableStream<any>'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/dom-serial/index.d.ts:45:5
TypeScript@local compile error TS2687:
All declarations of 'filters' must have identical modifiers.

/mnt/vss/_work/1/s/DefinitelyTyped/types/dom-serial/index.d.ts:45:5
TypeScript@local compile error TS2717:
Subsequent property declarations must have the same type.  Property 'filters' must be of type 'SerialPortFilter[] | undefined', but here has type 'SerialPortFilter[]'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/dom-serial/dom-serial-tests.ts:28:5
TypeScript@local compile error TS18047:
'port.writable' is possibly 'null'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/dom-serial/dom-serial-tests.ts:29:5
TypeScript@local compile error TS18047:
'port.readable' is possibly 'null'.
    at combineErrorsAndWarnings (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:204:28)
    at runTests (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:196:20)

Package: w3c-web-serial
Error:

Error: /mnt/vss/_work/1/s/DefinitelyTyped/types/w3c-web-serial/index.d.ts:2:6
TypeScript@local compile error TS2300:
Duplicate identifier 'ParityType'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/w3c-web-serial/index.d.ts:5:6
TypeScript@local compile error TS2300:
Duplicate identifier 'FlowControlType'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/w3c-web-serial/index.d.ts:10:5
TypeScript@local compile error TS2717:
Subsequent property declarations must have the same type.  Property 'dataBits' must be of type 'number | undefined', but here has type '7 | 8 | undefined'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/w3c-web-serial/index.d.ts:11:5
TypeScript@local compile error TS2717:
Subsequent property declarations must have the same type.  Property 'stopBits' must be of type 'number | undefined', but here has type '1 | 2 | undefined'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/w3c-web-serial/index.d.ts:42:15
TypeScript@local compile error TS2300:
Duplicate identifier 'SerialPort'.

/mnt/vss/_work/1/s/DefinitelyTyped/types/w3c-web-serial/index.d.ts:98:15
TypeScript@local compile error TS2300:
Duplicate identifier 'Serial'.
    at combineErrorsAndWarnings (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:204:28)
    at runTests (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:196:20)

Package: dom-close-watcher
Error:

Error: /mnt/vss/_work/1/s/DefinitelyTyped/types/dom-close-watcher/index.d.ts:1:15
TypeScript@local compile error TS2300:
Duplicate identifier 'CloseWatcher'.
    at combineErrorsAndWarnings (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:204:28)
    at runTests (/mnt/vss/_work/1/s/DefinitelyTyped-tools/packages/dtslint/dist/index.js:196:20)

You can check the log here.

@jakebailey

Copy link
Copy Markdown
Member Author

The perf regressions seem to entirely be due to the checker affinity heuristic, where lib.d.dom's size increase pushes something over the edge. A shame, but requires some future tweaks.

@jakebailey

Copy link
Copy Markdown
Member Author

The other errors are of couse just "DOM has more decls" and so will require some typesVersions etc.

@typescript-automation

Copy link
Copy Markdown
Contributor

Jake Bailey (@jakebailey) Here are the results of running the top 400 repos with tsc comparing baseline and pr:

Something interesting changed - please have a look.

Details

alibaba/page-agent

1 of 8 projects failed to build with the old tsc and were ignored

tsconfig.typecheck.json

  • error TS2322: Type 'TestFetch' is not assignable to type '{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; }'.
  • error TS2322: Type 'Mock<{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; }>' is not assignable to type '{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; } | undefined'.

packages/llms/tsconfig.json

  • error TS2322: Type 'Mock<{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; }>' is not assignable to type '{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; } | undefined'.

packages/core/tsconfig.json

  • error TS2322: Type 'TestFetch' is not assignable to type '{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; }'.

different-ai/openwork

21 of 48 projects failed to build with the old tsc and were ignored

packages/headless-threads/tsconfig.json

  • error TS2322: Type '((input: URL | RequestInfo, init?: RequestInit | undefined) => Promise<Response>) & { preconnect: () => void; }' is not assignable to type 'typeof fetch | undefined'.

ee/apps/gateway/tsconfig.usage-limits-test.json

apps/server/tsconfig.json

DIYgod/RSSHub

tsconfig.json

  • error TS2322: Type '(input: Parameters<typeof fetch>[0], init?: Parameters<typeof fetch>[1]) => Promise<Response>' is not assignable to type '{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; }'.

immich-app/immich

6 of 10 projects failed to build with the old tsc and were ignored

e2e/tsconfig.json

  • error TS2322: Type '(input: string | Request | URL, init?: RequestInit | undefined) => Promise<Response>' is not assignable to type '{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; }'.

karakeep-app/karakeep

18 of 23 projects failed to build with the old tsc and were ignored

packages/shared/tsconfig.json

  • error TS2322: Type '(input: Parameters<typeof fetchImpl>[0], init?: Parameters<typeof fetchImpl>[1]) => ReturnType<typeof fetchImpl>' is not assignable to type '{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; }'.

nexu-io/open-design

24 of 52 projects failed to build with the old tsc and were ignored

apps/desktop/tsconfig.tests.json

  • error TS2322: Type 'Mock<{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; }>' is not assignable to type '{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; } | undefined'.
  • error TS2339: Property 'url' does not exist on type 'Location | Request'.

pingdotgg/t3code

packages/shared/tsconfig.json

  • error TS2345: Argument of type 'Mock<{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; }>' is not assignable to parameter of type '{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; }'.

packages/client-runtime/tsconfig.json

apps/mobile/tsconfig.json

  • error TS2345: Argument of type 'Mock<{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: RequestInfo, init?: RequestInit | undefined): Promise<...>; (input: string | ... 1 more ... | URL, init?: RequestInit | undefined): Promise<...>; }>' is not assignable to parameter of type '{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: RequestInfo, init?: RequestInit | undefined): Promise<...>; (input: string | ... 1 more ... | URL, init?: RequestInit | undefined): Promise<...>; }'.

TryGhost/Ghost

21 of 84 projects failed to build with the old tsc and were ignored

apps/admin-x-framework/tsconfig.json

vercel/ai

27 of 91 projects failed to build with the old tsc and were ignored

packages/typesafe-ai/tsconfig.build.json

packages/mcp/tsconfig.build.json

packages/harness-fx/tsconfig.build.json

packages/google/tsconfig.build.json

packages/gateway/tsconfig.build.json

packages/anthropic-aws/tsconfig.build.json

packages/amazon-bedrock/tsconfig.build.json

vercel/chatbot

tsconfig.json

  • error TS2322: Type '(input: URL | RequestInfo, init?: RequestInit | undefined) => Promise<Response>' is not assignable to type '{ (input: Location | URL | RequestInfo, init?: RequestInit | undefined): Promise<Response>; (input: string | Request | URL, init?: RequestInit | undefined): Promise<...>; }'.

@jakebailey

Copy link
Copy Markdown
Member Author

Unfortunately fetch accepting more stuff causes problems across the board, because people trying to emulate its signature do not understand it. Not sure what to do about that.

Kagami Sascha Rosylight (@saschanaz)

@saschanaz

Copy link
Copy Markdown
Contributor

Should we back it out and investigate the options?

@jakebailey

Copy link
Copy Markdown
Member Author

Yeah, I think that would be wise

@jakebailey
Jake Bailey (jakebailey) marked this pull request as draft October 3, 2026 03:03

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug

Projects

Status: Needs merge

Development

Successfully merging this pull request may close these issues.

4 participants