Skip to content

DOM update 2023-03-07 - #53133

Merged
Nathan Shively-Sanders (sandersn) merged 1 commit into
microsoft:mainfrom
sandersn:dom-update-2023-03-07
Mar 9, 2023
Merged

Nathan Shively-Sanders (sandersn) merged 1 commit into
microsoft:mainfrom
sandersn:dom-update-2023-03-07

Conversation

@sandersn

Copy link
Copy Markdown
Member

Adds many things that are now available in Safari, but were previously Chrome-only. Unlikely to break anybody except those using shim packages from DT, and I'll update those after merging this.

Since there is a lot of new stuff here, I wanted to get it into 5.1 as early as possible.

Adds many things that are now available in Safari, but were previously
Chrome-only. Unlikely to break anybody except those using shim packages
from DT, and I'll update those after merging this.
@sandersn

Copy link
Copy Markdown
Member Author

TypeScript Bot (@typescript-bot) run dt

@typescript-bot

TypeScript Bot (typescript-bot) commented Mar 7, 2023 •

Copy link
Copy Markdown
Contributor

Heya Nathan Shively-Sanders (@sandersn), I've started to run the parallelized Definitely Typed test suite on this PR at 29914d4. You can monitor the build here.

Update: The results are in!

@typescript-bot

Copy link
Copy Markdown
Contributor

Hey Nathan Shively-Sanders (@sandersn), the results of running the DT tests are ready.
There were interesting changes:

Branch only errors:

Package: dom-mediacapture-transform
Error:

Error: Errors in typescript@local for external dependencies:
../dom-webcodecs/webcodecs.generated.d.ts(132,5): error TS2687: All declarations of 'config' must have identical modifiers.
../dom-webcodecs/webcodecs.generated.d.ts(132,5): error TS2717: Subsequent property declarations must have the same type.  Property 'config' must be of type 'VideoDecoderConfig | undefined', but here has type 'VideoDecoderConfig'.
../dom-webcodecs/webcodecs.generated.d.ts(133,5): error TS2687: All declarations of 'supported' must have identical modifiers.
../dom-webcodecs/webcodecs.generated.d.ts(133,5): error TS2717: Subsequent property declarations must have the same type.  Property 'supported' must be of type 'boolean | undefined', but here has type 'boolean'.
../dom-webcodecs/webcodecs.generated.d.ts(153,5): error TS2717: Subsequent property declarations must have the same type.  Property 'keyFrame' must be of type 'boolean | undefined', but here has type 'boolean | null | undefined'.
../dom-webcodecs/webcodecs.generated.d.ts(162,5): error TS2687: All declarations of 'config' must have identical modifiers.
../dom-webcodecs/webcodecs.generated.d.ts(162,5): error TS2717: Subsequent property declarations must have the same type.  Property 'config' must be of type 'VideoEncoderConfig | undefined', but here has type 'VideoEncoderConfig'.
../dom-webcodecs/webcodecs.generated.d.ts(163,5): error TS2687: All declarations of 'supported' must have identical modifiers.
../dom-webcodecs/webcodecs.generated.d.ts(163,5): error TS2717: Subsequent property declarations must have the same type.  Property 'supported' must be of type 'boolean | undefined', but here has type 'boolean'.
../dom-webcodecs/webcodecs.generated.d.ts(369,14): error TS2717: Subsequent property declarations must have the same type.  Property 'timestamp' must be of type 'number', but here has type 'number | null'.
../dom-webcodecs/webcodecs.generated.d.ts(404,6): error TS2300: Duplicate identifier 'BitrateMode'.
../dom-webcodecs/webcodecs.generated.d.ts(406,6): error TS2300: Duplicate identifier 'AlphaOption'.
../dom-webcodecs/webcodecs.generated.d.ts(408,6): error TS2300: Duplicate identifier 'AvcBitstreamFormat'.
../dom-webcodecs/webcodecs.generated.d.ts(409,6): error TS2300: Duplicate identifier 'CodecState'.
../dom-webcodecs/webcodecs.generated.d.ts(411,6): error TS2300: Duplicate identifier 'EncodedVideoChunkType'.
../dom-webcodecs/webcodecs.generated.d.ts(413,6): error TS2300: Duplicate identifier 'LatencyMode'.
../dom-webcodecs/webcodecs.generated.d.ts(416,6): error TS2300: Duplicate identifier 'VideoPixelFormat'.
../../../../../../built/local/lib.dom.d.ts(2010,5): error TS2687: All declarations of 'config' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(2011,5): error TS2687: All declarations of 'supported' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(2040,5): error TS2687: All declarations of 'config' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(2041,5): error TS2687: All declarations of 'supported' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(19284,6): error TS2300: Duplicate identifier 'AlphaOption'.
../../../../../../built/local/lib.dom.d.ts(19295,6): error TS2300: Duplicate identifier 'AvcBitstreamFormat'.
../../../../../../built/local/lib.dom.d.ts(19298,6): error TS2300: Duplicate identifier 'BitrateMode'.
../../../../../../built/local/lib.dom.d.ts(19315,6): error TS2300: Duplicate identifier 'CodecState'.
../../../../../../built/local/lib.dom.d.ts(19327,6): error TS2300: Duplicate identifier 'EncodedVideoChunkType'.
../../../../../../built/local/lib.dom.d.ts(19354,6): error TS2300: Duplicate identifier 'LatencyMode'.
../../../../../../built/local/lib.dom.d.ts(19448,6): error TS2300: Duplicate identifier 'VideoPixelFormat'.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: dom-screen-wake-lock
Error:

Error: Errors in typescript@local for external dependencies:
../../../../../../built/local/lib.dom.d.ts(19450,6): error TS2300: Duplicate identifier 'WakeLockType'.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: w3c-css-typed-object-model-level-1
Error:

Error: Errors in typescript@local for external dependencies:
../../../../../../built/local/lib.dom.d.ts(23,1): error TS6200: Definitions of the following identifiers conflict with those in another file: CSSStyleValue, CSSVariableReferenceValue, CSSUnparsedSegment, CSSUnparsedValue, CSSKeywordValue, CSSNumericValue, CSSUnitValue, CSSMathValue, CSSMathSum, CSSMathProduct, CSSMathNegate, CSSMathInvert, CSSMathMin, CSSMathMax, CSSNumericArray, CSSTransformValue, CSSTransformComponent, CSSTranslate, CSSRotate, CSSScale, CSSSkew, CSSSkewX, CSSSkewY, CSSPerspective, CSSMatrixComponent, CSSImageValue, StylePropertyMapReadOnly, StylePropertyMap
../../../../../../built/local/lib.dom.d.ts(177,5): error TS2687: All declarations of 'is2D' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(181,5): error TS2687: All declarations of 'angle' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(182,5): error TS2687: All declarations of 'flex' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(183,5): error TS2687: All declarations of 'frequency' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(184,5): error TS2687: All declarations of 'length' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(185,5): error TS2687: All declarations of 'percent' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(186,5): error TS2687: All declarations of 'percentHint' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(187,5): error TS2687: All declarations of 'resolution' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(188,5): error TS2687: All declarations of 'time' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(19299,6): error TS2567: Enum declarations can only merge with namespace or other enum declarations.
../../../../../../built/local/lib.dom.d.ts(19300,6): error TS2567: Enum declarations can only merge with namespace or other enum declarations.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: dom-webcodecs
Error:

Error: Errors in typescript@local for external dependencies:
../../../../../../built/local/lib.dom.d.ts(2010,5): error TS2687: All declarations of 'config' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(2011,5): error TS2687: All declarations of 'supported' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(2040,5): error TS2687: All declarations of 'config' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(2041,5): error TS2687: All declarations of 'supported' must have identical modifiers.
../../../../../../built/local/lib.dom.d.ts(19284,6): error TS2300: Duplicate identifier 'AlphaOption'.
../../../../../../built/local/lib.dom.d.ts(19295,6): error TS2300: Duplicate identifier 'AvcBitstreamFormat'.
../../../../../../built/local/lib.dom.d.ts(19298,6): error TS2300: Duplicate identifier 'BitrateMode'.
../../../../../../built/local/lib.dom.d.ts(19315,6): error TS2300: Duplicate identifier 'CodecState'.
../../../../../../built/local/lib.dom.d.ts(19327,6): error TS2300: Duplicate identifier 'EncodedVideoChunkType'.
../../../../../../built/local/lib.dom.d.ts(19354,6): error TS2300: Duplicate identifier 'LatencyMode'.
../../../../../../built/local/lib.dom.d.ts(19448,6): error TS2300: Duplicate identifier 'VideoPixelFormat'.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: use-color-scheme
Error:

Error: /home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/use-color-scheme/use-color-scheme-tests.ts:8:1
ERROR: 8:1  expect  TypeScript@local expected type to be:
  "dark" | "light" | "no-preference"
got:
  "no-preference" | "dark" | "light"

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: dom-mediacapture-record
Error:

Error: Errors in typescript@local for external dependencies:
../../../../../../built/local/lib.dom.d.ts(19298,6): error TS2300: Duplicate identifier 'BitrateMode'.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: web-animations-js
Error:

Error: /home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/web-animations-js/index.d.ts:11:14
ERROR: 11:14  expect  TypeScript@local compile error: 
Subsequent property declarations must have the same type.  Property 'currentTime' must be of type 'CSSNumberish | null', but here has type 'number | null'.
ERROR: 12:14  expect  TypeScript@local compile error: 
Subsequent property declarations must have the same type.  Property 'timelineTime' must be of type 'CSSNumberish | null', but here has type 'number | null'.
ERROR: 23:5   expect  TypeScript@local compile error: 
Subsequent property declarations must have the same type.  Property 'currentTime' must be of type 'CSSNumberish | null | undefined', but here has type 'number | null | undefined'.
ERROR: 24:5   expect  TypeScript@local compile error: 
Subsequent property declarations must have the same type.  Property 'timelineTime' must be of type 'CSSNumberish | null | undefined', but here has type 'number | null | undefined'.
ERROR: 41:14  expect  TypeScript@local compile error: 
Subsequent property declarations must have the same type.  Property 'currentTime' must be of type 'CSSNumberish | null', but here has type 'number | null'.
ERROR: 73:5   expect  TypeScript@local compile error: 
Subsequent property declarations must have the same type.  Property 'currentTime' must be of type 'CSSNumberish | null', but here has type 'number | null'.
ERROR: 79:5   expect  TypeScript@local compile error: 
Subsequent property declarations must have the same type.  Property 'startTime' must be of type 'CSSNumberish | null', but here has type 'number | null'.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

Package: webappsec-credential-management
Error:

Error: /home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/DefinitelyTyped/types/webappsec-credential-management/index.d.ts:309:5
ERROR: 309:5  expect  TypeScript@local compile error: 
Subsequent property declarations must have the same type.  Property 'mediation' must be of type 'CredentialMediationRequirement | undefined', but here has type '"required" | "optional" | "silent" | undefined'.

    at testTypesVersion (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:194:15)
    at async runTests (/home/vsts/work/1/s/DefinitelyTyped-tools/packages/dtslint-runner/node_modules/@definitelytyped/dtslint/dist/index.js:151:9)

You can check the log here.

@sandersn

Copy link
Copy Markdown
Member Author

Looks like the shims that are broken are:

  • dom-screen-wake-lock
  • w3c-css-typed-object-model-level-1
  • dom-webcodecs
  • dom-mediacapture-record
  • web-animations-js
  • webappsec-credential-management

Plus an $ExpectType in use-color-scheme's tests changes order because a type alias to a union of strings changes order.

@DanielRosenwasser

Copy link
Copy Markdown
Member

@sandersn

Copy link
Copy Markdown
Member Author

Since this is additive-only, I doubt there will be any unexpected breaks. I think it's more effective to estimate the size of the break by looking at number of downloads per month for the packages:

  • dom-screen-wake-lock: 36,825
  • w3c-css-typed-object-model-level-1: 6,090
  • dom-webcodecs: 410,281
  • dom-mediacapture-record: 295,838
  • web-animations-js: 30,075
  • webappsec-credential-management: 506,854

Anybody that upgrades to 5.1 will also need to update these packages. That's a lot of downloads put all together.

TypeScript Bot (@typescript-bot) test this
TypeScript Bot (@typescript-bot) test top100
TypeScript Bot (@typescript-bot) user test this
TypeScript Bot (@typescript-bot) perf test this

(I predict that we'll be disappointed with the perf results, since adding this much code is a visible drag on performance.)

@typescript-bot

TypeScript Bot (typescript-bot) commented Mar 9, 2023 •

Copy link
Copy Markdown
Contributor

Heya Nathan Shively-Sanders (@sandersn), I've started to run the perf test suite on this PR at 29914d4. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Mar 9, 2023 •

Copy link
Copy Markdown
Contributor

Heya Nathan Shively-Sanders (@sandersn), I've started to run the diff-based top-repos suite on this PR at 29914d4. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Mar 9, 2023 •

Copy link
Copy Markdown
Contributor

Heya Nathan Shively-Sanders (@sandersn), I've started to run the diff-based user code test suite on this PR at 29914d4. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Mar 9, 2023 •

Copy link
Copy Markdown
Contributor

Heya Nathan Shively-Sanders (@sandersn), I've started to run the extended test suite on this PR at 29914d4. You can monitor the build here.

@typescript-bot

Copy link
Copy Markdown
Contributor

Nathan Shively-Sanders (@sandersn) Here are the results of running the user test suite comparing main and refs/pull/53133/merge:

Something interesting changed - please have a look.

Details

puppeteer

packages/puppeteer-core/tsconfig.json

@jakebailey

This comment was marked as outdated.

@typescript-bot

This comment was marked as outdated.

@sandersn

Copy link
Copy Markdown
Member Author

user test suite failures: puppeteer has a ts-expect-error where they wanted to use a Chrome-only feature that is now available in Safari.

@jakebailey

This comment was marked as outdated.

@typescript-bot

This comment was marked as outdated.

@typescript-bot

Copy link
Copy Markdown
Contributor

Nathan Shively-Sanders (@sandersn)
The results of the perf run you requested are in!

Here they are:

Compiler

Comparison Report - main..53133
Metric main 53133 Delta Best Worst p-value
Angular - node (v18.10.0, x64)
Memory used 362,608k (± 0.01%) 363,446k (± 0.01%) +838k (+ 0.23%) 363,414k 363,470k p=0.005 n=6
Parse Time 3.39s (± 1.03%) 3.37s (± 0.86%) ~ 3.32s 3.39s p=0.280 n=6
Bind Time 1.13s (± 0.79%) 1.13s (± 0.56%) ~ 1.12s 1.14s p=1.000 n=6
Check Time 8.71s (± 0.70%) 8.68s (± 0.48%) ~ 8.62s 8.72s p=0.468 n=6
Emit Time 7.52s (± 0.96%) 7.46s (± 0.57%) ~ 7.41s 7.50s p=0.064 n=6
Total Time 20.76s (± 0.74%) 20.64s (± 0.35%) ~ 20.54s 20.73s p=0.170 n=6
Compiler-Unions - node (v18.10.0, x64)
Memory used 190,936k (± 0.01%) 192,893k (± 1.53%) +1,957k (+ 1.02%) 190,949k 196,783k p=0.031 n=6
Parse Time 1.50s (± 0.69%) 1.50s (± 0.36%) ~ 1.50s 1.51s p=0.138 n=6
Bind Time 0.77s (± 0.97%) 0.77s (± 0.67%) ~ 0.77s 0.78s p=0.784 n=6
Check Time 9.38s (± 0.78%) 9.41s (± 0.74%) ~ 9.31s 9.49s p=0.573 n=6
Emit Time 2.72s (± 1.22%) 2.72s (± 0.78%) ~ 2.69s 2.75s p=0.936 n=6
Total Time 14.38s (± 0.37%) 14.41s (± 0.60%) ~ 14.28s 14.51s p=0.423 n=6
Monaco - node (v18.10.0, x64)
Memory used 347,460k (± 0.01%) 347,436k (± 0.01%) ~ 347,384k 347,472k p=0.298 n=6
Parse Time 2.58s (± 1.09%) 2.59s (± 0.38%) ~ 2.58s 2.60s p=0.511 n=6
Bind Time 1.01s (± 0.63%) 1.01s (± 0.63%) ~ 1.00s 1.02s p=1.000 n=6
Check Time 7.08s (± 0.46%) 7.04s (± 0.64%) ~ 6.96s 7.09s p=0.126 n=6
Emit Time 4.25s (± 0.75%) 4.24s (± 0.97%) ~ 4.19s 4.28s p=0.629 n=6
Total Time 14.92s (± 0.52%) 14.88s (± 0.42%) ~ 14.78s 14.94s p=0.568 n=6
TFS - node (v18.10.0, x64)
Memory used 300,767k (± 0.01%) 300,789k (± 0.01%) ~ 300,770k 300,810k p=0.093 n=6
Parse Time 2.06s (± 1.09%) 2.06s (± 1.59%) ~ 2.00s 2.09s p=1.000 n=6
Bind Time 1.14s (± 0.66%) 1.14s (± 0.71%) ~ 1.13s 1.15s p=0.729 n=6
Check Time 6.54s (± 0.25%) 6.55s (± 0.44%) ~ 6.52s 6.59s p=0.685 n=6
Emit Time 3.88s (± 0.78%) 3.88s (± 1.01%) ~ 3.82s 3.91s p=0.872 n=6
Total Time 13.62s (± 0.46%) 13.63s (± 0.58%) ~ 13.49s 13.70s p=0.688 n=6
material-ui - node (v18.10.0, x64)
Memory used 477,551k (± 0.02%) 478,387k (± 0.00%) +836k (+ 0.18%) 478,356k 478,409k p=0.005 n=6
Parse Time 2.97s (± 2.01%) 2.98s (± 2.71%) ~ 2.91s 3.08s p=1.000 n=6
Bind Time 1.01s (± 8.06%) 1.00s (± 7.97%) ~ 0.90s 1.08s p=0.517 n=6
Check Time 17.22s (± 0.98%) 17.04s (± 0.48%) ~ 16.92s 17.16s p=0.065 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 21.21s (± 0.81%) 21.02s (± 0.40%) ~ 20.88s 21.13s p=0.065 n=6
xstate - node (v18.10.0, x64)
Memory used 550,416k (± 0.03%) 553,233k (± 0.03%) +2,817k (+ 0.51%) 553,006k 553,362k p=0.005 n=6
Parse Time 3.79s (± 0.73%) 3.77s (± 0.51%) ~ 3.74s 3.79s p=0.295 n=6
Bind Time 1.69s (± 0.71%) 1.68s (± 0.45%) ~ 1.67s 1.69s p=0.111 n=6
Check Time 2.79s (± 0.63%) 2.76s (± 0.53%) -0.03s (- 1.13%) 2.75s 2.78s p=0.018 n=6
Emit Time 0.08s (± 0.00%) 0.08s (± 0.00%) ~ 0.08s 0.08s p=1.000 n=6
Total Time 8.36s (± 0.44%) 8.30s (± 0.37%) -0.06s (- 0.74%) 8.27s 8.35s p=0.020 n=6
Angular - node (v16.17.1, x64)
Memory used 361,934k (± 0.01%) 362,816k (± 0.01%) +882k (+ 0.24%) 362,783k 362,857k p=0.005 n=6
Parse Time 3.52s (± 0.34%) 3.52s (± 0.70%) ~ 3.49s 3.56s p=0.684 n=6
Bind Time 1.19s (± 0.69%) 1.18s (± 0.54%) ~ 1.17s 1.19s p=0.177 n=6
Check Time 9.49s (± 0.39%) 9.42s (± 0.48%) -0.07s (- 0.75%) 9.38s 9.50s p=0.030 n=6
Emit Time 7.91s (± 0.30%) 7.91s (± 0.36%) ~ 7.87s 7.95s p=0.808 n=6
Total Time 22.12s (± 0.12%) 22.03s (± 0.31%) -0.08s (- 0.38%) 21.94s 22.13s p=0.036 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 194,284k (± 0.87%) 193,798k (± 0.85%) ~ 192,622k 196,046k p=0.378 n=6
Parse Time 1.58s (± 1.01%) 1.57s (± 1.04%) ~ 1.55s 1.59s p=0.616 n=6
Bind Time 0.82s (± 0.92%) 0.82s (± 0.92%) ~ 0.81s 0.83s p=0.487 n=6
Check Time 10.14s (± 0.41%) 10.11s (± 0.91%) ~ 10.01s 10.24s p=0.378 n=6
Emit Time 2.99s (± 1.03%) 3.04s (± 4.17%) ~ 2.96s 3.29s p=1.000 n=6
Total Time 15.53s (± 0.26%) 15.54s (± 0.79%) ~ 15.40s 15.71s p=1.000 n=6
Monaco - node (v16.17.1, x64)
Memory used 346,681k (± 0.00%) 346,692k (± 0.00%) ~ 346,671k 346,715k p=0.199 n=6
Parse Time 2.73s (± 0.38%) 2.72s (± 0.43%) ~ 2.71s 2.74s p=0.117 n=6
Bind Time 1.09s (± 0.47%) 1.09s (± 0.47%) ~ 1.09s 1.10s p=1.000 n=6
Check Time 7.74s (± 0.34%) 7.75s (± 0.35%) ~ 7.71s 7.79s p=0.628 n=6
Emit Time 4.45s (± 0.70%) 4.47s (± 0.24%) ~ 4.45s 4.48s p=0.188 n=6
Total Time 16.02s (± 0.20%) 16.04s (± 0.25%) ~ 15.99s 16.10s p=0.570 n=6
TFS - node (v16.17.1, x64)
Memory used 300,133k (± 0.01%) 300,139k (± 0.01%) ~ 300,110k 300,186k p=0.936 n=6
Parse Time 2.17s (± 0.63%) 2.17s (± 0.63%) ~ 2.16s 2.20s p=0.933 n=6
Bind Time 1.24s (± 1.14%) 1.24s (± 1.74%) ~ 1.22s 1.28s p=0.870 n=6
Check Time 7.19s (± 0.33%) 7.20s (± 0.41%) ~ 7.15s 7.24s p=0.809 n=6
Emit Time 4.35s (± 0.84%) 4.33s (± 0.65%) ~ 4.31s 4.39s p=0.195 n=6
Total Time 14.96s (± 0.32%) 14.95s (± 0.25%) ~ 14.90s 14.99s p=0.627 n=6
material-ui - node (v16.17.1, x64)
Memory used 476,810k (± 0.01%) 477,712k (± 0.01%) +903k (+ 0.19%) 477,604k 477,762k p=0.005 n=6
Parse Time 3.20s (± 1.36%) 3.23s (± 0.66%) ~ 3.21s 3.26s p=0.220 n=6
Bind Time 0.97s (± 1.65%) 0.95s (± 0.79%) -0.02s (- 2.06%) 0.94s 0.96s p=0.015 n=6
Check Time 18.21s (± 1.61%) 18.10s (± 0.55%) ~ 18.03s 18.30s p=0.936 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.39s (± 1.37%) 22.28s (± 0.53%) ~ 22.22s 22.52s p=0.936 n=6
xstate - node (v16.17.1, x64)
Memory used 547,961k (± 0.01%) 550,662k (± 0.01%) +2,702k (+ 0.49%) 550,566k 550,744k p=0.005 n=6
Parse Time 3.95s (± 0.51%) 3.95s (± 0.19%) ~ 3.94s 3.96s p=0.935 n=6
Bind Time 1.79s (± 0.47%) 1.79s (± 0.55%) ~ 1.78s 1.81s p=0.396 n=6
Check Time 3.00s (± 0.60%) 2.99s (± 0.47%) ~ 2.97s 3.01s p=0.370 n=6
Emit Time 0.09s (± 0.00%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=1.000 n=6
Total Time 8.83s (± 0.46%) 8.83s (± 0.30%) ~ 8.80s 8.87s p=1.000 n=6
Angular - node (v14.15.1, x64)
Memory used 355,748k (± 0.00%) 356,647k (± 0.00%) +899k (+ 0.25%) 356,626k 356,671k p=0.005 n=6
Parse Time 3.60s (± 0.69%) 3.58s (± 0.60%) ~ 3.56s 3.62s p=0.188 n=6
Bind Time 1.23s (± 0.42%) 1.24s (± 0.42%) +0.01s (+ 0.82%) 1.23s 1.24s p=0.018 n=6
Check Time 9.79s (± 0.22%) 9.76s (± 0.36%) ~ 9.69s 9.79s p=0.089 n=6
Emit Time 8.37s (± 0.52%) 8.33s (± 0.58%) ~ 8.28s 8.40s p=0.293 n=6
Total Time 22.98s (± 0.26%) 22.91s (± 0.26%) ~ 22.82s 22.98s p=0.077 n=6
Compiler-Unions - node (v14.15.1, x64)
Memory used 187,937k (± 0.02%) 187,946k (± 0.02%) ~ 187,879k 187,967k p=0.470 n=6
Parse Time 1.61s (± 0.39%) 1.60s (± 0.39%) -0.01s (- 0.62%) 1.59s 1.61s p=0.031 n=6
Bind Time 0.85s (± 0.48%) 0.85s (± 0.96%) ~ 0.84s 0.86s p=0.584 n=6
Check Time 10.21s (± 0.21%) 10.19s (± 0.47%) ~ 10.14s 10.25s p=0.572 n=6
Emit Time 3.13s (± 0.79%) 3.12s (± 0.72%) ~ 3.09s 3.15s p=0.373 n=6
Total Time 15.79s (± 0.15%) 15.76s (± 0.36%) ~ 15.69s 15.85s p=0.148 n=6
Monaco - node (v14.15.1, x64)
Memory used 341,702k (± 0.01%) 341,695k (± 0.00%) ~ 341,686k 341,709k p=0.336 n=6
Parse Time 2.84s (± 0.65%) 2.84s (± 0.81%) ~ 2.81s 2.88s p=1.000 n=6
Bind Time 1.10s (± 0.68%) 1.10s (± 0.68%) ~ 1.09s 1.11s p=1.000 n=6
Check Time 8.12s (± 0.68%) 8.13s (± 0.39%) ~ 8.07s 8.15s p=0.332 n=6
Emit Time 4.71s (± 0.94%) 4.67s (± 0.86%) ~ 4.63s 4.73s p=0.170 n=6
Total Time 16.78s (± 0.50%) 16.75s (± 0.48%) ~ 16.66s 16.87s p=0.520 n=6
TFS - node (v14.15.1, x64)
Memory used 295,226k (± 0.00%) 295,235k (± 0.00%) ~ 295,227k 295,240k p=0.295 n=6
Parse Time 2.41s (± 1.41%) 2.38s (± 0.57%) ~ 2.36s 2.40s p=0.462 n=6
Bind Time 1.07s (± 0.59%) 1.07s (± 0.76%) ~ 1.06s 1.08s p=0.432 n=6
Check Time 7.49s (± 0.40%) 7.50s (± 0.52%) ~ 7.46s 7.54s p=0.466 n=6
Emit Time 4.29s (± 0.64%) 4.29s (± 0.61%) ~ 4.26s 4.32s p=1.000 n=6
Total Time 15.26s (± 0.42%) 15.25s (± 0.30%) ~ 15.18s 15.29s p=0.808 n=6
material-ui - node (v14.15.1, x64)
Memory used 472,427k (± 0.01%) 473,284k (± 0.00%) +858k (+ 0.18%) 473,266k 473,306k p=0.005 n=6
Parse Time 3.35s (± 0.51%) 3.35s (± 0.88%) ~ 3.32s 3.40s p=0.507 n=6
Bind Time 1.00s (± 0.41%) 1.01s (± 0.51%) ~ 1.00s 1.01s p=0.112 n=6
Check Time 19.10s (± 0.80%) 19.13s (± 0.56%) ~ 19.03s 19.25s p=1.000 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 23.46s (± 0.67%) 23.49s (± 0.50%) ~ 23.38s 23.65s p=0.810 n=6
xstate - node (v14.15.1, x64)
Memory used 536,721k (± 0.00%) 539,287k (± 0.00%) +2,566k (+ 0.48%) 539,260k 539,322k p=0.005 n=6
Parse Time 4.24s (± 1.11%) 4.17s (± 1.98%) ~ 4.10s 4.29s p=0.172 n=6
Bind Time 1.69s (± 2.23%) 1.73s (± 1.89%) ~ 1.68s 1.75s p=0.112 n=6
Check Time 3.19s (± 0.76%) 3.16s (± 0.74%) ~ 3.13s 3.19s p=0.106 n=6
Emit Time 0.09s (± 0.00%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=1.000 n=6
Total Time 9.21s (± 0.23%) 9.14s (± 0.66%) ~ 9.07s 9.22s p=0.054 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 53133 6
Baseline main 6

TSServer

Comparison Report - main..53133
Metric main 53133 Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,390ms (± 0.67%) 2,383ms (± 0.58%) ~ 2,367ms 2,406ms p=0.296 n=6
Req 2 - geterr 5,366ms (± 0.35%) 5,350ms (± 1.11%) ~ 5,285ms 5,446ms p=0.572 n=6
Req 3 - references 336ms (± 0.64%) 337ms (± 0.51%) ~ 335ms 339ms p=0.366 n=6
Req 4 - navto 280ms (± 0.73%) 281ms (± 0.42%) ~ 280ms 283ms p=0.677 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 81ms (± 2.63%) 83ms (± 5.11%) ~ 77ms 90ms p=0.677 n=6
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,514ms (± 1.38%) 2,514ms (± 0.81%) ~ 2,485ms 2,536ms p=0.748 n=6
Req 2 - geterr 4,006ms (± 0.82%) 4,006ms (± 0.85%) ~ 3,975ms 4,050ms p=1.000 n=6
Req 3 - references 350ms (± 1.72%) 350ms (± 1.90%) ~ 341ms 357ms p=0.687 n=6
Req 4 - navto 293ms (± 0.90%) 292ms (± 0.29%) ~ 290ms 292ms p=0.114 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 78ms (±12.38%) 78ms (± 7.76%) ~ 70ms 86ms p=0.872 n=6
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,041ms (± 0.98%) 3,055ms (± 0.50%) ~ 3,030ms 3,070ms p=0.575 n=6
Req 2 - geterr 1,593ms (± 1.27%) 1,605ms (± 1.13%) ~ 1,584ms 1,631ms p=0.471 n=6
Req 3 - references 106ms (± 1.95%) 110ms (± 2.49%) +4ms (+ 3.79%) 108ms 115ms p=0.016 n=6
Req 4 - navto 359ms (± 0.72%) 359ms (± 0.21%) ~ 358ms 360ms p=0.683 n=6
Req 5 - completionInfo count 3,136 (± 0.00%) 3,177 (± 0.00%) +41 (+ 1.31%) 3,177 3,177 p=0.001 n=6
Req 5 - completionInfo 423ms (± 0.98%) 422ms (± 1.03%) ~ 415ms 427ms p=0.747 n=6
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,515ms (± 0.80%) 2,511ms (± 0.67%) ~ 2,485ms 2,532ms p=0.687 n=6
Req 2 - geterr 5,741ms (± 0.47%) 5,765ms (± 0.59%) ~ 5,716ms 5,797ms p=0.230 n=6
Req 3 - references 347ms (± 0.54%) 348ms (± 0.62%) ~ 345ms 350ms p=0.512 n=6
Req 4 - navto 278ms (± 0.96%) 279ms (± 1.31%) ~ 275ms 286ms p=0.935 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 73ms (± 0.70%) 74ms (± 1.58%) ~ 73ms 76ms p=0.523 n=6
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,699ms (± 0.71%) 2,682ms (± 0.72%) ~ 2,661ms 2,714ms p=0.230 n=6
Req 2 - geterr 4,365ms (± 0.49%) 4,379ms (± 0.35%) ~ 4,359ms 4,404ms p=0.423 n=6
Req 3 - references 358ms (± 0.58%) 362ms (± 1.62%) ~ 357ms 370ms p=0.193 n=6
Req 4 - navto 290ms (± 0.89%) 290ms (± 0.36%) ~ 289ms 292ms p=0.934 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 75ms (± 5.05%) 77ms (± 3.76%) ~ 74ms 81ms p=0.418 n=6
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,178ms (± 0.64%) 3,213ms (± 0.66%) +35ms (+ 1.09%) 3,190ms 3,252ms p=0.031 n=6
Req 2 - geterr 1,745ms (± 1.12%) 1,744ms (± 0.57%) ~ 1,733ms 1,756ms p=0.936 n=6
Req 3 - references 115ms (± 1.35%) 118ms (± 1.02%) +3ms (+ 2.90%) 117ms 120ms p=0.007 n=6
Req 4 - navto 344ms (± 0.66%) 345ms (± 0.32%) ~ 343ms 346ms p=0.219 n=6
Req 5 - completionInfo count 3,136 (± 0.00%) 3,177 (± 0.00%) +41 (+ 1.31%) 3,177 3,177 p=0.001 n=6
Req 5 - completionInfo 434ms (± 1.21%) 431ms (± 1.41%) ~ 422ms 438ms p=0.517 n=6
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,593ms (± 0.77%) 2,597ms (± 0.39%) ~ 2,579ms 2,607ms p=0.810 n=6
Req 2 - geterr 6,134ms (± 0.52%) 6,142ms (± 0.44%) ~ 6,112ms 6,181ms p=0.936 n=6
Req 3 - references 367ms (± 0.90%) 363ms (± 0.50%) -4ms (- 1.00%) 361ms 366ms p=0.043 n=6
Req 4 - navto 278ms (± 0.55%) 283ms (± 1.26%) +5ms (+ 1.80%) 277ms 287ms p=0.029 n=6
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) ~ 1,356 1,356 p=1.000 n=6
Req 5 - completionInfo 102ms (± 1.19%) 96ms (± 6.14%) ~ 89ms 103ms p=0.104 n=6
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,816ms (± 0.39%) 2,814ms (± 0.55%) ~ 2,800ms 2,837ms p=0.810 n=6
Req 2 - geterr 4,625ms (± 2.64%) 4,598ms (± 2.68%) ~ 4,425ms 4,686ms p=0.230 n=6
Req 3 - references 392ms (± 7.55%) 390ms (± 7.86%) ~ 367ms 431ms p=0.375 n=6
Req 4 - navto 291ms (± 0.67%) 290ms (± 0.72%) ~ 286ms 291ms p=0.191 n=6
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) ~ 1,518 1,518 p=1.000 n=6
Req 5 - completionInfo 86ms (± 8.41%) 88ms (±11.06%) ~ 81ms 100ms p=1.000 n=6
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,506ms (± 0.64%) 3,518ms (± 0.48%) ~ 3,489ms 3,532ms p=0.471 n=6
Req 2 - geterr 1,859ms (± 0.44%) 1,858ms (± 0.79%) ~ 1,829ms 1,870ms p=1.000 n=6
Req 3 - references 125ms (± 1.18%) 125ms (± 0.51%) ~ 124ms 126ms p=0.737 n=6
Req 4 - navto 374ms (± 0.47%) 368ms (± 0.36%) -7ms (- 1.74%) 366ms 370ms p=0.004 n=6
Req 5 - completionInfo count 3,136 (± 0.00%) 3,177 (± 0.00%) +41 (+ 1.31%) 3,177 3,177 p=0.001 n=6
Req 5 - completionInfo 452ms (± 1.11%) 450ms (± 1.35%) ~ 443ms 457ms p=0.810 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 53133 6
Baseline main 6

Startup

Comparison Report - main..53133
Metric main 53133 Delta Best Worst p-value
tsc-startup - node (v16.17.1, x64)
Execution time 141.42ms (± 0.22%) 141.90ms (± 0.23%) +0.48ms (+ 0.34%) 140.96ms 144.98ms p=0.000 n=600
tsserver-startup - node (v16.17.1, x64)
Execution time 226.79ms (± 0.33%) 227.23ms (± 0.21%) +0.43ms (+ 0.19%) 225.98ms 232.81ms p=0.000 n=600
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 229.76ms (± 0.34%) 229.31ms (± 0.24%) -0.44ms (- 0.19%) 227.96ms 235.25ms p=0.000 n=600
typescript-startup - node (v16.17.1, x64)
Execution time 210.64ms (± 0.33%) 210.25ms (± 0.28%) -0.38ms (- 0.18%) 208.81ms 219.24ms p=0.000 n=600
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
Benchmark Name Iterations
Current 53133 6
Baseline main 6

Developer Information:

Download Benchmark

@sandersn

Copy link
Copy Markdown
Member Author

xstate check time gets 1% better on a change that should not affect checking at all.

@jakebailey

Copy link
Copy Markdown
Member

Random noise is still possible, I'm afraid :(

TypeScript Bot (@typescript-bot) test this

@typescript-bot

This comment was marked as outdated.

@jakebailey

Copy link
Copy Markdown
Member

TypeScript Bot (@typescript-bot) test this

@typescript-bot

TypeScript Bot (typescript-bot) commented Mar 9, 2023 •

Copy link
Copy Markdown
Contributor

Heya Jake Bailey (@jakebailey), I've started to run the extended test suite on this PR at 29914d4. You can monitor the build here.

@typescript-bot

Copy link
Copy Markdown
Contributor

Nathan Shively-Sanders (@sandersn) Here are the results of running the top-repos suite comparing main and refs/pull/53133/merge:

Everything looks good!

@jakebailey

Copy link
Copy Markdown
Member

TypeScript Bot (@typescript-bot) test this

@typescript-bot

TypeScript Bot (typescript-bot) commented Mar 9, 2023 •

Copy link
Copy Markdown
Contributor

Heya Jake Bailey (@jakebailey), I've started to run the extended test suite on this PR at 29914d4. You can monitor the build here.

@sandersn

Copy link
Copy Markdown
Member Author

RWC tests are fine -- no new failures, just some messages about missing even more properties.

@sandersn
Nathan Shively-Sanders (sandersn) merged commit bb566f9 into microsoft:main Mar 9, 2023
@sandersn
Nathan Shively-Sanders (sandersn) deleted the dom-update-2023-03-07 branch March 9, 2023 19:01
@sandersn

Copy link
Copy Markdown
Member Author

Kagami Sascha Rosylight (@saschanaz) Thanks so much for your work in making these types available to Typescript.

@saschanaz

Copy link
Copy Markdown
Contributor

Yay, and also thanks to the people who maintain the data in BCD! Queen Vinyl Da.i'gyu-Kazotetsu (@queengooborg) Sam Sneddon (@gsnedders)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants