@samitouri / QOS-React-1 / commits / e730b5e65a

[flow] Update files synced to react-native to use modern flow syntax (#36759)

## Summary This diff bumps a few hermes-parser related dependencies so that it can consume modern Flow syntax. In addition, it makes targeted changes to two files that will be synced to react-native so that we can enforce we only use modern flow syntax in react-native. ## How did you test this change? flow

Sam Zhou committed Jun 12, 2026 at 12:56 UTC e730b5e65a154bd8fdba26c89288d7d9846b98ab
9 files changed +82 -99
.eslintrc.js
+1
@@ -567,6 +567,7 @@ module.exports = {
567 $Shape: 'readonly',
568 CallSite: 'readonly',
569 ConsoleTask: 'readonly', // TOOD: Figure out what the official name of this will be.
570 + Readonly: 'readonly',
571 ReturnType: 'readonly',
572 AggregateError: 'readonly',
573 AnimationFrameID: 'readonly',
.prettierignore
+6
@@ -22,6 +22,12 @@ compiler/**/.next
22
23 # contains invalid graphql`...` which results in a promise rejection error from `yarn prettier-all`.
24 compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/error.todo-kitchensink.js
25 +# contains invalid const reassignment; the fixture asserts the compiler diagnostic.
26 +compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/error.invalid-reassign-const.js
27 +# preserves the exact sequence-expression source shape used by the fixture.
28 +compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/memoize-value-block-value-sequence.js
29 +# preserves minimized production input; formatting changes the reduced repro shape.
30 +compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo-round3_promote_used_temps.js
31
32 compiler/crates
33 compiler/target
.prettierrc.js
+2 -1
@@ -8,7 +8,8 @@ module.exports = {
8 bracketSameLine: true,
9 trailingComma: 'es5',
10 printWidth: 80,
11 - parser: 'flow',
11 + plugins: ['prettier-plugin-hermes-parser'],
12 + parser: 'hermes',
13 arrowParens: 'avoid',
14 overrides: [
15 {
package.json
+4 -4
@@ -50,7 +50,7 @@
50 "@typescript-eslint/parser": "^6.21.0",
51 "abortcontroller-polyfill": "^1.7.5",
52 "art": "0.10.1",
53 - "babel-plugin-syntax-hermes-parser": "^0.32.0",
53 + "babel-plugin-syntax-hermes-parser": "^0.36.1",
54 "babel-plugin-syntax-trailing-function-commas": "^6.5.0",
55 "busboy": "^1.6.0",
56 "chalk": "^3.0.0",
@@ -82,8 +82,8 @@
82 "glob-stream": "^6.1.0",
83 "google-closure-compiler": "^20230206.0.0",
84 "gzip-size": "^5.1.1",
85 - "hermes-eslint": "^0.32.0",
86 - "hermes-parser": "^0.32.0",
85 + "hermes-eslint": "^0.36.1",
86 + "hermes-parser": "^0.36.1",
87 "jest": "^29.4.2",
88 "jest-cli": "^29.4.2",
89 "jest-diff": "^29.4.2",
@@ -96,7 +96,7 @@
96 "ncp": "^2.0.0",
97 "prettier": "^3.3.3",
98 "prettier-2": "npm:prettier@^2",
99 - "prettier-plugin-hermes-parser": "^0.32.0",
99 + "prettier-plugin-hermes-parser": "^0.36.1",
100 "pretty-format": "^29.4.1",
101 "prop-types": "^15.6.2",
102 "random-seed": "^0.3.0",
packages/react-devtools-shared/src/__tests__/console-test.js
+13 -26
@@ -363,8 +363,7 @@ describe('console', () => {
363
364 it('should double log if hideConsoleLogsInStrictMode is disabled in Strict mode', () => {
365 global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.appendComponentStack = false;
366 - global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode =
367 - false;
366 + global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode = false;
367
368 const container = document.createElement('div');
369 const root = ReactDOMClient.createRoot(container);
@@ -405,8 +404,7 @@ describe('console', () => {
404
405 it('should not double log if hideConsoleLogsInStrictMode is enabled in Strict mode', () => {
406 global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.appendComponentStack = false;
408 - global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode =
409 - true;
407 + global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode = true;
408
409 const container = document.createElement('div');
410 const root = ReactDOMClient.createRoot(container);
@@ -433,8 +431,7 @@ describe('console', () => {
431
432 it('should double log from Effects if hideConsoleLogsInStrictMode is disabled in Strict mode', () => {
433 global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.appendComponentStack = false;
436 - global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode =
437 - false;
434 + global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode = false;
435
436 const container = document.createElement('div');
437 const root = ReactDOMClient.createRoot(container);
@@ -481,8 +478,7 @@ describe('console', () => {
478
479 it('should not double log from Effects if hideConsoleLogsInStrictMode is enabled in Strict mode', () => {
480 global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.appendComponentStack = false;
484 - global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode =
485 - true;
481 + global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode = true;
482
483 const container = document.createElement('div');
484 const root = ReactDOMClient.createRoot(container);
@@ -518,8 +514,7 @@ describe('console', () => {
514
515 it('should double log from useMemo if hideConsoleLogsInStrictMode is disabled in Strict mode', () => {
516 global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.appendComponentStack = false;
521 - global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode =
522 - false;
517 + global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode = false;
518
519 const container = document.createElement('div');
520 const root = ReactDOMClient.createRoot(container);
@@ -562,8 +557,7 @@ describe('console', () => {
557
558 it('should not double log from useMemo fns if hideConsoleLogsInStrictMode is enabled in Strict mode', () => {
559 global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.appendComponentStack = false;
565 - global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode =
566 - true;
560 + global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode = true;
561
562 const container = document.createElement('div');
563 const root = ReactDOMClient.createRoot(container);
@@ -592,8 +586,7 @@ describe('console', () => {
586
587 it('should double log in Strict mode initial render for extension', () => {
588 global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.appendComponentStack = false;
595 - global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode =
596 - false;
589 + global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode = false;
590
591 // This simulates a render that happens before React DevTools have finished
592 // their handshake to attach the React DOM renderer functions to DevTools
@@ -638,8 +631,7 @@ describe('console', () => {
631
632 it('should not double log in Strict mode initial render for extension', () => {
633 global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.appendComponentStack = false;
641 - global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode =
642 - true;
634 + global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode = true;
635
636 // This simulates a render that happens before React DevTools have finished
637 // their handshake to attach the React DOM renderer functions to DevTools
@@ -670,8 +662,7 @@ describe('console', () => {
662
663 it('should properly dim component stacks during strict mode double log', () => {
664 global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.appendComponentStack = true;
673 - global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode =
674 - false;
665 + global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode = false;
666
667 const container = document.createElement('div');
668 const root = ReactDOMClient.createRoot(container);
@@ -736,10 +727,8 @@ describe('console', () => {
727
728 it('should not dim console logs if disableSecondConsoleLogDimmingInStrictMode is enabled', () => {
729 global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.appendComponentStack = false;
739 - global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode =
740 - false;
741 - global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.disableSecondConsoleLogDimmingInStrictMode =
742 - true;
730 + global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode = false;
731 + global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.disableSecondConsoleLogDimmingInStrictMode = true;
732
733 const container = document.createElement('div');
734 const root = ReactDOMClient.createRoot(container);
@@ -772,10 +761,8 @@ describe('console', () => {
761
762 it('should dim console logs if disableSecondConsoleLogDimmingInStrictMode is disabled', () => {
763 global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.appendComponentStack = false;
775 - global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode =
776 - false;
777 - global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.disableSecondConsoleLogDimmingInStrictMode =
778 - false;
764 + global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.hideConsoleLogsInStrictMode = false;
765 + global.__REACT_DEVTOOLS_GLOBAL_HOOK__.settings.disableSecondConsoleLogDimmingInStrictMode = false;
766
767 const container = document.createElement('div');
768 const root = ReactDOMClient.createRoot(container);
packages/react-native-renderer/src/ReactNativeTypes.js
+35 -35
@@ -24,33 +24,33 @@ import * as React from 'react';
24
25 export type AttributeType<T, V> =
26 | true
27 - | $ReadOnly<{
27 + | Readonly<{
28 diff?: (arg1: T, arg2: T) => boolean,
29 process?: (arg1: V) => T,
30 }>;
31
32 -// We either force that `diff` and `process` always use mixed,
32 +// We either force that `diff` and `process` always use unknown,
33 // or we allow them to define specific types and use this hack
34 export type AnyAttributeType = AttributeType<$FlowFixMe, $FlowFixMe>;
35
36 -export type AttributeConfiguration = $ReadOnly<{
36 +export type AttributeConfiguration = Readonly<{
37 [propName: string]: AnyAttributeType | void,
38 - style?: $ReadOnly<{
38 + style?: Readonly<{
39 [propName: string]: AnyAttributeType,
40 ...
41 }>,
42 ...
43 }>;
44
45 -export type ViewConfig = $ReadOnly<{
46 - Commands?: $ReadOnly<{[commandName: string]: number, ...}>,
47 - Constants?: $ReadOnly<{[name: string]: mixed, ...}>,
45 +export type ViewConfig = Readonly<{
46 + Commands?: Readonly<{[commandName: string]: number, ...}>,
47 + Constants?: Readonly<{[name: string]: unknown, ...}>,
48 Manager?: string,
49 - NativeProps?: $ReadOnly<{[propName: string]: string, ...}>,
49 + NativeProps?: Readonly<{[propName: string]: string, ...}>,
50 baseModuleName?: ?string,
51 - bubblingEventTypes?: $ReadOnly<{
52 - [eventName: string]: $ReadOnly<{
53 - phasedRegistrationNames: $ReadOnly<{
51 + bubblingEventTypes?: Readonly<{
52 + [eventName: string]: Readonly<{
53 + phasedRegistrationNames: Readonly<{
54 captured: string,
55 bubbled: string,
56 skipBubbling?: ?boolean,
@@ -58,8 +58,8 @@ export type ViewConfig = $ReadOnly<{
58 }>,
59 ...
60 }>,
61 - directEventTypes?: $ReadOnly<{
62 - [eventName: string]: $ReadOnly<{
61 + directEventTypes?: Readonly<{
62 + [eventName: string]: Readonly<{
63 registrationName: string,
64 }>,
65 ...
@@ -69,7 +69,7 @@ export type ViewConfig = $ReadOnly<{
69 validAttributes: AttributeConfiguration,
70 }>;
71
72 -export type PartialViewConfig = $ReadOnly<{
72 +export type PartialViewConfig = Readonly<{
73 bubblingEventTypes?: ViewConfig['bubblingEventTypes'],
74 directEventTypes?: ViewConfig['directEventTypes'],
75 supportsRawText?: boolean,
@@ -77,22 +77,22 @@ export type PartialViewConfig = $ReadOnly<{
77 validAttributes?: AttributeConfiguration,
78 }>;
79
80 -type InspectorDataProps = $ReadOnly<{
80 +type InspectorDataProps = Readonly<{
81 [propName: string]: string,
82 ...
83 }>;
84
85 type InspectorDataGetter = (
86 - <TElementType: React.ElementType>(
86 + <TElementType extends React.ElementType>(
87 componentOrHandle: React.ElementRef<TElementType> | number,
88 ) => ?number,
89 -) => $ReadOnly<{
89 +) => Readonly<{
90 measure: (callback: MeasureOnSuccessCallback) => void,
91 props: InspectorDataProps,
92 }>;
93
94 -export type InspectorData = $ReadOnly<{
95 - closestInstance?: mixed,
94 +export type InspectorData = Readonly<{
95 + closestInstance?: unknown,
96 hierarchy: Array<{
97 name: ?string,
98 getInspectorData: InspectorDataGetter,
@@ -102,11 +102,11 @@ export type InspectorData = $ReadOnly<{
102 componentStack: string,
103 }>;
104
105 -export type TouchedViewDataAtPoint = $ReadOnly<
105 +export type TouchedViewDataAtPoint = Readonly<
106 {
107 pointerY: number,
108 touchedViewTag?: number,
109 - frame: $ReadOnly<{
109 + frame: Readonly<{
110 top: number,
111 left: number,
112 width: number,
@@ -118,39 +118,39 @@ export type TouchedViewDataAtPoint = $ReadOnly<
118
119 export type RenderRootOptions = {
120 onUncaughtError?: (
121 - error: mixed,
122 - errorInfo: {+componentStack?: ?string},
121 + error: unknown,
122 + errorInfo: {readonly componentStack?: ?string},
123 ) => void,
124 onCaughtError?: (
125 - error: mixed,
125 + error: unknown,
126 errorInfo: {
127 - +componentStack?: ?string,
127 + readonly componentStack?: ?string,
128 // $FlowFixMe[unclear-type] unknown props and state.
129 // $FlowFixMe[value-as-type] Component in react repo is any-typed, but it will be well typed externally.
130 - +errorBoundary?: ?React.Component<any, any>,
130 + readonly errorBoundary?: ?React.Component<any, any>,
131 },
132 ) => void,
133 onRecoverableError?: (
134 - error: mixed,
135 - errorInfo: {+componentStack?: ?string},
134 + error: unknown,
135 + errorInfo: {readonly componentStack?: ?string},
136 ) => void,
137 onDefaultTransitionIndicator?: () => void | (() => void),
138 };
139
140 -export opaque type Node = mixed;
141 -export opaque type InternalInstanceHandle = mixed;
140 +export opaque type Node = unknown;
141 +export opaque type InternalInstanceHandle = unknown;
142
143 export type ReactFabricType = {
144 - findHostInstance_DEPRECATED<TElementType: React.ElementType>(
144 + findHostInstance_DEPRECATED<TElementType extends React.ElementType>(
145 componentOrHandle: ?(React.ElementRef<TElementType> | number),
146 ): ?PublicInstance,
147 - findNodeHandle<TElementType: React.ElementType>(
147 + findNodeHandle<TElementType extends React.ElementType>(
148 componentOrHandle: ?(React.ElementRef<TElementType> | number),
149 ): ?number,
150 dispatchCommand(
151 handle: PublicInstance,
152 command: string,
153 - args: Array<mixed>,
153 + args: Array<unknown>,
154 ): void,
155 isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean,
156 sendAccessibilityEvent(handle: PublicInstance, eventType: string): void,
@@ -210,7 +210,7 @@ export type LayoutAnimationProperty =
210 | 'scaleY'
211 | 'scaleXY';
212
213 -export type LayoutAnimationAnimationConfig = $ReadOnly<{
213 +export type LayoutAnimationAnimationConfig = Readonly<{
214 duration?: number,
215 delay?: number,
216 springDamping?: number,
@@ -219,7 +219,7 @@ export type LayoutAnimationAnimationConfig = $ReadOnly<{
219 property?: LayoutAnimationProperty,
220 }>;
221
222 -export type LayoutAnimationConfig = $ReadOnly<{
222 +export type LayoutAnimationConfig = Readonly<{
223 duration: number,
224 create?: LayoutAnimationAnimationConfig,
225 update?: LayoutAnimationAnimationConfig,
packages/react-reconciler/src/ReactFiberHooks.js
+2 -2
@@ -3826,8 +3826,8 @@ function enqueueRenderPhaseUpdate<S, A>(
3826 // This is a render phase update. Stash it in a lazily-created map of
3827 // queue -> linked list of updates. After this render pass, we'll restart
3828 // and apply the stashed updates on top of the work-in-progress hook.
3829 - didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =
3830 - true;
3829 + didScheduleRenderPhaseUpdateDuringThisPass =
3830 + didScheduleRenderPhaseUpdate = true;
3831 const pending = queue.pending;
3832 if (pending === null) {
3833 // This is the first update. Create a circular list.
scripts/rollup/shims/react-native/ReactNativeViewConfigRegistry.js
+3 -3
@@ -16,8 +16,8 @@ import invariant from 'invariant';
16
17 // Event configs
18 export const customBubblingEventTypes: {
19 - [eventName: string]: $ReadOnly<{
20 - phasedRegistrationNames: $ReadOnly<{
19 + [eventName: string]: Readonly<{
20 + phasedRegistrationNames: Readonly<{
21 captured: string,
22 bubbled: string,
23 skipBubbling?: ?boolean,
@@ -25,7 +25,7 @@ export const customBubblingEventTypes: {
25 }>,
26 } = {};
27 export const customDirectEventTypes: {
28 - [eventName: string]: $ReadOnly<{
28 + [eventName: string]: Readonly<{
29 registrationName: string,
30 }>,
31 } = {};
yarn.lock
+16 -28
@@ -5508,12 +5508,12 @@ babel-plugin-polyfill-regenerator@^0.6.1:
5508 dependencies:
5509 "@babel/helper-define-polyfill-provider" "^0.6.3"
5510
5511 -babel-plugin-syntax-hermes-parser@^0.32.0:
5512 - version "0.32.0"
5513 - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.32.0.tgz#06f7452bf91adf6cafd7c98e7467404d4eb65cec"
5514 - integrity sha512-m5HthL++AbyeEA2FcdwOLfVFvWYECOBObLHNqdR8ceY4TsEdn4LdX2oTvbB2QJSSElE2AWA/b2MXZ/PF/CqLZg==
5511 +babel-plugin-syntax-hermes-parser@^0.36.1:
5512 + version "0.36.1"
5513 + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.36.1.tgz#970277618fbec67b400bf8b01e4f61ba96ef5a40"
5514 + integrity sha512-ycduwJbvdvIMmVvlAZqGggS+pm5Eu4Bk9pcV9Sm2Z4PJNRVsKkv0g7vHj+LeuC1gHTeF67sJXFOq61IlqCa2hA==
5515 dependencies:
5516 - hermes-parser "0.32.0"
5516 + hermes-parser "0.36.1"
5517
5518 babel-plugin-syntax-trailing-function-commas@^6.5.0:
5519 version "6.22.0"
@@ -10125,38 +10125,26 @@ hasown@^2.0.0, hasown@^2.0.2:
10125 dependencies:
10126 function-bind "^1.1.2"
10127
10128 -hermes-eslint@^0.32.0:
10129 - version "0.32.0"
10130 - resolved "https://registry.yarnpkg.com/hermes-eslint/-/hermes-eslint-0.32.0.tgz#a23bcaece522f356cb1b8e990e57117dca13852d"
10131 - integrity sha512-f/gnFD3Nl7QNrclG6otkHnHsUbwYrJGO76AMtoDeIYs2+i7fFgqJgSg7DKwejTtAKBoXQg51hAQuo9cgcp1R1w==
10128 +hermes-eslint@^0.36.1:
10129 + version "0.36.1"
10130 + resolved "https://registry.yarnpkg.com/hermes-eslint/-/hermes-eslint-0.36.1.tgz#c7263e3a3db38621f16b9b122fee14c062faf4ea"
10131 + integrity sha512-aX8LUlLRHLAkELYWdz4IhRnZ/+Sbmmo5TzDEtsDiDuPIplaStzMnX84aTmPufQOyxZir5GjGxAiqdt+y4GcooA==
10132 dependencies:
10133 esrecurse "^4.3.0"
10134 - hermes-estree "0.32.0"
10135 - hermes-parser "0.32.0"
10134 + hermes-estree "0.36.1"
10135 + hermes-parser "0.36.1"
10136
10137 hermes-estree@0.25.1:
10138 version "0.25.1"
10139 resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.25.1.tgz#6aeec17d1983b4eabf69721f3aa3eb705b17f480"
10140 integrity sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==
10141
10142 -hermes-estree@0.32.0:
10143 - version "0.32.0"
10144 - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.32.0.tgz#bb7da6613ab8e67e334a1854ea1e209f487d307b"
10145 - integrity sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ==
10146 -
10142 hermes-estree@0.36.1:
10143 version "0.36.1"
10144 resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.36.1.tgz#71368d9e78238728e11ef1f458a8921d0564a572"
10145 integrity sha512-guv1nQ6IJ7S83NRFPWc3SA7IBZrdNC9kapwOq6uXvF4wP+sDCgjzQbKPCoyYmoyZRzztF/n/c36l/rccCZSiCw==
10146
10152 -hermes-parser@0.32.0, hermes-parser@^0.32.0:
10153 - version "0.32.0"
10154 - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.32.0.tgz#7916984ef6fdce62e7415d354cf35392061cd303"
10155 - integrity sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw==
10156 - dependencies:
10157 - hermes-estree "0.32.0"
10158 -
10159 -hermes-parser@0.36.1:
10147 +hermes-parser@0.36.1, hermes-parser@^0.36.1:
10148 version "0.36.1"
10149 resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.36.1.tgz#f619b9f99bf34e80fb6f7024b1c62944d2beb14a"
10150 integrity sha512-GApNk4zLHi2UWoWZZkx7LNCOSzLSc5lB55pZ/PhK7ycFeg7u5LcF88p/WbpIi1XUDtE0MpHE3uRR3u3KB7TjSQ==
@@ -14237,10 +14225,10 @@ prepend-http@^2.0.0:
14225 resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
14226 integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
14227
14240 -prettier-plugin-hermes-parser@^0.32.0:
14241 - version "0.32.0"
14242 - resolved "https://registry.yarnpkg.com/prettier-plugin-hermes-parser/-/prettier-plugin-hermes-parser-0.32.0.tgz#647cf22d77c76f9537e82d9de72c1a18c0749a9f"
14243 - integrity sha512-Tx3rnrnu8z71g2AVXQYYlbHDuoXZ6vD4X/qTySGiqxebNNtFWqO04PcLEH7eTEXx8GhrfEE51oS19ZiglcdcLw==
14228 +prettier-plugin-hermes-parser@^0.36.1:
14229 + version "0.36.1"
14230 + resolved "https://registry.yarnpkg.com/prettier-plugin-hermes-parser/-/prettier-plugin-hermes-parser-0.36.1.tgz#827935227ba28d8da6a12d97022516d305953c95"
14231 + integrity sha512-i1wirokdDStTGNtYGlE9Y4Mf4W7VYo43Uz4j/Fhm63FsPdxVFgSeeaSPDYDbXMRDYpEKyNtB/k3FlcH4VKYlnQ==
14232
14233 prettier@*, prettier@^3.3.3:
14234 version "3.3.3"