@samitouri / QOS-React / commits / 4ab827b869

[compiler] Dedupe @babel/types (#32581)

Extracting portions of #32416 for easier review. This PR dedupes @babel/types to resolve to 7.26.3, for compatibility in the root workspace where eslint-plugin-react-hooks resides. I also needed to update @babel/preset-typescript in snap. The compiler changes in HIR and ReactiveScopes were needed due to types changing. Notably, Babel [added support for optional chaining assignment](https://github.com/babel/babel/pull/15751) (currently [Stage 1](https://github.com/tc39/proposal-optional-chaining-assignment)), so in the latest versions of @babel/types, AssignmentExpression.left can now also be of t.OptionalMemberExpression. Given that this is in Stage 1, the compiler probably shouldn't support this syntax, so this PR updates HIR to bailout with a TODO if there is a non LVal on the lhs of an Assignment Expression. There was also a small superficial SourceLocation change needed in `InferReactiveScopeVariables` as Babel 8 changes were [accidentally released in 7](https://github.com/babel/babel/issues/10746#issuecomment-2699146670). It doesn't affect our analysis so it seems fine to just update with the new properties. --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/32581). * #32582 * __->__ #32581 Co-authored-by: michael faith <michaelfaith@users.noreply.github.com> Co-authored-by: michael faith <michaelfaith@users.noreply.github.com>

lauren committed Mar 12, 2025 at 17:02 UTC 4ab827b869dfb89f34df1e38beae0d521b960f23
9 files changed +194 -104
compiler/package.json
+4 -1
@@ -26,6 +26,7 @@
26 "react-is": "0.0.0-experimental-4beb1fd8-20241118"
27 },
28 "devDependencies": {
29 + "@babel/types": "^7.26.0",
30 "@tsconfig/strictest": "^2.0.5",
31 "concurrently": "^7.4.0",
32 "esbuild": "^0.25.0",
@@ -37,13 +38,15 @@
38 "prettier-plugin-hermes-parser": "^0.26.0",
39 "prompt-promise": "^1.0.3",
40 "rimraf": "^5.0.10",
41 + "to-fast-properties": "^2.0.0",
42 "tsup": "^8.4.0",
43 "typescript": "^5.4.3",
44 "wait-on": "^7.2.0",
45 "yargs": "^17.7.2"
46 },
47 "resolutions": {
46 - "rimraf": "5.0.10"
48 + "rimraf": "5.0.10",
49 + "@babel/types": "7.26.3"
50 },
51 "packageManager": "yarn@1.22.22"
52 }
compiler/packages/babel-plugin-react-compiler/package.json
+1 -1
@@ -20,7 +20,7 @@
20 "watch": "yarn build --watch"
21 },
22 "dependencies": {
23 - "@babel/types": "^7.19.0"
23 + "@babel/types": "^7.26.0"
24 },
25 "devDependencies": {
26 "@babel/core": "^7.2.0",
compiler/packages/babel-plugin-react-compiler/src/HIR/BuildHIR.ts
+26 -11
@@ -1909,16 +1909,31 @@ function lowerExpression(
1909
1910 if (operator === '=') {
1911 const left = expr.get('left');
1912 - return lowerAssignment(
1913 - builder,
1914 - left.node.loc ?? GeneratedSource,
1915 - InstructionKind.Reassign,
1916 - left,
1917 - lowerExpressionToTemporary(builder, expr.get('right')),
1918 - left.isArrayPattern() || left.isObjectPattern()
1919 - ? 'Destructure'
1920 - : 'Assignment',
1921 - );
1912 + if (left.isLVal()) {
1913 + return lowerAssignment(
1914 + builder,
1915 + left.node.loc ?? GeneratedSource,
1916 + InstructionKind.Reassign,
1917 + left,
1918 + lowerExpressionToTemporary(builder, expr.get('right')),
1919 + left.isArrayPattern() || left.isObjectPattern()
1920 + ? 'Destructure'
1921 + : 'Assignment',
1922 + );
1923 + } else {
1924 + /**
1925 + * OptionalMemberExpressions as the left side of an AssignmentExpression are Stage 1 and
1926 + * not supported by React Compiler yet.
1927 + */
1928 + builder.errors.push({
1929 + reason: `(BuildHIR::lowerExpression) Unsupported syntax on the left side of an AssignmentExpression`,
1930 + description: `Expected an LVal, got: ${left.type}`,
1931 + severity: ErrorSeverity.Todo,
1932 + loc: left.node.loc ?? null,
1933 + suggestions: null,
1934 + });
1935 + return {kind: 'UnsupportedNode', node: exprNode, loc: exprLoc};
1936 + }
1937 }
1938
1939 const operators: {
@@ -2091,7 +2106,7 @@ function lowerExpression(
2106 propName = namePath.node.name;
2107 if (propName.indexOf(':') !== -1) {
2108 builder.errors.push({
2094 - reason: `(BuildHIR::lowerExpression) Unexpected colon in attribute name \`${name}\``,
2109 + reason: `(BuildHIR::lowerExpression) Unexpected colon in attribute name \`${propName}\``,
2110 severity: ErrorSeverity.Todo,
2111 loc: namePath.node.loc ?? null,
2112 suggestions: null,
compiler/packages/babel-plugin-react-compiler/src/HIR/FindContextIdentifiers.ts
+14 -2
@@ -63,8 +63,20 @@ export function findContextIdentifiers(
63 state: FindContextIdentifierState,
64 ): void {
65 const left = path.get('left');
66 - const currentFn = state.currentFn.at(-1) ?? null;
67 - handleAssignment(currentFn, state.identifiers, left);
66 + if (left.isLVal()) {
67 + const currentFn = state.currentFn.at(-1) ?? null;
68 + handleAssignment(currentFn, state.identifiers, left);
69 + } else {
70 + /**
71 + * OptionalMemberExpressions as the left side of an AssignmentExpression are Stage 1 and
72 + * not supported by React Compiler yet.
73 + */
74 + CompilerError.throwTodo({
75 + reason: `Unsupported syntax on the left side of an AssignmentExpression`,
76 + description: `Expected an LVal, got: ${left.type}`,
77 + loc: left.node.loc ?? null,
78 + });
79 + }
80 },
81 UpdateExpression(
82 path: NodePath<t.UpdateExpression>,
compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/InferReactiveScopeVariables.ts
+5 -1
@@ -178,11 +178,15 @@ function mergeLocation(l: SourceLocation, r: SourceLocation): SourceLocation {
178 return l;
179 } else {
180 return {
181 + filename: l.filename,
182 + identifierName: l.identifierName,
183 start: {
184 + index: Math.min(l.start.index, r.start.index),
185 line: Math.min(l.start.line, r.start.line),
186 column: Math.min(l.start.column, r.start.column),
187 },
188 end: {
189 + index: Math.max(l.end.index, r.end.index),
190 line: Math.max(l.end.line, r.end.line),
191 column: Math.max(l.end.column, r.end.column),
192 },
@@ -202,7 +206,7 @@ export function inRange(
206 return id >= range.start && id < range.end;
207 }
208
205 -function mayAllocate(env: Environment, instruction: Instruction): boolean {
209 +function mayAllocate(_env: Environment, instruction: Instruction): boolean {
210 const {value} = instruction;
211 switch (value.kind) {
212 case 'Destructure': {
compiler/packages/babel-plugin-react-compiler/src/index.ts
+2
@@ -22,6 +22,8 @@ export {
22 findDirectiveEnablingMemoization,
23 findDirectiveDisablingMemoization,
24 type CompilerPipelineValue,
25 + type Logger,
26 + type LoggerEvent,
27 type PluginOptions,
28 } from './Entrypoint';
29 export {
compiler/packages/eslint-plugin-react-compiler/package.json
+1 -1
@@ -22,7 +22,7 @@
22 "devDependencies": {
23 "@babel/preset-env": "^7.22.4",
24 "@babel/preset-typescript": "^7.18.6",
25 - "@babel/types": "^7.19.0",
25 + "@babel/types": "^7.26.0",
26 "@types/eslint": "^8.56.12",
27 "@types/node": "^20.2.5",
28 "babel-jest": "^29.0.3",
compiler/packages/snap/package.json
+1 -1
@@ -23,7 +23,7 @@
23 "@babel/code-frame": "^7.22.5",
24 "@babel/plugin-syntax-jsx": "^7.18.6",
25 "@babel/preset-flow": "^7.7.4",
26 - "@babel/preset-typescript": "^7.18.6",
26 + "@babel/preset-typescript": "^7.26.0",
27 "@parcel/watcher": "^2.1.0",
28 "@testing-library/react": "^13.4.0",
29 "babel-plugin-idx": "^3.0.3",
compiler/yarn.lock
+140 -86
@@ -126,6 +126,17 @@
126 "@jridgewell/trace-mapping" "^0.3.25"
127 jsesc "^3.0.2"
128
129 +"@babel/generator@^7.26.10":
130 + version "7.26.10"
131 + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.10.tgz#a60d9de49caca16744e6340c3658dfef6138c3f7"
132 + integrity sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==
133 + dependencies:
134 + "@babel/parser" "^7.26.10"
135 + "@babel/types" "^7.26.10"
136 + "@jridgewell/gen-mapping" "^0.3.5"
137 + "@jridgewell/trace-mapping" "^0.3.25"
138 + jsesc "^3.0.2"
139 +
140 "@babel/helper-annotate-as-pure@^7.18.6":
141 version "7.18.6"
142 resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
@@ -140,6 +151,13 @@
151 dependencies:
152 "@babel/types" "^7.22.5"
153
154 +"@babel/helper-annotate-as-pure@^7.25.9":
155 + version "7.25.9"
156 + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4"
157 + integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==
158 + dependencies:
159 + "@babel/types" "^7.25.9"
160 +
161 "@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6":
162 version "7.22.3"
163 resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.3.tgz#c9b83d1ba74e163e023f008a3d3204588a7ceb60"
@@ -212,6 +230,19 @@
230 "@babel/helper-split-export-declaration" "^7.18.6"
231 semver "^6.3.0"
232
233 +"@babel/helper-create-class-features-plugin@^7.25.9":
234 + version "7.26.9"
235 + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz#d6f83e3039547fbb39967e78043cd3c8b7820c71"
236 + integrity sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==
237 + dependencies:
238 + "@babel/helper-annotate-as-pure" "^7.25.9"
239 + "@babel/helper-member-expression-to-functions" "^7.25.9"
240 + "@babel/helper-optimise-call-expression" "^7.25.9"
241 + "@babel/helper-replace-supers" "^7.26.5"
242 + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
243 + "@babel/traverse" "^7.26.9"
244 + semver "^6.3.1"
245 +
246 "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.1":
247 version "7.22.1"
248 resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.1.tgz#a7ed9a8488b45b467fca353cd1a44dc5f0cf5c70"
@@ -308,6 +339,14 @@
339 dependencies:
340 "@babel/types" "^7.22.5"
341
342 +"@babel/helper-member-expression-to-functions@^7.25.9":
343 + version "7.25.9"
344 + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz#9dfffe46f727005a5ea29051ac835fb735e4c1a3"
345 + integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==
346 + dependencies:
347 + "@babel/traverse" "^7.25.9"
348 + "@babel/types" "^7.25.9"
349 +
350 "@babel/helper-module-imports@^7.18.6":
351 version "7.18.6"
352 resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e"
@@ -395,6 +434,13 @@
434 dependencies:
435 "@babel/types" "^7.22.5"
436
437 +"@babel/helper-optimise-call-expression@^7.25.9":
438 + version "7.25.9"
439 + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e"
440 + integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==
441 + dependencies:
442 + "@babel/types" "^7.25.9"
443 +
444 "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0":
445 version "7.19.0"
446 resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf"
@@ -415,6 +461,11 @@
461 resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
462 integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
463
464 +"@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.26.5":
465 + version "7.26.5"
466 + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz#18580d00c9934117ad719392c4f6585c9333cc35"
467 + integrity sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==
468 +
469 "@babel/helper-remap-async-to-generator@^7.18.9":
470 version "7.18.9"
471 resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519"
@@ -457,6 +508,15 @@
508 "@babel/helper-member-expression-to-functions" "^7.22.5"
509 "@babel/helper-optimise-call-expression" "^7.22.5"
510
511 +"@babel/helper-replace-supers@^7.26.5":
512 + version "7.26.5"
513 + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz#6cb04e82ae291dae8e72335dfe438b0725f14c8d"
514 + integrity sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==
515 + dependencies:
516 + "@babel/helper-member-expression-to-functions" "^7.25.9"
517 + "@babel/helper-optimise-call-expression" "^7.25.9"
518 + "@babel/traverse" "^7.26.5"
519 +
520 "@babel/helper-simple-access@^7.18.6":
521 version "7.18.6"
522 resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea"
@@ -492,6 +552,14 @@
552 dependencies:
553 "@babel/types" "^7.22.5"
554
555 +"@babel/helper-skip-transparent-expression-wrappers@^7.25.9":
556 + version "7.25.9"
557 + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9"
558 + integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==
559 + dependencies:
560 + "@babel/traverse" "^7.25.9"
561 + "@babel/types" "^7.25.9"
562 +
563 "@babel/helper-split-export-declaration@^7.18.6":
564 version "7.18.6"
565 resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
@@ -513,31 +581,6 @@
581 dependencies:
582 "@babel/types" "^7.24.7"
583
516 -"@babel/helper-string-parser@^7.18.10":
517 - version "7.18.10"
518 - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56"
519 - integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==
520 -
521 -"@babel/helper-string-parser@^7.19.4":
522 - version "7.19.4"
523 - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63"
524 - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==
525 -
526 -"@babel/helper-string-parser@^7.21.5":
527 - version "7.21.5"
528 - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd"
529 - integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==
530 -
531 -"@babel/helper-string-parser@^7.22.5":
532 - version "7.22.5"
533 - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f"
534 - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==
535 -
536 -"@babel/helper-string-parser@^7.24.8":
537 - version "7.24.8"
538 - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d"
539 - integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==
540 -
584 "@babel/helper-string-parser@^7.25.9":
585 version "7.25.9"
586 resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c"
@@ -682,6 +725,13 @@
725 dependencies:
726 "@babel/types" "^7.26.3"
727
728 +"@babel/parser@^7.26.10", "@babel/parser@^7.26.9":
729 + version "7.26.10"
730 + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.10.tgz#e9bdb82f14b97df6569b0b038edd436839c57749"
731 + integrity sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==
732 + dependencies:
733 + "@babel/types" "^7.26.10"
734 +
735 "@babel/parser@^7.7.4":
736 version "7.21.4"
737 resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17"
@@ -827,6 +877,13 @@
877 dependencies:
878 "@babel/helper-plugin-utils" "^7.18.6"
879
880 +"@babel/plugin-syntax-jsx@^7.25.9":
881 + version "7.25.9"
882 + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290"
883 + integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==
884 + dependencies:
885 + "@babel/helper-plugin-utils" "^7.25.9"
886 +
887 "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
888 version "7.10.4"
889 resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
@@ -890,6 +947,13 @@
947 dependencies:
948 "@babel/helper-plugin-utils" "^7.18.6"
949
950 +"@babel/plugin-syntax-typescript@^7.25.9":
951 + version "7.25.9"
952 + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399"
953 + integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==
954 + dependencies:
955 + "@babel/helper-plugin-utils" "^7.25.9"
956 +
957 "@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
958 version "7.18.6"
959 resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357"
@@ -1120,6 +1184,14 @@
1184 "@babel/helper-plugin-utils" "^7.21.5"
1185 "@babel/helper-simple-access" "^7.21.5"
1186
1187 +"@babel/plugin-transform-modules-commonjs@^7.25.9":
1188 + version "7.26.3"
1189 + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz#8f011d44b20d02c3de44d8850d971d8497f981fb"
1190 + integrity sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==
1191 + dependencies:
1192 + "@babel/helper-module-transforms" "^7.26.0"
1193 + "@babel/helper-plugin-utils" "^7.25.9"
1194 +
1195 "@babel/plugin-transform-modules-commonjs@^7.8.3":
1196 version "7.21.2"
1197 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7"
@@ -1339,6 +1411,17 @@
1411 "@babel/helper-plugin-utils" "^7.19.0"
1412 "@babel/plugin-syntax-typescript" "^7.18.6"
1413
1414 +"@babel/plugin-transform-typescript@^7.25.9":
1415 + version "7.26.8"
1416 + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz#2e9caa870aa102f50d7125240d9dbf91334b0950"
1417 + integrity sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==
1418 + dependencies:
1419 + "@babel/helper-annotate-as-pure" "^7.25.9"
1420 + "@babel/helper-create-class-features-plugin" "^7.25.9"
1421 + "@babel/helper-plugin-utils" "^7.26.5"
1422 + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9"
1423 + "@babel/plugin-syntax-typescript" "^7.25.9"
1424 +
1425 "@babel/plugin-transform-unicode-escapes@^7.21.5":
1426 version "7.21.5"
1427 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz#1e55ed6195259b0e9061d81f5ef45a9b009fb7f2"
@@ -1497,6 +1580,17 @@
1580 "@babel/helper-validator-option" "^7.18.6"
1581 "@babel/plugin-transform-typescript" "^7.18.6"
1582
1583 +"@babel/preset-typescript@^7.26.0":
1584 + version "7.26.0"
1585 + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz#4a570f1b8d104a242d923957ffa1eaff142a106d"
1586 + integrity sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==
1587 + dependencies:
1588 + "@babel/helper-plugin-utils" "^7.25.9"
1589 + "@babel/helper-validator-option" "^7.25.9"
1590 + "@babel/plugin-syntax-jsx" "^7.25.9"
1591 + "@babel/plugin-transform-modules-commonjs" "^7.25.9"
1592 + "@babel/plugin-transform-typescript" "^7.25.9"
1593 +
1594 "@babel/register@^7.0.0":
1595 version "7.21.0"
1596 resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.21.0.tgz#c97bf56c2472e063774f31d344c592ebdcefa132"
@@ -1581,6 +1675,15 @@
1675 "@babel/parser" "^7.25.9"
1676 "@babel/types" "^7.25.9"
1677
1678 +"@babel/template@^7.26.9":
1679 + version "7.26.9"
1680 + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.26.9.tgz#4577ad3ddf43d194528cff4e1fa6b232fa609bb2"
1681 + integrity sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==
1682 + dependencies:
1683 + "@babel/code-frame" "^7.26.2"
1684 + "@babel/parser" "^7.26.9"
1685 + "@babel/types" "^7.26.9"
1686 +
1687 "@babel/template@^7.3.3":
1688 version "7.18.6"
1689 resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31"
@@ -1618,69 +1721,20 @@
1721 debug "^4.3.1"
1722 globals "^11.1.0"
1723
1621 -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
1622 - version "7.18.9"
1623 - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f"
1624 - integrity sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==
1724 +"@babel/traverse@^7.26.5", "@babel/traverse@^7.26.9":
1725 + version "7.26.10"
1726 + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.10.tgz#43cca33d76005dbaa93024fae536cc1946a4c380"
1727 + integrity sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==
1728 dependencies:
1626 - "@babel/helper-validator-identifier" "^7.18.6"
1627 - to-fast-properties "^2.0.0"
1628 -
1629 -"@babel/types@^7.18.10", "@babel/types@^7.19.0", "@babel/types@^7.2.0":
1630 - version "7.19.0"
1631 - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600"
1632 - integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==
1633 - dependencies:
1634 - "@babel/helper-string-parser" "^7.18.10"
1635 - "@babel/helper-validator-identifier" "^7.18.6"
1636 - to-fast-properties "^2.0.0"
1637 -
1638 -"@babel/types@^7.2.2", "@babel/types@^7.20.2", "@babel/types@^7.21.2":
1639 - version "7.21.4"
1640 - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4"
1641 - integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==
1642 - dependencies:
1643 - "@babel/helper-string-parser" "^7.19.4"
1644 - "@babel/helper-validator-identifier" "^7.19.1"
1645 - to-fast-properties "^2.0.0"
1646 -
1647 -"@babel/types@^7.20.0", "@babel/types@^7.20.5", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.22.0", "@babel/types@^7.22.3", "@babel/types@^7.22.4", "@babel/types@^7.4.4":
1648 - version "7.22.4"
1649 - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.4.tgz#56a2653ae7e7591365dabf20b76295410684c071"
1650 - integrity sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==
1651 - dependencies:
1652 - "@babel/helper-string-parser" "^7.21.5"
1653 - "@babel/helper-validator-identifier" "^7.19.1"
1654 - to-fast-properties "^2.0.0"
1655 -
1656 -"@babel/types@^7.20.7":
1657 - version "7.20.7"
1658 - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f"
1659 - integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==
1660 - dependencies:
1661 - "@babel/helper-string-parser" "^7.19.4"
1662 - "@babel/helper-validator-identifier" "^7.19.1"
1663 - to-fast-properties "^2.0.0"
1664 -
1665 -"@babel/types@^7.22.5":
1666 - version "7.22.5"
1667 - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe"
1668 - integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==
1669 - dependencies:
1670 - "@babel/helper-string-parser" "^7.22.5"
1671 - "@babel/helper-validator-identifier" "^7.22.5"
1672 - to-fast-properties "^2.0.0"
1673 -
1674 -"@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.6", "@babel/types@^7.7.4":
1675 - version "7.25.6"
1676 - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6"
1677 - integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==
1678 - dependencies:
1679 - "@babel/helper-string-parser" "^7.24.8"
1680 - "@babel/helper-validator-identifier" "^7.24.7"
1681 - to-fast-properties "^2.0.0"
1729 + "@babel/code-frame" "^7.26.2"
1730 + "@babel/generator" "^7.26.10"
1731 + "@babel/parser" "^7.26.10"
1732 + "@babel/template" "^7.26.9"
1733 + "@babel/types" "^7.26.10"
1734 + debug "^4.3.1"
1735 + globals "^11.1.0"
1736
1683 -"@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.26.3":
1737 +"@babel/types@7.26.3", "@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.22.0", "@babel/types@^7.22.3", "@babel/types@^7.22.4", "@babel/types@^7.22.5", "@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.6", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.26.10", "@babel/types@^7.26.3", "@babel/types@^7.26.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.4":
1738 version "7.26.3"
1739 resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.3.tgz#37e79830f04c2b5687acc77db97fbc75fb81f3c0"
1740 integrity sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==