react-native-windows 0.72.0-preview.1 → 0.72.0-preview.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,8 +16,8 @@
16
16
  -->
17
17
  <EnableSourceLink Condition="'$(EnableSourceLink)' == ''">false</EnableSourceLink>
18
18
  <!-- When bumping the Folly version, be sure to bump the git hash of that version's commit and build Folly.vcxproj (to update its cgmanifest.json) too. -->
19
- <FollyVersion>2022.11.07.00</FollyVersion>
20
- <FollyCommitHash>2aa28128d1f7a04b41521367f0b615f782814089</FollyCommitHash>
19
+ <FollyVersion>2022.11.28.00</FollyVersion>
20
+ <FollyCommitHash>6ed36117cdc4831f3a3951e013ae76b405e88e15</FollyCommitHash>
21
21
  <!-- When bumping the fmt version, be sure to bump the git hash of that version's commit and build fmt.vcxproj (to update its cgmanifest.json) too. -->
22
22
  <FmtVersion>8.0.0</FmtVersion>
23
23
  <FmtCommitHash>9e8b86fd2d9806672cc73133d21780dd182bfd24</FmtCommitHash>
@@ -6,7 +6,7 @@
6
6
  "Type": "git",
7
7
  "Git": {
8
8
  "RepositoryUrl": "https://github.com/facebook/folly",
9
- "CommitHash": "2aa28128d1f7a04b41521367f0b615f782814089"
9
+ "CommitHash": "6ed36117cdc4831f3a3951e013ae76b405e88e15"
10
10
  }
11
11
  },
12
12
  "DevelopmentDependency": false
@@ -33,7 +33,10 @@ interface Agent {
33
33
  removeListener(event: $Keys<AgentEvents>, listener: () => void): void;
34
34
  }
35
35
 
36
- type PublicInstance = {
36
+ type TraceNode = {
37
+ publicInstance?: TraceNode,
38
+ // TODO: remove this field when syncing the new version of the renderer from React to React Native.
39
+ canonical?: TraceNode,
37
40
  measure?: (
38
41
  (
39
42
  x: number,
@@ -46,16 +49,6 @@ type PublicInstance = {
46
49
  ) => void,
47
50
  };
48
51
 
49
- type TraceNode =
50
- | PublicInstance
51
- | {
52
- canonical?:
53
- | PublicInstance // TODO: remove this variant when syncing the new version of the renderer from React to React Native.
54
- | {
55
- publicInstance?: PublicInstance,
56
- },
57
- };
58
-
59
52
  type ReactDevToolsGlobalHook = {
60
53
  on: (eventName: string, (agent: Agent) => void) => void,
61
54
  off: (eventName: string, (agent: Agent) => void) => void,
@@ -109,14 +102,11 @@ export default function TraceUpdateOverlay(): React.Node {
109
102
 
110
103
  const newFramesToDraw: Array<Promise<Overlay>> = [];
111
104
  nodesToDraw.forEach(({node, color}) => {
112
- // `canonical.publicInstance` => Fabric
105
+ // `publicInstance` => Fabric
113
106
  // TODO: remove this check when syncing the new version of the renderer from React to React Native.
114
107
  // `canonical` => Legacy Fabric
115
108
  // `node` => Legacy renderer
116
- const component =
117
- (node.canonical && node.canonical.publicInstance) ??
118
- node.canonical ??
119
- node;
109
+ const component = node.publicInstance ?? node.canonical ?? node;
120
110
  if (!component || !component.measure) {
121
111
  return;
122
112
  }
@@ -62,7 +62,6 @@ const View: React.AbstractComponent<
62
62
  }: ViewProps,
63
63
  forwardedRef,
64
64
  ) => {
65
- const hasTextAncestor = React.useContext(TextAncestor);
66
65
  const _accessibilityLabelledBy =
67
66
  ariaLabelledBy?.split(/\s*,\s*/g) ?? accessibilityLabelledBy;
68
67
 
@@ -104,42 +103,36 @@ const View: React.AbstractComponent<
104
103
 
105
104
  const newPointerEvents = style?.pointerEvents || pointerEvents;
106
105
 
107
- const actualView = (
108
- <ViewNativeComponent
109
- {...otherProps}
110
- accessibilityLiveRegion={
111
- ariaLive === 'off' ? 'none' : ariaLive ?? accessibilityLiveRegion
112
- }
113
- accessibilityLabel={ariaLabel ?? accessibilityLabel}
114
- focusable={tabIndex !== undefined ? !tabIndex : focusable}
115
- accessibilityState={_accessibilityState}
116
- accessibilityRole={
117
- role ? getAccessibilityRoleFromRole(role) : accessibilityRole
118
- }
119
- accessibilityElementsHidden={ariaHidden ?? accessibilityElementsHidden}
120
- accessibilityLabelledBy={_accessibilityLabelledBy}
121
- accessibilityValue={_accessibilityValue}
122
- importantForAccessibility={
123
- ariaHidden === true
124
- ? 'no-hide-descendants'
125
- : importantForAccessibility
126
- }
127
- nativeID={id ?? nativeID}
128
- style={style}
129
- pointerEvents={newPointerEvents}
130
- ref={forwardedRef}
131
- />
106
+ return (
107
+ <TextAncestor.Provider value={false}>
108
+ <ViewNativeComponent
109
+ {...otherProps}
110
+ accessibilityLiveRegion={
111
+ ariaLive === 'off' ? 'none' : ariaLive ?? accessibilityLiveRegion
112
+ }
113
+ accessibilityLabel={ariaLabel ?? accessibilityLabel}
114
+ focusable={tabIndex !== undefined ? !tabIndex : focusable}
115
+ accessibilityState={_accessibilityState}
116
+ accessibilityRole={
117
+ role ? getAccessibilityRoleFromRole(role) : accessibilityRole
118
+ }
119
+ accessibilityElementsHidden={
120
+ ariaHidden ?? accessibilityElementsHidden
121
+ }
122
+ accessibilityLabelledBy={_accessibilityLabelledBy}
123
+ accessibilityValue={_accessibilityValue}
124
+ importantForAccessibility={
125
+ ariaHidden === true
126
+ ? 'no-hide-descendants'
127
+ : importantForAccessibility
128
+ }
129
+ nativeID={id ?? nativeID}
130
+ style={style}
131
+ pointerEvents={newPointerEvents}
132
+ ref={forwardedRef}
133
+ />
134
+ </TextAncestor.Provider>
132
135
  );
133
-
134
- if (hasTextAncestor) {
135
- return (
136
- <TextAncestor.Provider value={false}>
137
- {actualView}
138
- </TextAncestor.Provider>
139
- );
140
- }
141
-
142
- return actualView;
143
136
  },
144
137
  );
145
138
 
@@ -11,7 +11,7 @@
11
11
 
12
12
  exports.version = {
13
13
  major: 0,
14
- minor: 0,
14
+ minor: 72,
15
15
  patch: 0,
16
- prerelease: '20230321-2153-7b86e3aae',
16
+ prerelease: 'rc.1',
17
17
  };
@@ -39,8 +39,12 @@ exports.checkVersions = function checkVersions(): void {
39
39
  }
40
40
  };
41
41
 
42
+ // Note: in OSS, the prerelease version is usually 0.Y.0-rc.W, so it is a string and not a number
43
+ // Then we need to keep supporting that object shape.
42
44
  function _formatVersion(
43
- version: (typeof Platform)['constants']['reactNativeVersion'],
45
+ version:
46
+ | (typeof Platform)['constants']['reactNativeVersion']
47
+ | {major: number, minor: number, patch: number, prerelease: ?string},
44
48
  ): string {
45
49
  return (
46
50
  `${version.major}.${version.minor}.${version.patch}` +
@@ -52,14 +52,11 @@ export default function DevtoolsOverlay({
52
52
  function onAgentShowNativeHighlight(node: any) {
53
53
  clearTimeout(hideTimeoutId);
54
54
 
55
- // `canonical.publicInstance` => Fabric
55
+ // `publicInstance` => Fabric
56
+ // TODO: remove this check when syncing the new version of the renderer from React to React Native.
56
57
  // `canonical` => Legacy Fabric
57
58
  // `node` => Legacy renderer
58
- const component =
59
- (node.canonical && node.canonical.publicInstance) ??
60
- // TODO: remove this check when syncing the new version of the renderer from React to React Native.
61
- node.canonical ??
62
- node;
59
+ const component = node.publicInstance ?? node.canonical ?? node;
63
60
  if (!component || !component.measure) {
64
61
  return;
65
62
  }
@@ -295,7 +295,7 @@ let longPressDeactivationDistance = DEFAULT_LONG_PRESS_DEACTIVATION_DISTANCE;
295
295
  *
296
296
  * - When a press has activated (e.g. highlight an element)
297
297
  * - When a press has deactivated (e.g. un-highlight an element)
298
- * - When a press should trigger an action, meaning it activated and deactivated
298
+ * - When a press sould trigger an action, meaning it activated and deactivated
299
299
  * while within the geometry of the element without the lock being stolen.
300
300
  *
301
301
  * A high quality interaction isn't as simple as you might think. There should
@@ -9,7 +9,6 @@
9
9
  */
10
10
 
11
11
  import type {RootTag} from '../Types/RootTagTypes';
12
- import type {Spec as FabricUIManagerSpec} from './FabricUIManager';
13
12
  import type {Spec} from './NativeUIManager';
14
13
 
15
14
  import {getFabricUIManager} from './FabricUIManager';
@@ -175,6 +174,33 @@ const UIManager = {
175
174
  );
176
175
  }
177
176
  },
177
+
178
+ dispatchViewManagerCommand(
179
+ reactTag: number,
180
+ commandName: number | string,
181
+ commandArgs: any[],
182
+ ) {
183
+ if (isFabricReactTag(reactTag)) {
184
+ const FabricUIManager = nullthrows(getFabricUIManager());
185
+ const shadowNode =
186
+ FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);
187
+ if (shadowNode) {
188
+ // Transform the accidental CommandID into a CommandName which is the stringified number.
189
+ // The interop layer knows how to convert this number into the right method name.
190
+ // Stringify a string is a no-op, so it's safe.
191
+ commandName = `${commandName}`;
192
+ FabricUIManager.dispatchCommand(shadowNode, commandName, commandArgs);
193
+ }
194
+ } else {
195
+ UIManagerImpl.dispatchViewManagerCommand(
196
+ reactTag,
197
+ // We have some legacy components that are actually already using strings. ¯\_(ツ)_/¯
198
+ // $FlowFixMe[incompatible-call]
199
+ commandName,
200
+ commandArgs,
201
+ );
202
+ }
203
+ },
178
204
  };
179
205
 
180
206
  module.exports = UIManager;
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @noformat
8
8
  * @flow strict
9
- * @generated SignedSource<<7dc3ed81183377055bac08760fcd775b>>
9
+ * @generated SignedSource<<265b342f0d29323bebb711ba0bc882ec>>
10
10
  *
11
11
  * This file was sync'd from the facebook/react repository.
12
12
  */
@@ -98,23 +98,7 @@ export type PartialViewConfig = $ReadOnly<{
98
98
  validAttributes?: PartialAttributeConfiguration,
99
99
  }>;
100
100
 
101
- /**
102
- * Current usages should migrate to this definition
103
- */
104
- export interface INativeMethods {
105
- blur(): void;
106
- focus(): void;
107
- measure(callback: MeasureOnSuccessCallback): void;
108
- measureInWindow(callback: MeasureInWindowOnSuccessCallback): void;
109
- measureLayout(
110
- relativeToNativeNode: number | ElementRef<HostComponent<mixed>>,
111
- onSuccess: MeasureLayoutOnSuccessCallback,
112
- onFail?: () => void,
113
- ): void;
114
- setNativeProps(nativeProps: {...}): void;
115
- }
116
-
117
- export type NativeMethods = $ReadOnly<{|
101
+ export type NativeMethods = $ReadOnly<{
118
102
  blur(): void,
119
103
  focus(): void,
120
104
  measure(callback: MeasureOnSuccessCallback): void,
@@ -125,11 +109,7 @@ export type NativeMethods = $ReadOnly<{|
125
109
  onFail?: () => void,
126
110
  ): void,
127
111
  setNativeProps(nativeProps: {...}): void,
128
- |}>;
129
-
130
- // This validates that INativeMethods and NativeMethods stay in sync using Flow!
131
- declare var ensureNativeMethodsAreSynced: NativeMethods;
132
- (ensureNativeMethodsAreSynced: INativeMethods);
112
+ }>;
133
113
 
134
114
  export type HostComponent<T> = AbstractComponent<T, $ReadOnly<NativeMethods>>;
135
115
 
@@ -215,10 +195,6 @@ export type ReactNativeType = {
215
195
  ...
216
196
  };
217
197
 
218
- export opaque type Node = mixed;
219
- type InternalInstanceHandle = mixed;
220
- type PublicInstance = mixed;
221
-
222
198
  export type ReactFabricType = {
223
199
  findHostInstance_DEPRECATED<TElementType: ElementType>(
224
200
  componentOrHandle: ?(ElementRef<TElementType> | number),
@@ -242,12 +218,18 @@ export type ReactFabricType = {
242
218
  concurrentRoot: ?boolean,
243
219
  ): ?ElementRef<ElementType>,
244
220
  unmountComponentAtNode(containerTag: number): void,
245
- getNodeFromInternalInstanceHandle(
246
- internalInstanceHandle: InternalInstanceHandle,
247
- ): ?Node,
248
- getPublicInstanceFromInternalInstanceHandle(
249
- internalInstanceHandle: InternalInstanceHandle,
250
- ): PublicInstance,
221
+ ...
222
+ };
223
+
224
+ export type ReactNativeEventTarget = {
225
+ node: {...},
226
+ canonical: {
227
+ _nativeTag: number,
228
+ viewConfig: ViewConfig,
229
+ currentProps: {...},
230
+ _internalInstanceHandle: {...},
231
+ ...
232
+ },
251
233
  ...
252
234
  };
253
235
 
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ * @format
9
+ */
10
+
11
+ import type {TurboModule} from '../TurboModule/RCTExport';
12
+
13
+ import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
+
15
+ export interface Spec extends TurboModule {
16
+ +loadBundle: (bundlePath: string) => Promise<void>;
17
+ }
18
+
19
+ export default (TurboModuleRegistry.get<Spec>('DevSplitBundleLoader'): ?Spec);
@@ -13,7 +13,7 @@
13
13
  import type {ColorSchemeName} from './NativeAppearance';
14
14
 
15
15
  import Appearance from './Appearance';
16
- import {useSyncExternalStore} from 'react';
16
+ import {useSyncExternalStore} from 'use-sync-external-store/shim';
17
17
 
18
18
  export default function useColorScheme(): ?ColorSchemeName {
19
19
  return useSyncExternalStore(
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict-local
9
+ */
10
+
11
+ 'use strict';
12
+
13
+ import type {ColorSchemeName} from './NativeAppearance';
14
+
15
+ import Appearance from './Appearance';
16
+ import {useSyncExternalStore} from 'react';
17
+
18
+ export default function useColorScheme(): ?ColorSchemeName {
19
+ return useSyncExternalStore(
20
+ callback => {
21
+ const appearanceSubscription = Appearance.addChangeListener(callback);
22
+ return () => appearanceSubscription.remove();
23
+ },
24
+ () => Appearance.getColorScheme(),
25
+ );
26
+ }
@@ -10,11 +10,11 @@
10
10
  -->
11
11
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12
12
  <PropertyGroup>
13
- <ReactNativeWindowsVersion>0.72.0-preview.1</ReactNativeWindowsVersion>
13
+ <ReactNativeWindowsVersion>0.72.0-preview.2</ReactNativeWindowsVersion>
14
14
  <ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
15
15
  <ReactNativeWindowsMinor>72</ReactNativeWindowsMinor>
16
16
  <ReactNativeWindowsPatch>0</ReactNativeWindowsPatch>
17
17
  <ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
18
- <ReactNativeWindowsCommitId>6c01774188f98145e5dd501361321aee9dc0f0ba</ReactNativeWindowsCommitId>
18
+ <ReactNativeWindowsCommitId>24fa0f13c7523c9ab499b0d8c9514cb7dc369ad3</ReactNativeWindowsCommitId>
19
19
  </PropertyGroup>
20
20
  </Project>
@@ -215,7 +215,7 @@ function CheckNode {
215
215
  $nodeVersion = (Get-Command node -ErrorAction Stop).Version;
216
216
  Write-Verbose "Node version found: $nodeVersion";
217
217
  $v = $nodeVersion.Major;
218
- return ($v -ge 14) -and (($v % 2) -eq 0);
218
+ return ($v -ge 16) -and (($v % 2) -eq 0);
219
219
  } catch { Write-Debug $_ }
220
220
 
221
221
  Write-Verbose "Node not found.";
@@ -360,7 +360,7 @@ $requiredFreeSpaceGB = 15;
360
360
  $requirements = @(
361
361
  @{
362
362
  Id=[CheckId]::FreeSpace;
363
- Name = "Free space on $drive`: > $requiredFreeSpaceGB GB";
363
+ Name = "Free space on current drive > $requiredFreeSpaceGB GB";
364
364
  Tags = @('appDev');
365
365
  Valid = { $drive.Free/1GB -gt $requiredFreeSpaceGB; }
366
366
  HasVerboseOutput = $true;
@@ -412,7 +412,7 @@ $requirements = @(
412
412
  },
413
413
  @{
414
414
  Id=[CheckId]::Node;
415
- Name = 'Node.js (LTS, >= 14.0)';
415
+ Name = 'Node.js (LTS, >= 16.0)';
416
416
  Tags = @('appDev');
417
417
  Valid = { CheckNode; }
418
418
  Install = { choco install -y nodejs-lts };
@@ -0,0 +1,33 @@
1
+
2
+ /*
3
+ * This file is auto-generated from a NativeModule spec file in js.
4
+ *
5
+ * This is a C++ Spec class that should be used with MakeTurboModuleProvider to register native modules
6
+ * in a way that also verifies at compile time that the native module matches the interface required
7
+ * by the TurboModule JS spec.
8
+ */
9
+ #pragma once
10
+
11
+ #include "NativeModules.h"
12
+ #include <tuple>
13
+
14
+ namespace Microsoft::ReactNativeSpecs {
15
+
16
+ struct DevSplitBundleLoaderSpec : winrt::Microsoft::ReactNative::TurboModuleSpec {
17
+ static constexpr auto methods = std::tuple{
18
+ Method<void(std::string, Promise<void>) noexcept>{0, L"loadBundle"},
19
+ };
20
+
21
+ template <class TModule>
22
+ static constexpr void ValidateModule() noexcept {
23
+ constexpr auto methodCheckResults = CheckMethods<TModule, DevSplitBundleLoaderSpec>();
24
+
25
+ REACT_SHOW_METHOD_SPEC_ERRORS(
26
+ 0,
27
+ "loadBundle",
28
+ " REACT_METHOD(loadBundle) void loadBundle(std::string bundlePath, ::React::ReactPromise<void> &&result) noexcept { /* implementation */ }\n"
29
+ " REACT_METHOD(loadBundle) static void loadBundle(std::string bundlePath, ::React::ReactPromise<void> &&result) noexcept { /* implementation */ }\n");
30
+ }
31
+ };
32
+
33
+ } // namespace Microsoft::ReactNativeSpecs
@@ -1095,6 +1095,14 @@ NativeDevLoadingViewCxxSpecJSI::NativeDevLoadingViewCxxSpecJSI(std::shared_ptr<C
1095
1095
  methodMap_["showMessage"] = MethodMetadata {3, __hostFunction_NativeDevLoadingViewCxxSpecJSI_showMessage};
1096
1096
  methodMap_["hide"] = MethodMetadata {0, __hostFunction_NativeDevLoadingViewCxxSpecJSI_hide};
1097
1097
  }
1098
+ static jsi::Value __hostFunction_NativeDevSplitBundleLoaderCxxSpecJSI_loadBundle(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
1099
+ return static_cast<NativeDevSplitBundleLoaderCxxSpecJSI *>(&turboModule)->loadBundle(rt, args[0].asString(rt));
1100
+ }
1101
+
1102
+ NativeDevSplitBundleLoaderCxxSpecJSI::NativeDevSplitBundleLoaderCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker)
1103
+ : TurboModule("DevSplitBundleLoader", jsInvoker) {
1104
+ methodMap_["loadBundle"] = MethodMetadata {1, __hostFunction_NativeDevSplitBundleLoaderCxxSpecJSI_loadBundle};
1105
+ }
1098
1106
  static jsi::Value __hostFunction_NativePlatformConstantsAndroidCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
1099
1107
  return static_cast<NativePlatformConstantsAndroidCxxSpecJSI *>(&turboModule)->getConstants(rt);
1100
1108
  }
@@ -4076,6 +4076,50 @@ private:
4076
4076
  };
4077
4077
 
4078
4078
 
4079
+ class JSI_EXPORT NativeDevSplitBundleLoaderCxxSpecJSI : public TurboModule {
4080
+ protected:
4081
+ NativeDevSplitBundleLoaderCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4082
+
4083
+ public:
4084
+ virtual jsi::Value loadBundle(jsi::Runtime &rt, jsi::String bundlePath) = 0;
4085
+
4086
+ };
4087
+
4088
+ template <typename T>
4089
+ class JSI_EXPORT NativeDevSplitBundleLoaderCxxSpec : public TurboModule {
4090
+ public:
4091
+ jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4092
+ return delegate_.get(rt, propName);
4093
+ }
4094
+
4095
+ protected:
4096
+ NativeDevSplitBundleLoaderCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
4097
+ : TurboModule("DevSplitBundleLoader", jsInvoker),
4098
+ delegate_(static_cast<T*>(this), jsInvoker) {}
4099
+
4100
+ private:
4101
+ class Delegate : public NativeDevSplitBundleLoaderCxxSpecJSI {
4102
+ public:
4103
+ Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
4104
+ NativeDevSplitBundleLoaderCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {}
4105
+
4106
+ jsi::Value loadBundle(jsi::Runtime &rt, jsi::String bundlePath) override {
4107
+ static_assert(
4108
+ bridging::getParameterCount(&T::loadBundle) == 2,
4109
+ "Expected loadBundle(...) to have 2 parameters");
4110
+
4111
+ return bridging::callFromJs<jsi::Value>(
4112
+ rt, &T::loadBundle, jsInvoker_, instance_, std::move(bundlePath));
4113
+ }
4114
+
4115
+ private:
4116
+ T *instance_;
4117
+ };
4118
+
4119
+ Delegate delegate_;
4120
+ };
4121
+
4122
+
4079
4123
  class JSI_EXPORT NativePlatformConstantsAndroidCxxSpecJSI : public TurboModule {
4080
4124
  protected:
4081
4125
  NativePlatformConstantsAndroidCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-windows",
3
- "version": "0.72.0-preview.1",
3
+ "version": "0.72.0-preview.2",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,10 +23,10 @@
23
23
  "dependencies": {
24
24
  "@babel/runtime": "^7.0.0",
25
25
  "@jest/create-cache-key-function": "^29.2.1",
26
- "@react-native-community/cli": "11.0.0-alpha.2",
27
- "@react-native-community/cli-platform-android": "11.0.0-alpha.2",
28
- "@react-native-community/cli-platform-ios": "11.0.0-alpha.2",
29
- "@react-native-windows/cli": "0.72.0-preview.1",
26
+ "@react-native-community/cli": "11.2.0",
27
+ "@react-native-community/cli-platform-android": "11.2.0",
28
+ "@react-native-community/cli-platform-ios": "11.2.0",
29
+ "@react-native-windows/cli": "0.72.0-preview.2",
30
30
  "@react-native/assets": "1.0.0",
31
31
  "@react-native/assets-registry": "^0.72.0",
32
32
  "@react-native/codegen": "^0.72.3",
@@ -44,8 +44,8 @@
44
44
  "jest-environment-node": "^29.2.1",
45
45
  "jsc-android": "^250231.0.0",
46
46
  "memoize-one": "^5.0.0",
47
- "metro-runtime": "0.75.1",
48
- "metro-source-map": "0.75.1",
47
+ "metro-runtime": "0.76.2",
48
+ "metro-source-map": "0.76.2",
49
49
  "mkdirp": "^0.5.1",
50
50
  "nullthrows": "^1.1.1",
51
51
  "pretty-format": "^26.5.2",
@@ -62,24 +62,24 @@
62
62
  "yargs": "^17.6.2"
63
63
  },
64
64
  "devDependencies": {
65
- "@react-native-windows/codegen": "0.72.0-preview.1",
65
+ "@react-native-windows/codegen": "0.72.0-preview.2",
66
66
  "@rnw-scripts/babel-react-native-config": "0.0.0",
67
67
  "@rnw-scripts/eslint-config": "1.1.15",
68
68
  "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.1",
69
69
  "@rnw-scripts/just-task": "2.3.6",
70
70
  "@rnw-scripts/metro-dev-config": "0.0.0",
71
71
  "@rnx-kit/jest-preset": "^0.1.0",
72
- "@types/node": "^14.14.22",
72
+ "@types/node": "^16.0.0",
73
73
  "@types/react": "^18.0.18",
74
74
  "eslint": "^8.19.0",
75
75
  "eslint-plugin-prettier": "^4.2.1",
76
76
  "flow-bin": "^0.202.0",
77
77
  "jscodeshift": "^0.14.0",
78
78
  "just-scripts": "^1.3.3",
79
- "metro-config": "0.73.7",
79
+ "metro-config": "0.76.2",
80
80
  "prettier": "^2.4.1",
81
81
  "react": "18.2.0",
82
- "react-native": "0.0.0-20230321-2153-7b86e3aae",
82
+ "react-native": "0.72.0-rc.1",
83
83
  "react-native-platform-override": "^1.9.4",
84
84
  "react-refresh": "^0.4.0",
85
85
  "typescript": "^4.9.5"
@@ -144,6 +144,6 @@
144
144
  ],
145
145
  "promoteRelease": true,
146
146
  "engines": {
147
- "node": ">= 14"
147
+ "node": ">= 16"
148
148
  }
149
149
  }