Support TypeScript 5.2 using / await using declaration (#15321)

* Update `@typescript-eslint` packages

* Install `typescript`

* Tweaks snapshot tests

* Tweaks error files

* Add tests for `using` with types

* Add changelog

* Update misc tests

* Update snapshots

* Revert misc tests and remove `typescript`

* Update changelog_unreleased/typescript/15321.md

Co-authored-by: fisker Cheung <lionkay@gmail.com>

* Fix file name typo

* Keep valid file

* Update tests

* Update changelog_unreleased/typescript/15321.md

Co-authored-by: fisker Cheung <lionkay@gmail.com>

* Remove non-existing filenames.

---------

Co-authored-by: fisker Cheung <lionkay@gmail.com>
This commit is contained in:
SUZUKI Sosukeandfisker Cheung authored and GitHub committed 2023-08-29 15:51:50 +09:00
1 parent a73cfa0ec4
commit 1ce97d13a3
11 files changed
+144 -222

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
#### Support TypeScript 5.2 `using` / `await using` declaration (#15321 by @sosukesuzuki)
Support for the upcoming Explicit Resource Management feature in ECMAScript. [`using` / `await using` declaration](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/#using-declarations-and-explicit-resource-management)
<!-- prettier-ignore -->
```tsx
{
using foo = new Foo();
await using bar = new Bar();
}
```
+4 -4
View File
@@ -38,8 +38,8 @@
"@iarna/toml": "2.2.5",
"@prettier/is-es5-identifier-name": "0.2.0",
"@prettier/parse-srcset": "3.1.0",
"@typescript-eslint/typescript-estree": "6.4.1",
"@typescript-eslint/visitor-keys": "6.4.1",
"@typescript-eslint/typescript-estree": "6.5.0",
"@typescript-eslint/visitor-keys": "6.5.0",
"acorn": "8.10.0",
"acorn-jsx": "5.3.2",
"angular-estree-parser": "7.0.0",
@@ -98,7 +98,7 @@
"sdbm": "2.0.0",
"strip-ansi": "7.1.0",
"to-fast-properties": "4.0.0",
"typescript": "5.1.6",
"typescript": "5.2.2",
"unicode-regex": "4.0.0",
"unified": "9.2.2",
"vnopts": "2.0.0",
@@ -112,7 +112,7 @@
"@types/file-entry-cache": "5.0.2",
"@types/find-cache-dir": "3.2.1",
"@types/jest": "29.5.4",
"@typescript-eslint/eslint-plugin": "6.4.1",
"@typescript-eslint/eslint-plugin": "6.5.0",
"benchmark": "2.1.4",
"browserslist-to-esbuild": "1.2.0",
"c8": "8.0.1",
@@ -28,13 +28,6 @@ exports[`for-await-using-of-comments.js [meriyah] format 1`] = `
2 |"
`;
exports[`for-await-using-of-comments.js [typescript] format 1`] = `
"'of' expected. (1:51)
> 1 | /*1*/ for /* 2 */ await /*3*/ ( /*4*/ using /*5*/ fo /*6*/ of /*7*/ of /*8*/) /*9*/;
| ^
2 |"
`;
exports[`for-await-using-of-comments.js format 1`] = `
====================================options=====================================
parsers: ["babel", "flow", "typescript"]
@@ -90,10 +83,10 @@ exports[`invalid-duplicate-using-bindings.js [meriyah] format 1`] = `
`;
exports[`invalid-duplicate-using-bindings.js [typescript] format 1`] = `
"Unexpected keyword or identifier. (2:3)
"'using' declarations must be initialized. (2:9)
1 | {
> 2 | using f, f = foo();
| ^
| ^
3 | }
4 | {
5 | using g = foo();"
@@ -154,13 +147,6 @@ exports[`invalid-script-top-level-using-binding.js [meriyah] format 1`] = `
2 |"
`;
exports[`invalid-script-top-level-using-binding.js [typescript] format 1`] = `
"Unexpected keyword or identifier. (1:1)
> 1 | using x = bar();
| ^
2 |"
`;
exports[`invalid-script-top-level-using-binding.js format 1`] = `
====================================options=====================================
parsers: ["babel", "flow", "typescript"]
@@ -216,13 +202,14 @@ exports[`using-declarations.js [meriyah] format 1`] = `
`;
exports[`using-declarations.js [typescript] format 1`] = `
"Unexpected keyword or identifier. (2:3)
1 | {
> 2 | using /* 1 */ a = foo(), /* 2 */ b = foo()
| ^
"'using' declarations may not be initialized in for statement. (5:19)
3 | }
4 |
5 | for(using /* 1 */ a = foo(), /* 2 */ b = foo();;);"
> 5 | for(using /* 1 */ a = foo(), /* 2 */ b = foo();;);
| ^^^^^^^^^
6 |
7 | for(using /* 1 */ foo of bar());
8 |"
`;
exports[`using-declarations.js format 1`] = `
@@ -364,15 +351,6 @@ exports[`valid-await-using-binding-basic.js [meriyah] format 1`] = `
4 |"
`;
exports[`valid-await-using-binding-basic.js [typescript] format 1`] = `
"';' expected. (2:15)
1 | async function f() {
> 2 | await using basic = getReader();
| ^
3 | }
4 |"
`;
exports[`valid-await-using-binding-basic.js format 1`] = `
====================================options=====================================
parsers: ["babel", "flow", "typescript"]
@@ -427,15 +405,6 @@ exports[`valid-await-using-binding-escaped.js [meriyah] format 1`] = `
4 |"
`;
exports[`valid-await-using-binding-escaped.js [typescript] format 1`] = `
"';' expected. (2:15)
1 | async function f() {
> 2 | await using \\u0061b = c;
| ^
3 | }
4 |"
`;
exports[`valid-await-using-binding-escaped.js format 1`] = `
====================================options=====================================
parsers: ["babel", "flow", "typescript"]
@@ -490,15 +459,6 @@ exports[`valid-await-using-binding-non-bmp.js [meriyah] format 1`] = `
4 |"
`;
exports[`valid-await-using-binding-non-bmp.js [typescript] format 1`] = `
"';' expected. (2:15)
1 | async function f() {
> 2 | await using 𠮷 = foo();
| ^
3 | }
4 |"
`;
exports[`valid-await-using-binding-non-bmp.js format 1`] = `
====================================options=====================================
parsers: ["babel", "flow", "typescript"]
@@ -557,16 +517,6 @@ exports[`valid-await-using-binding-using.js [meriyah] format 1`] = `
5 |"
`;
exports[`valid-await-using-binding-using.js [typescript] format 1`] = `
"';' expected. (2:15)
1 | async function f() {
> 2 | await using using = of;
| ^
3 | for (await using using of of);
4 | }
5 |"
`;
exports[`valid-await-using-binding-using.js format 1`] = `
====================================options=====================================
parsers: ["babel", "flow", "typescript"]
@@ -632,14 +582,14 @@ exports[`valid-await-using-comments.js [meriyah] format 1`] = `
`;
exports[`valid-await-using-comments.js [typescript] format 1`] = `
"';' expected. (3:28)
1 | async function f() {
2 | {
> 3 | /*0*/await/*1*/using/*2*/b/*3*/=/*4*/f()/*5*/;
| ^
"'await using' declarations may not be initialized in for statement. (6:42)
4 | }
5 | {
6 | /*0*/for/*1*/(/*2*/await/*3*/using/*4*/b/*5*/=/*6*/x/*7*/;/*8*/;/*9*/)/*10*/;"
> 6 | /*0*/for/*1*/(/*2*/await/*3*/using/*4*/b/*5*/=/*6*/x/*7*/;/*8*/;/*9*/)/*10*/;
| ^^^^^^^^^^^^^
7 | }
8 | {
9 | /*0*/for/*1*/(/*2*/await/*3*/using/*4*/b/*5*/of/*6*/x/*7*/)/*8*/;"
`;
exports[`valid-await-using-comments.js format 1`] = `
@@ -826,10 +776,10 @@ exports[`valid-for-using-declaration.js [meriyah] format 1`] = `
`;
exports[`valid-for-using-declaration.js [typescript] format 1`] = `
"';' expected. (2:20)
"'await using' declarations may not be initialized in for statement. (2:20)
1 | async function f() {
> 2 | for (await using basic = reader();;);
| ^
| ^^^^^^^^^^^^^^^^
3 | }
4 |"
`;
@@ -1137,15 +1087,6 @@ exports[`valid-using-binding-basic.js [meriyah] format 1`] = `
4 |"
`;
exports[`valid-using-binding-basic.js [typescript] format 1`] = `
"Unexpected keyword or identifier. (2:3)
1 | {
> 2 | using basic = getReader();
| ^
3 | }
4 |"
`;
exports[`valid-using-binding-basic.js format 1`] = `
====================================options=====================================
parsers: ["babel", "flow", "typescript"]
@@ -1192,13 +1133,6 @@ exports[`valid-using-binding-escaped.js [meriyah] format 1`] = `
2 |"
`;
exports[`valid-using-binding-escaped.js [typescript] format 1`] = `
"Unexpected keyword or identifier. (1:3)
> 1 | { using \\u0061b = c; }
| ^
2 |"
`;
exports[`valid-using-binding-escaped.js format 1`] = `
====================================options=====================================
parsers: ["babel", "flow", "typescript"]
@@ -1243,13 +1177,6 @@ exports[`valid-using-binding-non-bmp.js [meriyah] format 1`] = `
2 |"
`;
exports[`valid-using-binding-non-bmp.js [typescript] format 1`] = `
"Unexpected keyword or identifier. (1:3)
> 1 | { using 𠮷 = foo(); }
| ^
2 |"
`;
exports[`valid-using-binding-non-bmp.js format 1`] = `
====================================options=====================================
parsers: ["babel", "flow", "typescript"]
@@ -1306,16 +1233,6 @@ exports[`valid-using-binding-using.js [meriyah] format 1`] = `
5 |"
`;
exports[`valid-using-binding-using.js [typescript] format 1`] = `
"Unexpected keyword or identifier. (2:3)
1 | {
> 2 | using using = of;
| ^
3 | for (using using of of);
4 | }
5 |"
`;
exports[`valid-using-binding-using.js format 1`] = `
====================================options=====================================
parsers: ["babel", "flow", "typescript"]
@@ -25,26 +25,18 @@ run_spec(import.meta, ["babel", "flow", "typescript"], {
"valid-module-block-top-level-await-using-binding.js",
],
typescript: [
"for-await-using-of-comments.js",
"invalid-duplicate-using-bindings.js",
"invalid-script-top-level-using-binding.js",
"using-declarations.js",
// "valid-for-await-using-binding-escaped-of-of.js",
// "valid-for-using-binding-escaped-of-of.js",
"valid-module-block-top-level-using-binding.js",
"valid-using-binding-basic.js",
"valid-using-binding-escaped.js",
"valid-using-binding-non-bmp.js",
"valid-using-binding-using.js",
"valid-await-using-binding-basic.js",
"valid-await-using-binding-escaped.js",
"valid-await-using-binding-non-bmp.js",
"valid-await-using-binding-using.js",
"valid-await-using-comments.js",
"valid-for-lhs-await-as-identifier.js",
"valid-for-using-binding-of-of.js",
// https://github.com/typescript-eslint/typescript-eslint/blob/4f34d0ba34474926ba1eed623704b583a037f886/packages/typescript-estree/src/convert.ts#L1035-L1050
"valid-for-using-declaration.js",
"valid-await-using-comments.js",
"using-declarations.js",
// https://github.com/microsoft/TypeScript/issues/55555
"valid-for-using-binding-of-of.js",
// TypeScript does not support module expr
"valid-module-block-top-level-using-binding.js",
"valid-module-block-top-level-await-using-binding.js",
],
espree: [
@@ -14,13 +14,6 @@ exports[`invalid-for-await-using-binding-of-of.js [flow] format 1`] = `
2 |"
`;
exports[`invalid-for-await-using-binding-of-of.js [typescript] format 1`] = `
"')' expected. (1:24)
> 1 | for await (using of of of);
| ^
2 |"
`;
exports[`invalid-for-using-binding-in.js [babel] format 1`] = `
"For-in loop may not start with 'using' declaration. (1:6)
> 1 | for (using foo in {});
@@ -35,13 +28,6 @@ exports[`invalid-for-using-binding-in.js [flow] format 1`] = `
2 |"
`;
exports[`invalid-for-using-binding-in.js [typescript] format 1`] = `
"';' expected. (1:12)
> 1 | for (using foo in {});
| ^
2 |"
`;
exports[`invalid-for-using-binding-of-in.js [babel] format 1`] = `
"Unexpected token (1:15)
> 1 | for (using of in []);
@@ -56,13 +42,6 @@ exports[`invalid-for-using-binding-of-in.js [flow] format 1`] = `
2 |"
`;
exports[`invalid-for-using-binding-of-in.js [typescript] format 1`] = `
"Expression expected. (1:15)
> 1 | for (using of in []);
| ^
2 |"
`;
exports[`invalid-for-using-binding-of-of.js [babel] format 1`] = `
"Unexpected token, expected ")" (1:18)
> 1 | for (using of of of);
@@ -77,13 +56,6 @@ exports[`invalid-for-using-binding-of-of.js [flow] format 1`] = `
2 |"
`;
exports[`invalid-for-using-binding-of-of.js [typescript] format 1`] = `
"')' expected. (1:18)
> 1 | for (using of of of);
| ^
2 |"
`;
exports[`invalid-using-binding-let.js [babel] format 1`] = `
"'let' is not allowed to be used as a name in 'let' or 'const' declarations. (2:9)
1 | {
@@ -102,15 +74,6 @@ exports[`invalid-using-binding-let.js [flow] format 1`] = `
4 |"
`;
exports[`invalid-using-binding-let.js [typescript] format 1`] = `
"Unexpected keyword or identifier. (2:3)
1 | {
> 2 | using let = h();
| ^
3 | }
4 |"
`;
exports[`invalid-using-binding-pattern.js [babel] format 1`] = `
"Unexpected token (2:17)
1 | {
@@ -130,13 +93,3 @@ exports[`invalid-using-binding-pattern.js [flow] format 1`] = `
4 | for (using { qux } of h());
5 | for (using [ quux ] of i());"
`;
exports[`invalid-using-binding-pattern.js [typescript] format 1`] = `
"Unexpected keyword or identifier. (2:3)
1 | {
> 2 | using { foo } = f();
| ^
3 | using [ bar ] = g();
4 | for (using { qux } of h());
5 | for (using [ quux ] of i());"
`;
@@ -1 +1,6 @@
run_spec(import.meta, ["babel", "flow", "typescript"]);
run_spec(import.meta, [
"babel",
"flow",
// Waiting https://github.com/typescript-eslint/typescript-eslint/issues/7555 and https://github.com/typescript-eslint/typescript-eslint/issues/7554
// "typescript"
]);
@@ -0,0 +1,37 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`await-using-with-type-declaration.ts format 1`] = `
====================================options=====================================
parsers: ["typescript"]
printWidth: 80
| printWidth
=====================================input======================================
{
await using foo: Foo = new Foo();
}
=====================================output=====================================
{
await using foo: Foo = new Foo();
}
================================================================================
`;
exports[`using-with-type-declaration.ts format 1`] = `
====================================options=====================================
parsers: ["typescript"]
printWidth: 80
| printWidth
=====================================input======================================
{
using foo: Foo = new Foo();
}
=====================================output=====================================
{
using foo: Foo = new Foo();
}
================================================================================
`;
@@ -0,0 +1,3 @@
{
await using foo: Foo = new Foo();
}
@@ -0,0 +1 @@
run_spec(import.meta, ["typescript"]);
@@ -0,0 +1,3 @@
{
using foo: Foo = new Foo();
}
+54 -54
View File
@@ -1805,15 +1805,15 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/eslint-plugin@npm:6.4.1":
version: 6.4.1
resolution: "@typescript-eslint/eslint-plugin@npm:6.4.1"
"@typescript-eslint/eslint-plugin@npm:6.5.0":
version: 6.5.0
resolution: "@typescript-eslint/eslint-plugin@npm:6.5.0"
dependencies:
"@eslint-community/regexpp": ^4.5.1
"@typescript-eslint/scope-manager": 6.4.1
"@typescript-eslint/type-utils": 6.4.1
"@typescript-eslint/utils": 6.4.1
"@typescript-eslint/visitor-keys": 6.4.1
"@typescript-eslint/scope-manager": 6.5.0
"@typescript-eslint/type-utils": 6.5.0
"@typescript-eslint/utils": 6.5.0
"@typescript-eslint/visitor-keys": 6.5.0
debug: ^4.3.4
graphemer: ^1.4.0
ignore: ^5.2.4
@@ -1826,7 +1826,7 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: aa5f2f516a4ea07d1a9878d347dcb915808862f41efd3c4acd4955e616d265e051c4c93d597d30e54bee10bab9b965e2ef9cea1b497bf16f23a475d7911a8078
checksum: d81525c9a081186ec1ae7d957972065d50bae8fe4b3de111e573adc7267bb830baaec8f1ae47d3b937984ac34324bacc3951868b7986d4f9974bbe480f2261c0
languageName: node
linkType: hard
@@ -1840,22 +1840,22 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:6.4.1":
version: 6.4.1
resolution: "@typescript-eslint/scope-manager@npm:6.4.1"
"@typescript-eslint/scope-manager@npm:6.5.0":
version: 6.5.0
resolution: "@typescript-eslint/scope-manager@npm:6.5.0"
dependencies:
"@typescript-eslint/types": 6.4.1
"@typescript-eslint/visitor-keys": 6.4.1
checksum: 8f7f90aa378a19838301b31cfa58a4b0641d2b84891705c8c006c67aacb5c0d07112b714e1f0e7a159c5736779c934ec26dadef42a0711fccb635596aba391fc
"@typescript-eslint/types": 6.5.0
"@typescript-eslint/visitor-keys": 6.5.0
checksum: 30d78143f68e07d6bd15a147f64cc16830f8a8c8409b37aa7c7d205d7585f3648ec1c5365b3f177b7561971b407f773f6dba83b3b78fa63091045f2d6bbc6b9f
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:6.4.1":
version: 6.4.1
resolution: "@typescript-eslint/type-utils@npm:6.4.1"
"@typescript-eslint/type-utils@npm:6.5.0":
version: 6.5.0
resolution: "@typescript-eslint/type-utils@npm:6.5.0"
dependencies:
"@typescript-eslint/typescript-estree": 6.4.1
"@typescript-eslint/utils": 6.4.1
"@typescript-eslint/typescript-estree": 6.5.0
"@typescript-eslint/utils": 6.5.0
debug: ^4.3.4
ts-api-utils: ^1.0.1
peerDependencies:
@@ -1863,7 +1863,7 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 33bcdd48bd4e07258ed1919b598d50354dd67d8f01702cd2fd46aa9250b7b7cba9caab640df01f4dc0e45dabeddbb3ca47bee88f81fe2087350ed6f70a4cbe5d
checksum: 80b9e5099f5bdb05348ea8664c0a5084efc851de43ef6c1997041e1f07e9cc34ac874cc9e8afb317c887513d657e2583ad360e3d57feaab775bde0acc1807982
languageName: node
linkType: hard
@@ -1874,10 +1874,10 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/types@npm:6.4.1":
version: 6.4.1
resolution: "@typescript-eslint/types@npm:6.4.1"
checksum: 16ba46140dbe426407bbb940e87fb347e7eb53b64f74e8f6a819cd662aa25ccd0c25b1e588867ce3cd36a8b4eccea7bd81f4d429595e6e86d9a24c655b1c8617
"@typescript-eslint/types@npm:6.5.0":
version: 6.5.0
resolution: "@typescript-eslint/types@npm:6.5.0"
checksum: 950ec16991d71494d10cb752535bbc4395295e3f03a716d53ec55bbb0aaff487aa774cc5002f775ffcc80b9f0e16ac53ecebf7cac1444ca4f7a847b0859ffbfb
languageName: node
linkType: hard
@@ -1899,12 +1899,12 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:6.4.1":
version: 6.4.1
resolution: "@typescript-eslint/typescript-estree@npm:6.4.1"
"@typescript-eslint/typescript-estree@npm:6.5.0":
version: 6.5.0
resolution: "@typescript-eslint/typescript-estree@npm:6.5.0"
dependencies:
"@typescript-eslint/types": 6.4.1
"@typescript-eslint/visitor-keys": 6.4.1
"@typescript-eslint/types": 6.5.0
"@typescript-eslint/visitor-keys": 6.5.0
debug: ^4.3.4
globby: ^11.1.0
is-glob: ^4.0.3
@@ -1913,24 +1913,24 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 34c289e50a6337321154efe6c20c762e94fea308f9032971e356a266f63e99b908b1a00dd8cf51eba50a6f69db01d665faf2cf13454b355767fd167eebe60f1c
checksum: 05717fa1f2609fa5669803191cf309a379c815aaf4fff6850f40560eec8749759c36b288f05cecffd5c1d0be8de1fe414ecfee6ecf99b6ae521baa48c8b58455
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:6.4.1":
version: 6.4.1
resolution: "@typescript-eslint/utils@npm:6.4.1"
"@typescript-eslint/utils@npm:6.5.0":
version: 6.5.0
resolution: "@typescript-eslint/utils@npm:6.5.0"
dependencies:
"@eslint-community/eslint-utils": ^4.4.0
"@types/json-schema": ^7.0.12
"@types/semver": ^7.5.0
"@typescript-eslint/scope-manager": 6.4.1
"@typescript-eslint/types": 6.4.1
"@typescript-eslint/typescript-estree": 6.4.1
"@typescript-eslint/scope-manager": 6.5.0
"@typescript-eslint/types": 6.5.0
"@typescript-eslint/typescript-estree": 6.5.0
semver: ^7.5.4
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
checksum: 54e642a345790f912393a6f2821495e2359eff0f874a94cbe6fb3ef4411702983ed54fe88ca3ea9d28f2e93800a74dee22b7888838154bc1afd57c7e119e17ec
checksum: 58a82213c8a7bac97a6538b9845c1de5c5692fbf72548f95ed5e044a222608590bcafbb9eacba92a8c4e9eb3e5d0a2fd553eae0d6694ed2d6152aed4dabf9480
languageName: node
linkType: hard
@@ -1962,13 +1962,13 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:6.4.1":
version: 6.4.1
resolution: "@typescript-eslint/visitor-keys@npm:6.4.1"
"@typescript-eslint/visitor-keys@npm:6.5.0":
version: 6.5.0
resolution: "@typescript-eslint/visitor-keys@npm:6.5.0"
dependencies:
"@typescript-eslint/types": 6.4.1
"@typescript-eslint/types": 6.5.0
eslint-visitor-keys: ^3.4.1
checksum: bd9cd56fc793e1d880c24193f939c4992b2653f330baece41cd461d1fb48edb2c53696987cba0e29074bbb452dd181fd009db92dd19060fdcc417ad76768f18a
checksum: 768a02dd0d8aae45708646bb0c51e67da09e71dc101bb0a0e55d7e0c8eadfea2f531acd3035d1ec34bf2380b66188f3fc47c6bef0201eae36b2dcc48d1934442
languageName: node
linkType: hard
@@ -7146,9 +7146,9 @@ __metadata:
"@types/file-entry-cache": 5.0.2
"@types/find-cache-dir": 3.2.1
"@types/jest": 29.5.4
"@typescript-eslint/eslint-plugin": 6.4.1
"@typescript-eslint/typescript-estree": 6.4.1
"@typescript-eslint/visitor-keys": 6.4.1
"@typescript-eslint/eslint-plugin": 6.5.0
"@typescript-eslint/typescript-estree": 6.5.0
"@typescript-eslint/visitor-keys": 6.5.0
acorn: 8.10.0
acorn-jsx: 5.3.2
angular-estree-parser: 7.0.0
@@ -7245,7 +7245,7 @@ __metadata:
tempy: 3.1.0
to-fast-properties: 4.0.0
ts-expect: 1.3.0
typescript: 5.1.6
typescript: 5.2.2
unicode-regex: 4.0.0
unified: 9.2.2
vnopts: 2.0.0
@@ -8560,23 +8560,23 @@ __metadata:
languageName: node
linkType: hard
"typescript@npm:5.1.6":
version: 5.1.6
resolution: "typescript@npm:5.1.6"
"typescript@npm:5.2.2":
version: 5.2.2
resolution: "typescript@npm:5.2.2"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: b2f2c35096035fe1f5facd1e38922ccb8558996331405eb00a5111cc948b2e733163cc22fab5db46992aba7dd520fff637f2c1df4996ff0e134e77d3249a7350
checksum: 7912821dac4d962d315c36800fe387cdc0a6298dba7ec171b350b4a6e988b51d7b8f051317786db1094bd7431d526b648aba7da8236607febb26cf5b871d2d3c
languageName: node
linkType: hard
"typescript@patch:typescript@5.1.6#~builtin<compat/typescript>":
version: 5.1.6
resolution: "typescript@patch:typescript@npm%3A5.1.6#~builtin<compat/typescript>::version=5.1.6&hash=5da071"
"typescript@patch:typescript@5.2.2#~builtin<compat/typescript>":
version: 5.2.2
resolution: "typescript@patch:typescript@npm%3A5.2.2#~builtin<compat/typescript>::version=5.2.2&hash=f3b441"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: f53bfe97f7c8b2b6d23cf572750d4e7d1e0c5fff1c36d859d0ec84556a827b8785077bc27676bf7e71fae538e517c3ecc0f37e7f593be913d884805d931bc8be
checksum: 0f4da2f15e6f1245e49db15801dbee52f2bbfb267e1c39225afdab5afee1a72839cd86000e65ee9d7e4dfaff12239d28beaf5ee431357fcced15fb08583d72ca
languageName: node
linkType: hard