Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Type Inference for Regular Expressions #60249

Open
wants to merge 31 commits into
base: main
Choose a base branch
from

Conversation

graphemecluster
Copy link
Contributor

@graphemecluster graphemecluster commented Oct 17, 2024

This PR adds type inference support to regular expressions for accurate and fine type checking.

For example, the type of the following regex:

const pathRegex = /^(?<dir>(?<root>[\\/])?.*?)[\\/]*?(?<base>(?<stem>[^\\/]+)(?:\.(?<ext>[jt]sx|[cm]?[jt]s)))(?<!\.(?<dts>d\.[cm]?ts))$/s;

is inferred as (prettified manually):

RegExp<
    /*CapturingGroups*/ [
        `${string}.jsx` | `${string}.tsx` | `${string}.js` | `${string}.ts` | `${string}.cjs` | `${string}.cts` | `${string}.mjs` | `${string}.mts`,
        string,
        "\\" | "/" | undefined,
        `${string}.jsx` | `${string}.tsx` | `${string}.js` | `${string}.ts` | `${string}.cjs` | `${string}.cts` | `${string}.mjs` | `${string}.mts`,
        string,
        "jsx" | "tsx" | "js" | "ts" | "cjs" | "cts" | "mjs" | "mts",
        "d.ts" | "d.cts" | "d.mts" | undefined, // Can only ever be `undefined`, strings aren't excluded intentionally for clarity 
    ],
    /*NamedCapturingGroups*/ {
        root: "\\" | "/" | undefined;
        dir: string;
        stem: string;
        ext: "jsx" | "tsx" | "js" | "ts" | "cjs" | "cts" | "mjs" | "mts";
        base: `${string}.jsx` | `${string}.tsx` | `${string}.js` | `${string}.ts` | `${string}.cjs` | `${string}.cts` | `${string}.mjs` | `${string}.mts`;
        dts: "d.ts" | "d.cts" | "d.mts" | undefined;
    },
    /*Flags*/ {
        hasIndices: false;
        global: false;
        ignoreCase: false;
        multiline: false;
        dotAll: true;
        unicode: false;
        unicodeSets: false;
        sticky: false;
    }
>

To back this, RegExp is made a generic type and library typings related to it are largely modified. It now automatically takes care of which type does String#match return, RegExpExecArray<CapturingGroups, NamedCapturingGroups, Flags> or RegExpMatchArray<CapturingGroups>:

"/path/to/file.ts".match(pathRegex);
// RegExpExecArray</*CapturingGroups*/ [ ... ], /*NamedCapturingGroups*/ { ... }, /*Flags*/ { ... }> | null

If you try to access a nonexistent group, an error is now emitted:

    "/path/to/file.ts".match(pathRegex)!.groups.basename;
                                                ~~~~~~~~
!!! error TS2339: Property 'basename' does not exist on type '{ root: "\\" | "/" | undefined; dir: string; stem: string; ext: "jsx" | "tsx" | "js" | "ts" | "cjs" | "cts" | "mjs" | "mts"; base: `${string}.jsx` | `${string}.tsx` | `${string}.js` | `${string}.ts` | `${string}.cjs` | `${string}.cts` | `${string}.mjs` | `${string}.mts`; dts: "d.ts" | "d.cts" | "d.mts" | undefined; }'.

On the contrary, error TS2532: Object is possibly 'undefined'. is not emitted on the groups property since there are named capturing groups in pathRegex.

When the global flag is set on a regex, RegExpMatchArray is inferred instead:

const globalPathRegex = /`(?<dir>(?<root>[\\/])?.*?)[\\/]*?(?<base>(?<stem>[^\\/]+)(?:\.(?<ext>[jt]sx|[cm]?[jt]s)))(?<!\.(?<dts>d\.[cm]?ts))`/gs;
"`/path/to/foo.ts` or `/path/to/bar.tsx`".match(dateTimeRegex);
//     RegExpMatchArray</*CapturingGroups*/ [ ... ]> | null
// === [CapturingGroups[0], ...CapturingGroups[0][]] | null

If you try to call matchAll with pathRegex, an error occurs (partially truncated):

    "/path/to/file.ts".matchAll(pathRegex);
                                ~~~~~~~~~
!!! error TS2345: Argument of type 'RegExp<[ ... ], { ... }, { global: false; ... }>' is not assignable to parameter of type 'string | RegExp<[ ... ], { ... }, Partial<RegExpFlags> & { readonly global: true; }>'.
!!! error TS2345:   Type 'RegExp<[ ... ], { ... }, { global: false; ... }>' is not assignable to type 'RegExp<[ ... ], { ... }, Partial<RegExpFlags> & { readonly global: true; }>'.
!!! error TS2345:     Type 'RegExp<[ ... ], { ... }, { global: false; ... }>' is not assignable to type '{ readonly global: true; ... }'.
!!! error TS2345:       Types of property 'global' are incompatible.
!!! error TS2345:         Type 'false' is not assignable to type 'true'.

This is desired as JS throws a TypeError when the argument provided is a non-global regex.

Regarding the `ignoreCase` (i) flag

If the ignoreCase flag is set on the regex, all of the combinations of uppercase and lowercase characters will be computed if the cross product isn't too large. For example, the type of

const extRegex = /(?<!^|[\\/])\.(?:[jt]sx|[cm]?[jt]s)(?<!\.d\.[cm]?ts)$/i;

is inferred as (prettified manually):

RegExp<
    [
        | ".jsx" | ".jsX" | ".jSx" | ".jSX" | ".Jsx" | ".JsX" | ".JSx" | ".JSX"
        | ".tsx" | ".tsX" | ".tSx" | ".tSX" | ".Tsx" | ".TsX" | ".TSx" | ".TSX"
        | ".js" | ".jS" | ".Js" | ".JS"
        | ".ts" | ".tS" | ".Ts" | ".TS"
        | ".cjs" | ".cjS" | ".cJs" | ".cJS" | ".Cjs" | ".CjS" | ".CJs" | ".CJS"
        | ".cts" | ".ctS" | ".cTs" | ".cTS" | ".Cts" | ".CtS" | ".CTs" | ".CTS"
        | ".mjs" | ".mjS" | ".mJs" | ".mJS" | ".Mjs" | ".MjS" | ".MJs" | ".MJS"
        | ".mts" | ".mtS" | ".mTs" | ".mTS" | ".Mts" | ".MtS" | ".MTs" | ".MTS"
    ],
    undefined,
    {
        hasIndices: false;
        global: false;
        ignoreCase: true;
        multiline: false;
        dotAll: false;
        unicode: false;
        unicodeSets: false;
        sticky: false;
    }
>

This PR can be considered the follow up of #55600.

Implementation

This implementation is tailored for TypeScript. It doesn't create any additional syntactic nodes at all. Instead, it feeds strings into RegularExpressionPatterns (actually arrays) and RegularExpressionPatternUnion (actually Sets) 1 (temporarily named, to be bikeshedded) during scanning in scanRegularExpressionWorker, stores them by capturing groups and passes them to checkRegularExpressionLiteral in the checker.

I could have moved the whole scanRegularExpressionWorker to the checker, but I chose to keep it in the scanner for easier reviewing and because scanEscapeSequence is referenced in the worker function and moving it out creates duplicate code.

This is probably not the intended code structure, however I don't think I am the right person to alter the codebase structure largely, which is one of the reason why I keep the changes minimal. (It's still a significant number of lines though)

This PR is a breaking change. In the worst case, a new flag in tsconfig.json might be necessary if it's really too breaky.

There are currently a few tricky workaround that doesn’t seem acceptable in the TypeScript codebase. For example, some overloads in es5.d.ts are redeclared in es2015.symbol.wellknown.d.ts for them to be prioritized. Nevertheless, things do behave as intended. Besides, there are some underscore types in es5.d.ts due to #2225 – although they can be eliminated by modularizing the file just like what we have done in esnext.iterator.d.ts, I chose not to do so for the time being to await for feedback from the TS team.

In addition, I have only undertaken a limited number of memory and performance optimizations given my lack of experience in this area. I am therefore seeking assistance from the TS team in this regard.

Blockers

Besides #2225 mentioned above, #51751 and #45972 are also blockers of this PR.
Due to #51751, CapturingGroupsArray can't be typed [string, ...(string | undefined)[]], which causes capturingGroups_0: string to be missing before capturingGroups: (string | undefined)[] in the type of StringReplaceCallbackSignature (with default type parameters).
Edit: The workaround to #2225 actually avoided the need to type CapturingGroupsArray as { 0: string; } & (string | undefined)[].
#45972 causes assignability issues between existing functions and StringReplaceCallbackSignature with default type parameters, which happens when RegExp is constructed from other sources, e.g. by its constructor with a string.

Fixes

(Is it necessary to separate it out to another PR?)

  • Emit errors on \k in character classes when hasNamedCapturingGroups is true

Known issues

  • \k<foo> is inferred as the empty string instead of "foo" in /((?<foo>foo))\k<foo>/
  • TS1515 is not emitted in /((?<foo>))(?<foo>)/ (essentially the same issue as the above)

Unhandled cases & other known issues

They are probably unfixable or are only fixable with high performance and memory cost.

  • If every alternatives in a disjunction have groups with the same name, the named capturing group must not be undefined
  • /(foo)?bar\1/ is inferred as RegExp<["bar" | "barfoo" | "foobar" | "foobarfoo"], ...>, but in reality "barfoo" and "foobar" never match
  • new RegExp(/a/, "i") and new RegExp(/a/i, "") does not cause a rescan and alter the type inference between "a" and "a" | "A"
    Type-safe workaround (Proof-of-concept)
  • "abc" is not ruled out in /[\q{abc}--\q{abc}]/i (which should be inferred as RegExp<[never], ...>) but is ruled out in /[\q{abc}&&\q{abc}]/i (See scanClassSetSubExpression)
  • ignoreCase flag modification (e.g. /(a)(?i:\1)/ and /(a)(?-i:\1)/i) does not alter the type of backreferences (between "a" and "a" | "A")

TODOs

I am not sure if I could accomplish them by myself due to my limit time and knowledge, it's the best if readers/the TypeScript Team could help!

  • Defer type inference
  • Widen type in certain contexts, e.g. const regexes = [dateTimeRegex];

Points to bikeshed

  • The names of all variables

  • The maximum cross product size for template literals (currently 10,000; for non-RegExp it's currently 100,000)

  • How accurate should the lib be typed, e.g. should the following be included for RegExp constructors?

    interface RegExpFlagNameToFlag {
        hasIndices: "d";
        global: "g";
        ignoreCase: "i";
        multiline: "m";
        dotAll: "s";
        unicode: "u";
        unicodeSets: "v";
        sticky: "y";
    }
    
    type RegExpFlagsStringToFlags<T extends string> = {
        [Name in keyof RegExpFlagNameToFlag]: string extends T ? boolean : T extends `${string}${RegExpFlagNameToFlag[Name]}${string}` ? true : false;
    };

Fixes #32098
Closes #50452

Footnotes

  1. I didn't name it RegularExpressionDisjunction or RegularExpressionAlternatives as it's also used as a container for character classes.

@typescript-bot typescript-bot added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Oct 17, 2024
@typescript-bot
Copy link
Collaborator

The TypeScript team hasn't accepted the linked issue #50452. If you can get it accepted, this PR will have a better chance of being reviewed.

1 similar comment
@typescript-bot
Copy link
Collaborator

The TypeScript team hasn't accepted the linked issue #50452. If you can get it accepted, this PR will have a better chance of being reviewed.

@graphemecluster
Copy link
Contributor Author

OMG it worked great on macOS but one of the new test case file I wrote hit the time constraints on Ubuntu and Windows
Lemme study on how can computation of derived properties be optimized further after I return from my trip.

@RyanCavanaugh RyanCavanaugh marked this pull request as draft November 7, 2024 23:43
@typescript-bot
Copy link
Collaborator

Looks like you're introducing a change to the public API surface area. If this includes breaking changes, please document them on our wiki's API Breaking Changes page.

Also, please make sure @DanielRosenwasser and @RyanCavanaugh are aware of the changes, just as a heads up.

… since the performance issue is not able to be fixed for now.
@graphemecluster
Copy link
Contributor Author

After fixing the self check, I got a lot of "Type 'RegExp' is not generic" during the build step.

@graphemecluster
Copy link
Contributor Author

No, I forgot that this doesn't affect the builder

@graphemecluster
Copy link
Contributor Author

OK, so all the checks are fixed and have passed, and it signifies the PR is now ready for review. Thank you everyone for the long wait and I apologise I did not mark the PR as draft initially.

@graphemecluster graphemecluster marked this pull request as ready for review November 10, 2024 20:10
@jakebailey
Copy link
Member

I'll run tests on this but I highly suspect this will be super bad for breaks and perf

@typescript-bot test it

@typescript-bot
Copy link
Collaborator

typescript-bot commented Nov 11, 2024

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

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the user tests with tsc comparing main and refs/pull/60249/merge:

Something interesting changed - please have a look.

Details

content-disposition

/mnt/ts_downloads/_/m/content-disposition/tsconfig.json

  • [NEW] error TS2322: Type 'RegExpExecArray<[`;${string}=${string}`, string, string], undefined, { hasIndices: false; global: true; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null' is not assignable to type 'RegExpExecArray<[string, string], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null'.
    • /mnt/ts_downloads/_/m/content-disposition/node_modules/content-disposition/index.js(340,11)

effect

packages/effect/benchmark/tsconfig.json

  • [NEW] error TS2322: Type '(string | undefined)[]' is not assignable to type '(string | number)[]'.
  • [NEW] error TS2322: Type 'Option<NonNullable<RegExpExecArray<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | RegExpMatchArray<...> | null>>' is not assignable to type 'Option<RegExpMatchArray<CapturingGroupsArray>>'.
  • [NEW] error TS2322: Type 'RegExpStringIterator<RegExpExecArray<CapturingGroupsArray, NamedCapturingGroupsObject, Partial<RegExpFlags> & { readonly global: true; }>>' is not assignable to type 'IterableIterator<RegExpMatchArray<CapturingGroupsArray>>'.
  • [NEW] error TS2345: Argument of type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>' is not assignable to parameter of type 'string | RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, Partial<RegExpFlags> & { readonly global: true; }>'.
  • [NEW] error TS2339: Property 'reduce' does not exist on type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | readonly RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>[]'.
  • [NEW] error TS7006: Parameter 'input' implicitly has an 'any' type.
  • [NEW] error TS7006: Parameter 're' implicitly has an 'any' type.

tsconfig.json

tsconfig.build.json

tsconfig.base.json

packages/effect/dtslint/tsconfig.json

lodash

/mnt/ts_downloads/_/m/lodash/tsconfig.json

  • [NEW] error TS2322: Type 'undefined' is not assignable to type 'string | RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>'.
    • /mnt/ts_downloads/_/m/lodash/node_modules/lodash/split.js(33,5)
  • [NEW] error TS2769: No overload matches this call.
    • /mnt/ts_downloads/_/m/lodash/node_modules/lodash/template.js(195,32)
  • [NEW] error TS2345: Argument of type 'string | number | undefined' is not assignable to parameter of type 'number | undefined'.
    • /mnt/ts_downloads/_/m/lodash/node_modules/lodash/template.js(199,35)
  • [NEW] error TS18048: 'offset' is possibly 'undefined'.
    • /mnt/ts_downloads/_/m/lodash/node_modules/lodash/template.js(213,13)
  • [NEW] error TS2365: Operator '+' cannot be applied to types 'string | number' and 'number'.
    • /mnt/ts_downloads/_/m/lodash/node_modules/lodash/template.js(213,13)
  • [MISSING] error TS2322: Type 'undefined' is not assignable to type 'string | RegExp'.
    • /mnt/ts_downloads/_/m/lodash/node_modules/lodash/split.js(33,5)

minimatch

/mnt/ts_downloads/_/m/minimatch/tsconfig.json

  • [NEW] error TS2339: Property '_glob' does not exist on type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>'.
    • /mnt/ts_downloads/_/m/minimatch/node_modules/minimatch/minimatch.js(657,10)
  • [NEW] error TS2339: Property '_src' does not exist on type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>'.
    • /mnt/ts_downloads/_/m/minimatch/node_modules/minimatch/minimatch.js(658,10)
  • [MISSING] error TS2339: Property '_glob' does not exist on type 'RegExp'.
    • /mnt/ts_downloads/_/m/minimatch/node_modules/minimatch/minimatch.js(657,10)
  • [MISSING] error TS2339: Property '_src' does not exist on type 'RegExp'.
    • /mnt/ts_downloads/_/m/minimatch/node_modules/minimatch/minimatch.js(658,10)

pyright

/mnt/ts_downloads/_/m/pyright/build.sh

  • [NEW] error TS2769: No overload matches this call.
    • /mnt/ts_downloads/_/m/pyright/pyright: ../pyright-internal/src/common/pathUtils.ts(528,73)
    • /mnt/ts_downloads/_/m/pyright/pyright: ../pyright-internal/src/common/uri/uriUtils.ts(233,73)
    • /mnt/ts_downloads/_/m/pyright/pyright-internal: src/common/pathUtils.ts(528,73)
    • /mnt/ts_downloads/_/m/pyright/pyright-internal: src/common/uri/uriUtils.ts(233,73)
    • /mnt/ts_downloads/_/m/pyright/vscode-pyright: ../pyright-internal/src/common/pathUtils.ts(528,73)
    • /mnt/ts_downloads/_/m/pyright/vscode-pyright: ../pyright-internal/src/common/uri/uriUtils.ts(233,73)
  • [NEW] error TS2345: Argument of type 'RegExpExecArray<[`${string}type:${string}ignore${string}`, string, "" | "#", string, string | undefined], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }>' is not assignable to parameter of type 'RegExpMatchArray<CapturingGroupsArray>'.
    • /mnt/ts_downloads/_/m/pyright/pyright: ../pyright-internal/src/parser/tokenizer.ts(1304,74)
    • /mnt/ts_downloads/_/m/pyright/pyright-internal: src/parser/tokenizer.ts(1304,74)
    • /mnt/ts_downloads/_/m/pyright/vscode-pyright: ../pyright-internal/src/parser/tokenizer.ts(1304,74)
  • [NEW] error TS2345: Argument of type 'RegExpExecArray<[`${string}pyright:${string}ignore${string}`, string, "" | "#", string, string | undefined], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }>' is not assignable to parameter of type 'RegExpMatchArray<CapturingGroupsArray>'.
    • /mnt/ts_downloads/_/m/pyright/pyright: ../pyright-internal/src/parser/tokenizer.ts(1323,74)
    • /mnt/ts_downloads/_/m/pyright/pyright-internal: src/parser/tokenizer.ts(1323,74)
    • /mnt/ts_downloads/_/m/pyright/vscode-pyright: ../pyright-internal/src/parser/tokenizer.ts(1323,74)

uglify-js

/mnt/ts_downloads/_/m/uglify-js/tsconfig.json

  • [NEW] error TS2345: Argument of type 'any[]' is not assignable to parameter of type '[pattern: string | RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>, flags?: string | undefined]'.
    • /mnt/ts_downloads/_/m/uglify-js/node_modules/uglify-js/lib/compress.js(10802,53)
  • [NEW] error TS2322: Type 'RegExpExecArray<[`data:application/json;base64,${string}` | `data:application/json;${string};base64,${string}`, `;${string}` | undefined, string], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null' is not assignable to type 'RegExpExecArray<[`# ${string}=${string}`, string, string], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null'.
    • /mnt/ts_downloads/_/m/uglify-js/node_modules/uglify-js/lib/minify.js(31,13)
  • [NEW] error TS2339: Property 'raw_source' does not exist on type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>'.
    • /mnt/ts_downloads/_/m/uglify-js/node_modules/uglify-js/lib/parse.js(523,20)
  • [MISSING] error TS2345: Argument of type 'any[]' is not assignable to parameter of type '[pattern: string | RegExp, flags?: string | undefined]'.
    • /mnt/ts_downloads/_/m/uglify-js/node_modules/uglify-js/lib/compress.js(10802,53)
  • [MISSING] error TS2339: Property 'raw_source' does not exist on type 'RegExp'.
    • /mnt/ts_downloads/_/m/uglify-js/node_modules/uglify-js/lib/parse.js(523,20)

webpack

tsconfig.types.json

tsconfig.json

xterm.js

src/tsconfig-library-base.json

@typescript-bot
Copy link
Collaborator

Hey @jakebailey, the results of running the DT tests are ready.

There were interesting changes:

Branch only errors:

Package: dotfile-regex
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/dotfile-regex/dotfile-regex-tests.ts
  4:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: markdownlint-rule-helpers
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/markdownlint-rule-helpers/markdownlint-rule-helpers-tests.ts
   7:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  10:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  13:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  16:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  19:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  22:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  25:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  28:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  31:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  34:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 10 problems (10 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: node/v16
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/node/v16/test/util_types.ts
  90:5  error  TypeScript@local tsconfig.dom.json, local tsconfig.non-dom.json expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: file-loader
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/file-loader/file-loader-tests.ts
  30:1  error  TypeScript@local expected type to be:
  { regExp: RegExp; }
got:
  { regExp: RegExp<["regex"], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }>; }  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: hexo-util
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/hexo-util/hexo-util-tests.ts
  237:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  249:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: regenerate
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/regenerate/test/regenerate.cjs.test.ts
  16:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

/mnt/vss/_work/1/DefinitelyTyped/types/regenerate/test/regenerate.umd.test.ts
  16:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: snowflake-regex
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/snowflake-regex/snowflake-regex-tests.ts
   7:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
   8:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
   9:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  10:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  11:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  12:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 6 problems (6 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: ember__utils/v3
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/ember__utils/v3/ember__utils-tests.ts
  66:5  error  TypeScript@local expected type to be:
  "regexp"
got:
  "object"  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: node/v18
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/node/v18/test/util_types.ts
  89:5  error  TypeScript@local tsconfig.dom.json, local tsconfig.non-dom.json expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: node/v20
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/node/v20/test/util_types.ts
  89:5  error  TypeScript@local tsconfig.dom.json, local tsconfig.non-dom.json expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: node
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/node/test/util_types.ts
  89:5  error  TypeScript@local tsconfig.dom.json, local tsconfig.non-dom.json, local tsconfig.webworker.json expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: badwords
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/badwords/badwords-tests.ts
  16:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: camelize
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/camelize/camelize-tests.ts
  37:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<["foo"], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }>  @definitelytyped/expect
  40:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<["foo"], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }>  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: dirname-regex
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/dirname-regex/dirname-regex-tests.ts
  3:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: es6-shim
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/es6-shim/es6-shim-tests.ts
  80:7  error  TypeScript@local compile error: 
Property 'flags' does not exist on type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>'  @definitelytyped/expect

/mnt/vss/_work/1/DefinitelyTyped/types/es6-shim/index.d.ts
  325:11  error  TypeScript@local compile error: 
Duplicate identifier 'RegExp'  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: lapo__asn1js
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/lapo__asn1js/lapo__asn1js-tests.ts
  32:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: k6
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/k6/k6-tests.ts
  144:53  error  TypeScript@local compile error: 
Argument of type '{ name: string; pass: string; form_build_id: string | undefined; form_id: string; op: string; }' is not assignable to parameter of type 'RequestBody | null | undefined'.
  Type '{ name: string; pass: string; form_build_id: string | undefined; form_id: string; op: string; }' is not assignable to type 'StructuredRequestBody'.
    Property 'form_build_id' is incompatible with index signature.
      Type 'string | undefined' is not assignable to type 'string | FileData'.
        Type 'undefined' is not assignable to type 'string | FileData'  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: koa__router
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/koa__router/koa__router-tests.ts
  235:1  error  TypeScript@local expected type to be:
  string | RegExp
got:
  string | RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: react-mentions
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/react-mentions/react-mentions-tests.tsx
  173:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  298:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: amazon-cognito-auth-js
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/amazon-cognito-auth-js/test/amazon-cognito-auth-js-tests.ts
  177:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  178:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  179:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 3 problems (3 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: get-intrinsic
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/get-intrinsic/get-intrinsic-tests.ts
  166:5  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                          @definitelytyped/expect
  167:5  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                          @definitelytyped/expect
  381:5  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                          @definitelytyped/expect
  382:5  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                          @definitelytyped/expect
  596:5  error  TypeScript@local expected type to be:
  RegExp | undefined
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | undefined  @definitelytyped/expect
  597:5  error  TypeScript@local expected type to be:
  RegExp | undefined
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | undefined  @definitelytyped/expect
  811:5  error  TypeScript@local expected type to be:
  RegExp | undefined
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | undefined  @definitelytyped/expect
  812:5  error  TypeScript@local expected type to be:
  RegExp | undefined
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | undefined  @definitelytyped/expect

✖ 8 problems (8 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: hashtag-regex
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/hashtag-regex/hashtag-regex-tests.ts
  3:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: hookrouter
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/hookrouter/hookrouter-tests.ts
  62:1  error  TypeScript@local expected type to be:
  [RegExp, string[]]
got:
  [RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>, string[]]  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: hubot-slack
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/hubot-slack/hubot-slack-tests.ts
  49:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: path-regex
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/path-regex/path-regex-tests.ts
  3:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: dotdir-regex
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/dotdir-regex/dotdir-regex-tests.ts
  4:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: hubot
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/hubot/hubot-tests.ts
  45:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: re-template-tag
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/re-template-tag/re-template-tag-tests.ts
  3:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  4:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: to-regex
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/to-regex/to-regex-tests.ts
   4:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
   7:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  10:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  13:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  23:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  26:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 6 problems (6 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: sanitize-html
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/sanitize-html/sanitize-html-tests.ts
  61:1  error  TypeScript@local expected type to be:
  { [index: string]: boolean | (string | RegExp)[]; } | undefined
got:
  { [index: string]: boolean | (string | RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>)[]; } | undefined  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: time-limited-regular-expressions
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/time-limited-regular-expressions/time-limited-regular-expressions-tests.ts
  13:1  error  TypeScript@local expected type to be:
  Promise<RegExpMatchArray | null>
got:
  Promise<RegExpMatchArray<CapturingGroupsArray> | null>  @definitelytyped/expect
  14:1  error  TypeScript@local expected type to be:
  Promise<RegExpMatchArray | null>
got:
  Promise<RegExpMatchArray<CapturingGroupsArray> | null>  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: axon
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/axon/axon-tests.ts
  146:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  149:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: hex-color-regex
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/hex-color-regex/hex-color-regex-tests.ts
  3:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  4:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: package-name-regex
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/package-name-regex/package-name-regex-tests.ts
  4:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: doi-regex
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/doi-regex/doi-regex-tests.ts
   4:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                                  @definitelytyped/expect
   7:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                                  @definitelytyped/expect
  10:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                                  @definitelytyped/expect
  13:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                                  @definitelytyped/expect
  16:1  error  TypeScript@local expected type to be:
  RegExpExecArray | null
got:
  RegExpExecArray<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | null  @definitelytyped/expect
  19:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                                  @definitelytyped/expect
  22:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                                  @definitelytyped/expect

✖ 7 problems (7 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: filename-reserved-regex
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/filename-reserved-regex/filename-reserved-regex-tests.ts
  3:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  4:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: package-json-validator
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/package-json-validator/package-json-validator-tests.ts
   4:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
   6:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
   8:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  10:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 4 problems (4 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: string.prototype.matchall
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/string.prototype.matchall/string.prototype.matchall-tests.ts
   7:1   error  TypeScript@local expected type to be:
  IterableIterator<RegExpExecArray>
got:
  IterableIterator<RegExpExecArray<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               @definitelytyped/expect
   8:1   error  TypeScript@local expected type to be:
  IterableIterator<RegExpExecArray>
got:
  IterableIterator<RegExpExecArray<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               @definitelytyped/expect
   9:1   error  TypeScript@local expected type to be:
  IterableIterator<RegExpExecArray>
got:
  IterableIterator<RegExpExecArray<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               @definitelytyped/expect
  11:1   error  TypeScript@local expected type to be:
  IterableIterator<RegExpExecArray> || RegExpStringIterator<RegExpExecArray>
got:
  RegExpStringIterator<RegExpExecArray<["a" | "c"], undefined, { hasIndices: false; global: true; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }>>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            @definitelytyped/expect
  12:1   error  TypeScript@local expected type to be:
  IterableIterator<RegExpExecArray> || RegExpStringIterator<RegExpExecArray>
got:
  RegExpStringIterator<RegExpExecArray<CapturingGroupsArray, NamedCapturingGroupsObject, Partial<RegExpFlags> & { readonly global: true; }>>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            @definitelytyped/expect
  12:14  error  TypeScript@local compile error: 
Argument of type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>' is not assignable to parameter of type 'string | RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, Partial<RegExpFlags> & { readonly global: true; }>'.
  Type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>' is not assignable to type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, Partial<RegExpFlags> & { readonly global: true; }>'.
    Type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>' is not assignable to type '{ readonly global: true; readonly ignoreCase: boolean; readonly multiline: boolean; readonly sticky: boolean; readonly unicode: boolean; readonly dotAll: boolean; }'.
      Types of property 'global' are incompatible.
        Type 'boolean' is not assignable to type 'true'  @definitelytyped/expect

✖ 6 problems (6 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: eslint-utils
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/eslint-utils/test/pattern-matcher.ts
  9:1  error  TypeScript@local expected type to be:
  IterableIterator<RegExpExecArray>
got:
  IterableIterator<RegExpExecArray<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: github-url-from-git
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/github-url-from-git/github-url-from-git-tests.ts
  5:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  6:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: is-regex
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/is-regex/is-regex-tests.ts
  6:5  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: oojs-ui
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/oojs-ui/oojs-ui-tests.ts
  3620:5  error  TypeScript@local expected type to be:
  Record<string, RegExp>
got:
  Record<string, RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: postman-collection
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/postman-collection/postman-collection-tests.ts
  707:1  error  TypeScript@local expected type to be:
  { protocols: string[]; host: string; path: RegExp; } | undefined
got:
  { protocols: string[]; host: string; path: RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>; } | undefined  @definitelytyped/expect
  709:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                                                                                                                      @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: twitter_cldr
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/twitter_cldr/twitter_cldr-tests.ts
  54:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  75:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: underscore
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/underscore/underscore-tests.ts
  3463:5  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: es-abstract
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/es-abstract/test/GetIntrinsic.test.ts
  149:5  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                          @definitelytyped/expect
  150:5  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                          @definitelytyped/expect
  358:5  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                          @definitelytyped/expect
  359:5  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>                          @definitelytyped/expect
  567:5  error  TypeScript@local expected type to be:
  RegExp | undefined
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | undefined  @definitelytyped/expect
  568:5  error  TypeScript@local expected type to be:
  RegExp | undefined
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | undefined  @definitelytyped/expect
  776:5  error  TypeScript@local expected type to be:
  RegExp | undefined
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | undefined  @definitelytyped/expect
  777:5  error  TypeScript@local expected type to be:
  RegExp | undefined
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | undefined  @definitelytyped/expect

✖ 8 problems (8 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: named-regexp-groups
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/named-regexp-groups/index.d.ts
  1:11  error  TypeScript@local compile error: 
Interface 'NamedRegExpExecArray' incorrectly extends interface '[string, ...(string | undefined)[]] & _RegExpExecArray<CapturingGroupsArray, NamedCapturingGroupsObject>'.
  Type 'NamedRegExpExecArray' is not assignable to type '[string, ...(string | undefined)[]]'  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: unc-path-regex
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/unc-path-regex/unc-path-regex-tests.ts
  3:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: regex-not
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/regex-not/regex-not-tests.ts
   6:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
   7:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
   8:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
   9:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  10:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect
  11:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 6 problems (6 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: riot-route
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/riot-route/riot-route-tests.ts
  73:25  error  TypeScript@local compile error: 
Argument of type '(path: string, filter: string) => (string | undefined)[] | undefined' is not assignable to parameter of type '(path: string, filter: string) => string[] | undefined'.
  Type '(string | undefined)[] | undefined' is not assignable to type 'string[] | undefined'.
    Type '(string | undefined)[]' is not assignable to type 'string[]'.
      Type 'string | undefined' is not assignable to type 'string'.
        Type 'undefined' is not assignable to type 'string'  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: string-replace-loader
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/string-replace-loader/string-replace-loader-tests.ts
  12:1  error  TypeScript@local expected type to be:
  string | RegExp
got:
  string | RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: uswds__uswds
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/uswds__uswds/uswds__uswds-tests.ts
  106:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: restify/v4
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/restify/v4/restify-tests.ts
  290:5  error  TypeScript@local expected type to be:
  string | RegExp
got:
  string | RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: dasherize
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/dasherize/dasherize-tests.ts
  65:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<["test"], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: french-badwords-list
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/french-badwords-list/french-badwords-list-tests.ts
  10:1  error  TypeScript@local expected type to be:
  RegExp
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: simplecrawler
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/simplecrawler/simplecrawler-tests.ts
  33:1  error  TypeScript@local expected type to be:
  RegExp[]
got:
  RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>[]                                    @definitelytyped/expect
  35:1  error  TypeScript@local expected type to be:
  (string | RegExp)[]
got:
  (string | RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>)[]              @definitelytyped/expect
  40:1  error  TypeScript@local expected type to be:
  (RegExp | (() => void))[]
got:
  (RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | (() => void))[]  @definitelytyped/expect

✖ 3 problems (3 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: restify/v5
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/restify/v5/restify-tests.ts
  175:5  error  TypeScript@local expected type to be:
  string | RegExp
got:
  string | RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

Package: ember/v3
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/ember/v3/test/utils.ts
  155:5  error  TypeScript@local expected type to be:
  "regexp"
got:
  "object"  @definitelytyped/expect

✖ 1 problem (1 error, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:194:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@[email protected][email protected]/node_modules/@definitelytyped/dtslint/dist/index.js:186:20)

You can check the log here.

@typescript-bot
Copy link
Collaborator

@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 - node (v18.15.0, x64)
Errors 34 35 +1 (+ 2.94%) ~ ~ p=0.001 n=6
Symbols 62,363 68,101 🔻+5,738 (+ 9.20%) ~ ~ p=0.001 n=6
Types 50,395 69,312 🔻+18,917 (+37.54%) ~ ~ p=0.001 n=6
Memory used 193,640k (± 0.76%) 208,796k (± 0.85%) 🔻+15,156k (+ 7.83%) 207,572k 211,105k p=0.005 n=6
Parse Time 1.31s (± 1.01%) 1.32s (± 0.64%) ~ 1.30s 1.32s p=0.418 n=6
Bind Time 0.72s 0.70s (± 0.78%) -0.01s (- 2.08%) 0.70s 0.71s p=0.002 n=6
Check Time 9.81s (± 0.46%) 10.06s (± 0.70%) +0.25s (+ 2.57%) 9.96s 10.13s p=0.005 n=6
Emit Time 2.73s (± 0.55%) 2.64s (± 0.76%) 🟩-0.09s (- 3.47%) 2.61s 2.67s p=0.005 n=6
Total Time 14.57s (± 0.39%) 14.72s (± 0.46%) +0.16s (+ 1.08%) 14.62s 14.79s p=0.010 n=6
angular-1 - node (v18.15.0, x64)
Errors 37 77 🔻+40 (+108.11%) ~ ~ p=0.001 n=6
Symbols 947,936 1,935,304 🔻+987,368 (+104.16%) ~ ~ p=0.001 n=6
Types 410,955 930,540 🔻+519,585 (+126.43%) ~ ~ p=0.001 n=6
Memory used 1,226,063k (± 0.00%) 1,999,324k (± 0.00%) 🔻+773,261k (+63.07%) 1,999,228k 1,999,432k p=0.005 n=6
Parse Time 6.66s (± 0.63%) 6.69s (± 0.82%) ~ 6.63s 6.78s p=0.377 n=6
Bind Time 1.89s (± 0.22%) 1.90s (± 0.33%) +0.01s (+ 0.62%) 1.89s 1.91s p=0.009 n=6
Check Time 31.95s (± 0.38%) 41.88s (± 0.23%) 🔻+9.93s (+31.07%) 41.73s 42.01s p=0.005 n=6
Emit Time 15.16s (± 0.31%) 17.62s (± 0.49%) 🔻+2.46s (+16.23%) 17.55s 17.79s p=0.005 n=6
Total Time 55.66s (± 0.34%) 68.09s (± 0.26%) 🔻+12.43s (+22.34%) 67.88s 68.39s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 6 🔻+6 (+ ∞%) ~ ~ p=0.001 n=6
Symbols 2,498,169 2,734,884 🔻+236,715 (+ 9.48%) ~ ~ p=0.001 n=6
Types 908,889 1,033,947 🔻+125,058 (+13.76%) ~ ~ p=0.001 n=6
Memory used 2,316,971k (± 0.00%) 2,503,030k (± 0.00%) 🔻+186,059k (+ 8.03%) 2,502,969k 2,503,139k p=0.005 n=6
Parse Time 9.32s (± 0.36%) 9.22s (± 0.31%) -0.10s (- 1.06%) 9.17s 9.24s p=0.005 n=6
Bind Time 2.17s (± 0.64%) 2.17s (± 0.50%) ~ 2.15s 2.18s p=0.491 n=6
Check Time 74.61s (± 0.24%) 77.48s (± 0.47%) +2.87s (+ 3.85%) 76.81s 77.88s p=0.005 n=6
Emit Time 0.28s (± 1.99%) 0.29s (± 4.83%) ~ 0.27s 0.31s p=0.138 n=6
Total Time 86.37s (± 0.19%) 89.16s (± 0.40%) +2.79s (+ 3.23%) 88.48s 89.50s p=0.005 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,225,388 1,538,705 🔻+313,317 (+25.57%) ~ ~ p=0.001 n=6
Types 266,556 476,638 🔻+210,082 (+78.81%) ~ ~ p=0.001 n=6
Memory used 2,354,875k (± 0.03%) 2,791,553k (± 8.14%) 🔻+436,678k (+18.54%) 2,644,420k 3,085,662k p=0.005 n=6
Parse Time 5.25s (± 0.79%) 5.30s (± 1.81%) ~ 5.21s 5.43s p=0.688 n=6
Bind Time 1.78s (± 0.75%) 1.80s (± 0.76%) ~ 1.78s 1.82s p=0.259 n=6
Check Time 35.14s (± 0.24%) 43.72s (± 0.56%) 🔻+8.58s (+24.42%) 43.34s 43.99s p=0.005 n=6
Emit Time 2.96s (± 1.47%) 3.02s (± 1.60%) ~ 2.93s 3.07s p=0.078 n=6
Total Time 45.13s (± 0.26%) 53.84s (± 0.44%) 🔻+8.71s (+19.30%) 53.53s 54.14s p=0.005 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,225,388 1,538,705 🔻+313,317 (+25.57%) ~ ~ p=0.001 n=6
Types 266,556 476,638 🔻+210,082 (+78.81%) ~ ~ p=0.001 n=6
Memory used 3,029,580k (± 9.76%) 3,086,208k (± 5.82%) +56,627k (+ 1.87%) 2,719,170k 3,160,747k p=0.045 n=6
Parse Time 8.61s (± 1.07%) 8.66s (± 0.89%) ~ 8.56s 8.77s p=0.470 n=6
Bind Time 2.63s (± 0.89%) 2.71s (± 1.88%) +0.08s (+ 2.97%) 2.63s 2.76s p=0.025 n=6
Check Time 52.93s (± 0.35%) 64.92s (± 0.42%) 🔻+11.99s (+22.65%) 64.53s 65.36s p=0.005 n=6
Emit Time 4.29s (± 1.07%) 4.42s (± 1.10%) +0.13s (+ 3.03%) 4.38s 4.52s p=0.005 n=6
Total Time 68.46s (± 0.39%) 80.72s (± 0.33%) 🔻+12.25s (+17.90%) 80.41s 81.12s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 262,222 354,328 🔻+92,106 (+35.13%) ~ ~ p=0.001 n=6
Types 106,607 168,285 🔻+61,678 (+57.86%) ~ ~ p=0.001 n=6
Memory used 439,792k (± 0.01%) 518,488k (± 0.02%) 🔻+78,697k (+17.89%) 518,318k 518,624k p=0.005 n=6
Parse Time 3.56s (± 0.60%) 3.54s (± 0.86%) ~ 3.50s 3.58s p=0.414 n=6
Bind Time 1.32s (± 1.47%) 1.34s (± 1.61%) ~ 1.32s 1.37s p=0.063 n=6
Check Time 19.01s (± 0.38%) 20.68s (± 0.49%) 🔻+1.67s (+ 8.77%) 20.54s 20.80s p=0.005 n=6
Emit Time 1.52s (± 0.99%) 1.54s (± 1.09%) ~ 1.52s 1.56s p=0.162 n=6
Total Time 25.42s (± 0.23%) 27.11s (± 0.37%) 🔻+1.69s (+ 6.65%) 26.97s 27.27s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 70 79 🔻+9 (+12.86%) ~ ~ p=0.001 n=6
Symbols 226,062 298,409 🔻+72,347 (+32.00%) ~ ~ p=0.001 n=6
Types 94,488 144,077 🔻+49,589 (+52.48%) ~ ~ p=0.001 n=6
Memory used 371,585k (± 0.00%) 436,530k (± 0.01%) 🔻+64,945k (+17.48%) 436,493k 436,610k p=0.005 n=6
Parse Time 2.91s (± 1.08%) 2.99s (± 0.66%) +0.09s (+ 3.04%) 2.97s 3.01s p=0.005 n=6
Bind Time 1.58s (± 0.74%) 1.40s (± 1.43%) 🟩-0.18s (-11.49%) 1.37s 1.43s p=0.005 n=6
Check Time 16.45s (± 0.27%) 18.39s (± 0.45%) 🔻+1.94s (+11.78%) 18.28s 18.50s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 20.94s (± 0.32%) 22.79s (± 0.39%) 🔻+1.84s (+ 8.81%) 22.64s 22.87s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 4 0 ~ ~ ~ p=1.000 n=6+0
Symbols 3,139,718 0 ~ ~ ~ p=1.000 n=6+0
Types 1,082,632 0 ~ ~ ~ p=1.000 n=6+0
Memory used 3,221,939k (± 0.01%) 0k ~ ~ ~ p=1.000 n=6+0
Parse Time 14.03s (± 0.36%) 0s ~ ~ ~ p=1.000 n=6+0
Bind Time 4.50s (± 0.68%) 0s ~ ~ ~ p=1.000 n=6+0
Check Time 87.34s (± 1.92%) 0s ~ ~ ~ p=1.000 n=6+0
Emit Time 24.47s (± 9.03%) 0s ~ ~ ~ p=1.000 n=6+0
Total Time 130.34s (± 2.74%) 0s ~ ~ ~ p=1.000 n=6+0
webpack - node (v18.15.0, x64)
Errors 0 18 🔻+18 (+ ∞%) ~ ~ p=0.001 n=6
Symbols 288,484 602,598 🔻+314,114 (+108.88%) ~ ~ p=0.001 n=6
Types 117,065 338,552 🔻+221,487 (+189.20%) ~ ~ p=0.001 n=6
Memory used 440,513k (± 0.04%) 708,674k (± 0.04%) 🔻+268,161k (+60.87%) 708,273k 708,953k p=0.005 n=6
Parse Time 4.08s (± 1.46%) 4.10s (± 0.99%) ~ 4.06s 4.17s p=0.688 n=6
Bind Time 1.73s (± 1.70%) 1.75s (± 1.34%) ~ 1.72s 1.78s p=0.329 n=6
Check Time 18.85s (± 0.42%) 25.89s (± 0.46%) 🔻+7.04s (+37.33%) 25.80s 26.10s p=0.005 n=6
Emit Time 0.00s (±154.76%) 0.00s (±154.76%) ~ 0.00s 0.01s p=1.000 n=6
Total Time 24.67s (± 0.32%) 31.73s (± 0.40%) 🔻+7.07s (+28.66%) 31.61s 31.92s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 8 8 ~ ~ ~ p=1.000 n=6
Symbols 543,110 577,530 🔻+34,420 (+ 6.34%) ~ ~ p=0.001 n=6
Types 181,830 214,796 🔻+32,966 (+18.13%) ~ ~ p=0.001 n=6
Memory used 486,451k (± 0.01%) 520,667k (± 0.00%) 🔻+34,217k (+ 7.03%) 520,647k 520,694k p=0.005 n=6
Parse Time 3.39s (± 0.63%) 3.38s (± 0.45%) ~ 3.35s 3.39s p=0.252 n=6
Bind Time 1.18s (± 1.29%) 1.17s (± 0.71%) ~ 1.16s 1.18s p=0.863 n=6
Check Time 19.32s (± 0.52%) 25.21s (± 0.40%) 🔻+5.89s (+30.48%) 25.11s 25.37s p=0.005 n=6
Emit Time 0.00s (±244.70%) 0.00s ~ ~ ~ p=0.405 n=6
Total Time 23.89s (± 0.46%) 29.77s (± 0.29%) 🔻+5.87s (+24.57%) 29.69s 29.90s p=0.005 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Compiler-Unions - node (v18.15.0, x64)
  • angular-1 - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-build-src-public-api - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • ts-pre-modules - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate-main - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the top 400 repos with tsc comparing main and refs/pull/60249/merge:

Something interesting changed - please have a look.

Details

adobe/react-spectrum

13 of 15 projects failed to build with the old tsc and were ignored

packages/dev/codemods/tsconfig.json

  • error TS2322: Type 'RegExpExecArray<[`var(--spectrum-semantic-${string}-color-${string})`, string, string], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null' is not assignable to type 'RegExpExecArray<[`var(--spectrum-global-color-${string})`, string], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null'.
  • error TS2322: Type 'RegExpExecArray<[`var(--spectrum-alias-${string}-color)` | `var(--spectrum-alias-${string}-color-${string})`, string, string | undefined], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null' is not assignable to type 'RegExpExecArray<[`var(--spectrum-global-color-${string})`, string], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null'.
  • error TS2322: Type 'RegExpExecArray<[`var(--spectrum-${string})`, string], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null' is not assignable to type 'RegExpExecArray<[`var(--spectrum-global-color-${string})`, string], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null'.

packages/@spectrum-icons/illustrations/tsconfig.types.json

ajv-validator/ajv

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

tsconfig.json

  • error TS7053: Element implicitly has an 'any' type because expression of type '"id" | "$id"' can't be used to index type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | SchemaObject | AsyncSchema'.
  • error TS2532: Object is possibly 'undefined'.
  • error TS2322: Type 'RegExpExecArray<[`${string}:${string}:${string}`, "10" | "11" | "12" | "13" | "14" | "15" | "00" | "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | "09" | "16" | "17" | "18" | "19" | "20" | "21" | "22" | ... 76 more ... | "99", "10" | ... 98 more ... | "99", "10" | ... 98 more ... | "99", "+00" | ... 199 more...' is not assignable to type 'string[] | null'.
  • error TS2339: Property 'type' does not exist on type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | FormatDefinition<string> | FormatDefinition<...> | AsyncFormatDefinition<...> | AsyncFormatDefinition<...>'.
  • error TS2339: Property 'validate' does not exist on type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | FormatDefinition<string> | FormatDefinition<...> | AsyncFormatDefinition<...> | AsyncFormatDefinition<...>'.
  • error TS2339: Property 'async' does not exist on type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | FormatDefinition<string> | FormatDefinition<...> | AsyncFormatDefinition<...> | AsyncFormatDefinition<...>'.

alibaba/lowcode-engine

40 of 42 projects failed to build with the old tsc and were ignored

modules/code-generator/tsconfig.json

angular/angular-cli

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

tests/legacy-cli/tsconfig.json

bokeh/bokeh

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

bokehjs/src/compiler/tsconfig.json

  • error TS2322: Type '(string | RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>)[]' is not assignable to type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>[]'.

bokehjs/src/compiler/tsconfig.ext.json

  • error TS2322: Type '(string | RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>)[]' is not assignable to type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>[]'.

bokehjs/make/tsconfig.json

  • error TS2322: Type '(string | RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>)[]' is not assignable to type 'RegExp<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags>[]'.

BuilderIO/mitosis

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

packages/core/tsconfig.build.json

caprover/caprover

tsconfig.json

Chocobozzz/PeerTube

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

packages/types-generator/tsconfig.types.json

packages/tests/tsconfig.json

codex-team/editor.js

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

tsconfig.json

  • error TS2345: Argument of type '(string | undefined)[]' is not assignable to parameter of type 'string[]'.

@typescript-bot
Copy link
Collaborator

@jakebailey Here are some more interesting changes from running the top 400 repos suite

Details

compiler-explorer/compiler-explorer

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

tsconfig.tests.json

tsconfig.json

@typescript-bot
Copy link
Collaborator

@jakebailey Here are some more interesting changes from running the top 400 repos suite

Details

continuedev/continue

7 of 9 projects failed to build with the old tsc and were ignored

extensions/vscode/tsconfig.json

binary/tsconfig.json

darkreader/darkreader

2 of 5 projects failed to build with the old tsc and were ignored

tests/unit/tsconfig.json

src/tsconfig.json

src/api/tsconfig.json

desktop/desktop

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

tsconfig.json

script/tsconfig.json

  • error TS2345: Argument of type '`refs/${string}` | undefined' is not assignable to parameter of type 'string'.

app/src/highlighter/tsconfig.json

ether/etherpad-lite

src/tsconfig.json

Eugeny/tabby

11 of 29 projects failed to build with the old tsc and were ignored

tabby-local/tsconfig.json

tabby-electron/tsconfig.json

faker-js/faker

tsconfig.json

flatpickr/flatpickr

3 of 4 projects failed to build with the old tsc and were ignored

tsconfig.declarations.json

FlowiseAI/Flowise

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

packages/components/tsconfig.json

formatjs/formatjs

29 of 37 projects failed to build with the old tsc and were ignored

packages/react-intl/integration-tests/tsconfig.json

packages/cli-lib/tsconfig.json

FuelLabs/fuels-ts

34 of 58 projects failed to build with the old tsc and were ignored

packages/abi-typegen/tsconfig.json

packages/abi-typegen/tsconfig.dts.json

hexojs/hexo

tsconfig.json

heyxyz/hey

4 of 15 projects failed to build with the old tsc and were ignored

packages/helpers/tsconfig.json

apps/web/tsconfig.json

homebridge/homebridge

tsconfig.json

hotwired/stimulus

tsconfig.test.json

tsconfig.json

immutable-js/immutable-js

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

website/tsconfig.json

ionic-team/ionic-framework

19 of 20 projects failed to build with the old tsc and were ignored

core/tsconfig.json

  • error TS2345: Argument of type 'RegExp<["June 2012"], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }>' is not assignable to parameter of type 'RegExp<["June 2021"], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | undefined'.

ItzCrazyKns/Perplexica

ui/tsconfig.json

javascript-obfuscator/javascript-obfuscator

tsconfig.json

test/tsconfig.test.json

src/tsconfig.typings.json

src/tsconfig.browser.json

jquense/yup

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

tsconfig.json

@typescript-bot
Copy link
Collaborator

@jakebailey Here are some more interesting changes from running the top 400 repos suite

Details

jupyterlab/jupyterlab

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

packages/ui-components/examples/simple-windowed-list/tsconfig.json

@typescript-bot
Copy link
Collaborator

@jakebailey Here are some more interesting changes from running the top 400 repos suite

Details

labring/FastGPT

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

packages/web/tsconfig.json

langchain-ai/langchainjs

78 of 82 projects failed to build with the old tsc and were ignored

libs/langchain-scripts/tsconfig.json

libs/langchain-scripts/tsconfig.cjs.json

Lissy93/web-check

tsconfig.json

  • error TS2322: Type 'RegExpExecArray<[`User-agent:${string}` | `User-agenT:${string}` | `User-ageNt:${string}` | `User-ageNT:${string}` | `User-agEnt:${string}` | `User-agEnT:${string}` | `User-agENt:${string}` | `User-agENT:${string}` | `User-aGent:${string}` | `User-aGenT:${string}` | `User-aGeNt:${string}` | `User-aGeNT:${string}` | ...' is not assignable to type 'RegExpExecArray<[`Allow:${string}` | `AlloW:${string}` | `AllOw:${string}` | `AllOW:${string}` | `AlLow:${string}` | `AlLoW:${string}` | `AlLOw:${string}` | `AlLOW:${string}` | `ALlow:${string}` | `ALloW:${string}` | `ALlOw:${string}` | `ALlOW:${string}` | `ALLow:${string}` | `ALLoW:${string}` | `ALLOw:${string}` | ...'.

mattermost-community/focalboard

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

import/trello/tsconfig.json

import/todoist/tsconfig.json

import/notion/tsconfig.json

import/nextcloud-deck/tsconfig.json

import/jira/tsconfig.json

import/asana/tsconfig.json

microsoft/vscode

5 of 54 projects failed to build with the old tsc and were ignored

src/tsconfig.monaco.json

extensions/typescript-language-features/tsconfig.json

extensions/search-result/tsconfig.json

extensions/php-language-features/tsconfig.json

extensions/notebook-renderers/tsconfig.json

extensions/markdown-language-features/tsconfig.json

extensions/markdown-language-features/tsconfig.browser.json

extensions/git/tsconfig.json

extensions/debug-server-ready/tsconfig.json

build/tsconfig.build.json

@typescript-bot
Copy link
Collaborator

@jakebailey Here are some more interesting changes from running the top 400 repos suite

Details

mui/material-ui

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

test/tsconfig.json

packages/mui-system/tsconfig.json

packages/mui-system/test/typescript/moduleAugmentation/gridCustomBreakpoints.tsconfig.json

packages/mui-system/test/typescript/moduleAugmentation/boxSx.tsconfig.json

packages/mui-styles/tsconfig.json

packages/mui-material/tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/typographyVariants.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/themeGetCssVar.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/themeCustomNode.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/themeCssVariables.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/themeComponents.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/textFieldCustomProps.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/tabsCustomProps.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/tableCellCustomProps.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/systemTheme.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/styleOverridesCallback.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/reponsiveFontSizes.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/progressProps.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/paletteColors.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/gridCustomBreakpoints.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/formHelperTextCustomProps.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/createTheme.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/buttonCustomProps.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/breakpointsOverrides.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/badgeCustomProps.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/autocompleteCustomSlotProps.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/appBarProps.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/alertCustomSlotProps.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/TooltipSlotSxProps.tsconfig.json

packages/mui-material/test/typescript/moduleAugmentation/InputLabelCustomProps.tsconfig.json

packages/mui-lab/tsconfig.json

packages/mui-joy/tsconfig.json

packages/mui-joy/test/typescript/moduleAugmentation/themeOverrides.tsconfig.json

packages/mui-joy/test/typescript/moduleAugmentation/themeGetCssVar.tsconfig.json

packages/mui-joy/test/typescript/moduleAugmentation/CssVarsProvider.tsconfig.json

packages/mui-icons-material/tsconfig.json

docs/tsconfig.json

docs/scripts/tsconfig.json

packages-internal/scripts/tsconfig.typecheck.json

  • error TS2322: Type 'RegExp<["DOMElementNode" | "ElementNode" | "UnionNode", "DOMElementNode" | "ElementNode" | "UnionNode"], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }>' is not assignable to type 'RegExp<["DOMElementNode" | "UnionNode", "DOMElementNode" | "UnionNode"], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }>'.

packages-internal/scripts/typescript-to-proptypes/tsconfig.test.json

  • error TS2322: Type 'RegExp<["DOMElementNode" | "ElementNode" | "UnionNode", "DOMElementNode" | "ElementNode" | "UnionNode"], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }>' is not assignable to type 'RegExp<["DOMElementNode" | "UnionNode", "DOMElementNode" | "UnionNode"], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }>'.

packages/mui-joy/tsconfig.build.json

packages/mui-docs/tsconfig.build.json

neoclide/coc.nvim

tsconfig.json

nhn/tui.editor

4 of 9 projects failed to build with the old tsc and were ignored

plugins/table-merged-cell/tsconfig.json

plugins/chart/tsconfig.json

nocodb/nocodb

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

packages/nocodb-sdk/tsconfig.module.json

packages/nocodb-sdk/tsconfig.json

oldj/SwitchHosts

tsconfig.json

react-navigation/react-navigation

9 of 14 projects failed to build with the old tsc and were ignored

tsconfig.json

example/tsconfig.json

Redocly/redoc

tsconfig.lib.json

tsconfig.json

  • error TS2322: Type 'RegExpExecArray<["?nocors&" | "?nocors#" | "?nocors" | "&nocors&" | "&nocors#" | "&nocors", "" | "&" | "#"], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null' is not assignable to type 'RegExpExecArray<[`url=${string}`, string], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null'.
  • error TS2538: Type 'undefined' cannot be used as an index type.
  • error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'.

@typescript-bot
Copy link
Collaborator

@jakebailey Here are some more interesting changes from running the top 400 repos suite

Details

reduxjs/reselect

website/tsconfig.json

sass/sass

tsconfig.json

  • error TS2551: Property 'index' does not exist on type 'RegExpExecArray<CapturingGroupsArray, NamedCapturingGroupsObject, RegExpFlags> | RegExpMatchArray<...>'. Did you mean 'indexOf'?

steven-tey/novel

2 of 3 projects failed to build with the old tsc and were ignored

packages/headless/tsconfig.json

video-dev/hls.js

tsconfig.json

vitest-dev/vitest

31 of 36 projects failed to build with the old tsc and were ignored

packages/vite-node/tsconfig.json

  • error TS2322: Type 'RegExpExecArray<[`eval at ${string} (${string})`, string, string], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null' is not assignable to type 'RegExpExecArray<[`eval at ${string} (${string}:${string}:${string})`, string, string, string, string], undefined, { hasIndices: false; global: false; ignoreCase: false; multiline: false; dotAll: false; unicode: false; unicodeSets: false; sticky: false; }> | null'.

VSCodeVim/Vim

tsconfig.json

yoavbls/pretty-ts-errors

tsconfig.json

@graphemecluster
Copy link
Contributor Author

Very breaky but it’s within my expectation 😞
The same goes for performance, but I think fixing it is not that difficult. Apparently the first and foremost step is to defer the type inference for all RegExps, but I am not sure how I could accomplish that.
Ultimately, nonetheless, perhaps the only way out for putting this forward is to add a compiler flag. We could add a DefaultCapturingGroupsArray intrinsic type that is equivalent to CapturingGroupsArray when on and [string, ...string[]] when off, like what was done in #58243.

src/compiler/types.ts Outdated Show resolved Hide resolved
Comment on lines +1833 to +1836
"'\\k' is only available outside character class.": {
"category": "Error",
"code": 1545
},
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Just to confirm, a new message can’t take the place of an old, unused one right?
(TS1513 never actually appears as TS1161 would have been emitted at the same position if a RegExp is unterminated, so replacing the message shouldn’t cause any problems.)

@graphemecluster
Copy link
Contributor Author

Another possible way to improve performance is to keep all template literals unexpand and try to establish a way to compute type relations of literals with interpolated strings, but it's probably out of the scope of this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
For Uncommitted Bug PR for untriaged, rejected, closed or missing bug
Projects
Status: Not started
Development

Successfully merging this pull request may close these issues.

Type named capture groups better
4 participants