mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Compare commits
66
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
98b804a09f | ||
|
|
fc5cf54d6d | ||
|
|
757bb75fbf | ||
|
|
f7ce3f0d85 | ||
|
|
395e8ecab5 | ||
|
|
09dd3e9096 | ||
|
|
eaed48fc7d | ||
|
|
d894163662 | ||
|
|
a05d179b6a | ||
|
|
a6a4d3365f | ||
|
|
cda77c77dd | ||
|
|
787567a150 | ||
|
|
cf8a364767 | ||
|
|
1c4ac48a55 | ||
|
|
76f45d35e7 | ||
|
|
3912fef6bf | ||
|
|
ace025d2cb | ||
|
|
728d55a3e1 | ||
|
|
8a6ac1fef3 | ||
|
|
138fdbceda | ||
|
|
7f3f80fc94 | ||
|
|
1aa4f47e2f | ||
|
|
48a97d766d | ||
|
|
e7e4b00a1c | ||
|
|
14db556963 | ||
|
|
4b68734e56 | ||
|
|
7159bcbf72 | ||
|
|
e846740d38 | ||
|
|
c023a4061a | ||
|
|
7004cac535 | ||
|
|
5ada078578 | ||
|
|
937ced3b6e | ||
|
|
e5888de3b5 | ||
|
|
0636c458a6 | ||
|
|
224c85a0ba | ||
|
|
7ec38b9f44 | ||
|
|
052447c9ac | ||
|
|
70ba9acfe9 | ||
|
|
1eb7d4aef7 | ||
|
|
4481d09865 | ||
|
|
ed237b4792 | ||
|
|
5c09b3fb5b | ||
|
|
2ba3ef5b19 | ||
|
|
52129b235a | ||
|
|
eb85d1dbd1 | ||
|
|
fffa4d1ae6 | ||
|
|
15f2413be6 | ||
|
|
d823aef9ee | ||
|
|
d8a0a9b1d0 | ||
|
|
a99676ed6c | ||
|
|
d197e95893 | ||
|
|
cda29d2124 | ||
|
|
e2be26a68f | ||
|
|
9f0f8a5345 | ||
|
|
0117077b95 | ||
|
|
017dc45c62 | ||
|
|
f7d0b83492 | ||
|
|
65003d7436 | ||
|
|
727d755441 | ||
|
|
e79ecb5122 | ||
|
|
9f49f8a0f1 | ||
|
|
68110d4ab3 | ||
|
|
0f5fb5ebc0 | ||
|
|
fb2991e3e7 | ||
|
|
06fedcd32d | ||
|
|
2313d45da9 |
+10
-8
@@ -423,7 +423,7 @@ jobs:
|
||||
steps:
|
||||
- run:
|
||||
name: Generate RNTesterPods Workspace
|
||||
command: cd packages/rn-tester && bundle exec pod install --verbose
|
||||
command: cd packages/rn-tester && USE_FABRIC=1 bundle exec pod install --verbose
|
||||
|
||||
# -------------------------
|
||||
# Runs iOS unit tests
|
||||
@@ -789,13 +789,15 @@ workflows:
|
||||
run_unit_tests: true
|
||||
requires:
|
||||
- setup_ios
|
||||
- test_ios:
|
||||
name: test_ios_unit_frameworks_hermes
|
||||
use_hermes: true
|
||||
use_frameworks: true
|
||||
run_unit_tests: true
|
||||
requires:
|
||||
- setup_ios
|
||||
# Hermes doesn't support dynamic frameworks right now.
|
||||
# The following configuration will fail.
|
||||
# - test_ios:
|
||||
# name: test_ios_unit_frameworks_hermes
|
||||
# use_hermes: true
|
||||
# use_frameworks: true
|
||||
# run_unit_tests: true
|
||||
# requires:
|
||||
# - setup_ios
|
||||
# - test_ios:
|
||||
# name: test_ios_detox
|
||||
# run_detox_tests: true
|
||||
|
||||
@@ -15,3 +15,7 @@ indent_size = 4
|
||||
|
||||
[BUCK]
|
||||
indent_size = 4
|
||||
|
||||
# Windows files
|
||||
[*.bat]
|
||||
end_of_line = crlf
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# Windows files should use crlf line endings
|
||||
# https://help.github.com/articles/dealing-with-line-endings/
|
||||
*.bat text eol=crlf
|
||||
+2
-5
@@ -85,9 +85,9 @@ package-lock.json
|
||||
|
||||
# Libs that shouldn't have Xcode project
|
||||
/Libraries/FBLazyVector/**/*.xcodeproj
|
||||
/Libraries/FBReactNativeSpec/**/*.xcodeproj
|
||||
/Libraries/RCTRequired/**/*.xcodeproj
|
||||
/React/CoreModules/**/*.xcodeproj
|
||||
/React/FBReactNativeSpec/**/*.xcodeproj
|
||||
/packages/react-native-codegen/**/*.xcodeproj
|
||||
|
||||
# CocoaPods
|
||||
@@ -100,11 +100,8 @@ package-lock.json
|
||||
!/packages/rn-tester/Pods/__offline_mirrors__
|
||||
|
||||
# react-native-codegen
|
||||
/Libraries/FBReactNativeSpec/FBReactNativeSpec
|
||||
/packages/react-native-codegen/lib
|
||||
/ReactCommon/fabric/components/rncore/
|
||||
/schema-native-modules.json
|
||||
/schema-rncore.json
|
||||
/ReactCommon/react/renderer/components/rncore/
|
||||
|
||||
# Visual studio
|
||||
.vscode
|
||||
|
||||
@@ -33,6 +33,7 @@ const ActionSheetIOS = {
|
||||
* - `destructiveButtonIndex` (int or array of ints) - index or indices of destructive buttons in `options`
|
||||
* - `title` (string) - a title to show above the action sheet
|
||||
* - `message` (string) - a message to show below the title
|
||||
* - `disabledButtonIndices` (array of numbers) - a list of button indices which should be disabled
|
||||
*
|
||||
* The 'callback' function takes one parameter, the zero-based index
|
||||
* of the selected item.
|
||||
@@ -49,6 +50,7 @@ const ActionSheetIOS = {
|
||||
+anchor?: ?number,
|
||||
+tintColor?: ColorValue | ProcessedColorValue,
|
||||
+userInterfaceStyle?: string,
|
||||
+disabledButtonIndices?: Array<number>,
|
||||
|},
|
||||
callback: (buttonIndex: number) => void,
|
||||
) {
|
||||
|
||||
@@ -25,6 +25,7 @@ export interface Spec extends TurboModule {
|
||||
+anchor?: ?number,
|
||||
+tintColor?: ?number,
|
||||
+userInterfaceStyle?: ?string,
|
||||
+disabledButtonIndices?: Array<number>,
|
||||
|},
|
||||
callback: (buttonIndex: number) => void,
|
||||
) => void;
|
||||
|
||||
@@ -107,7 +107,7 @@ export class URLSearchParams {
|
||||
|
||||
function validateBaseUrl(url: string) {
|
||||
// from this MIT-licensed gist: https://gist.github.com/dperini/729294
|
||||
return /^(?:(?:(?:https?|ftp):)?\/\/)(?:(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(
|
||||
return /^(?:(?:(?:https?|ftp):)?\/\/)(?:(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)*(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/.test(
|
||||
url,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -97,13 +97,16 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
|
||||
};
|
||||
|
||||
_onLayout = (event: ViewLayoutEvent) => {
|
||||
const wasFrameNull = this._frame == null;
|
||||
this._frame = event.nativeEvent.layout;
|
||||
if (!this._initialFrameHeight) {
|
||||
// save the initial frame height, before the keyboard is visible
|
||||
this._initialFrameHeight = this._frame.height;
|
||||
}
|
||||
|
||||
this._updateBottomIfNecesarry();
|
||||
if (wasFrameNull) {
|
||||
this._updateBottomIfNecesarry();
|
||||
}
|
||||
};
|
||||
|
||||
_updateBottomIfNecesarry = () => {
|
||||
|
||||
@@ -186,7 +186,7 @@ const ScrollResponderMixin = {
|
||||
|
||||
if (
|
||||
this.props.keyboardShouldPersistTaps === 'handled' &&
|
||||
currentlyFocusedInput != null &&
|
||||
this.scrollResponderKeyboardIsDismissible() &&
|
||||
e.target !== currentlyFocusedInput
|
||||
) {
|
||||
return true;
|
||||
@@ -223,7 +223,6 @@ const ScrollResponderMixin = {
|
||||
// and a new touch starts with a non-textinput target (in which case the
|
||||
// first tap should be sent to the scroll view and dismiss the keyboard,
|
||||
// then the second tap goes to the actual interior view)
|
||||
const currentlyFocusedTextInput = TextInputState.currentlyFocusedInput();
|
||||
const {keyboardShouldPersistTaps} = this.props;
|
||||
const keyboardNeverPersistTaps =
|
||||
!keyboardShouldPersistTaps || keyboardShouldPersistTaps === 'never';
|
||||
@@ -240,7 +239,7 @@ const ScrollResponderMixin = {
|
||||
|
||||
if (
|
||||
keyboardNeverPersistTaps &&
|
||||
currentlyFocusedTextInput != null &&
|
||||
this.scrollResponderKeyboardIsDismissible() &&
|
||||
e.target != null &&
|
||||
!TextInputState.isTextInput(e.target)
|
||||
) {
|
||||
@@ -250,6 +249,31 @@ const ScrollResponderMixin = {
|
||||
return false;
|
||||
},
|
||||
|
||||
/**
|
||||
* Do we consider there to be a dismissible soft-keyboard open?
|
||||
*/
|
||||
scrollResponderKeyboardIsDismissible: function(): boolean {
|
||||
const currentlyFocusedInput = TextInputState.currentlyFocusedInput();
|
||||
|
||||
// We cannot dismiss the keyboard without an input to blur, even if a soft
|
||||
// keyboard is open (e.g. when keyboard is open due to a native component
|
||||
// not participating in TextInputState). It's also possible that the
|
||||
// currently focused input isn't a TextInput (such as by calling ref.focus
|
||||
// on a non-TextInput).
|
||||
const hasFocusedTextInput =
|
||||
currentlyFocusedInput != null &&
|
||||
TextInputState.isTextInput(currentlyFocusedInput);
|
||||
|
||||
// Even if an input is focused, we may not have a keyboard to dismiss. E.g
|
||||
// when using a physical keyboard. Ensure we have an event for an opened
|
||||
// keyboard, except on Android where setting windowSoftInputMode to
|
||||
// adjustNone leads to missing keyboard events.
|
||||
const softKeyboardMayBeOpen =
|
||||
this.keyboardWillOpenTo != null || Platform.OS === 'android';
|
||||
|
||||
return hasFocusedTextInput && softKeyboardMayBeOpen;
|
||||
},
|
||||
|
||||
/**
|
||||
* Invoke this from an `onResponderReject` event.
|
||||
*
|
||||
@@ -324,7 +348,7 @@ const ScrollResponderMixin = {
|
||||
if (
|
||||
this.props.keyboardShouldPersistTaps !== true &&
|
||||
this.props.keyboardShouldPersistTaps !== 'always' &&
|
||||
currentlyFocusedTextInput != null &&
|
||||
this.scrollResponderKeyboardIsDismissible() &&
|
||||
e.target !== currentlyFocusedTextInput &&
|
||||
!this.state.observedScrollSinceBecomingResponder &&
|
||||
!this.state.becameResponderWhileAnimating
|
||||
|
||||
@@ -64,6 +64,7 @@ class ScrollViewStickyHeader extends React.Component<Props, State> {
|
||||
_debounceTimeout: number = Platform.OS === 'android' ? 15 : 64;
|
||||
|
||||
setNextHeaderY(y: number) {
|
||||
this._shouldRecreateTranslateY = true;
|
||||
this.setState({nextHeaderLayoutY: y});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
/**
|
||||
* @generated by scripts/bump-oss-version.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
* @generated by scripts/bump-oss-version.js
|
||||
* @flow strict
|
||||
*/
|
||||
|
||||
exports.version = {
|
||||
major: 0,
|
||||
minor: 0,
|
||||
patch: 0,
|
||||
minor: 64,
|
||||
patch: 3,
|
||||
prerelease: null,
|
||||
};
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
|
||||
const AppContainer = require('../ReactNative/AppContainer');
|
||||
const I18nManager = require('../ReactNative/I18nManager');
|
||||
import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
|
||||
import NativeModalManager from './NativeModalManager';
|
||||
const Platform = require('../Utilities/Platform');
|
||||
const React = require('react');
|
||||
const ScrollView = require('../Components/ScrollView/ScrollView');
|
||||
const StyleSheet = require('../StyleSheet/StyleSheet');
|
||||
@@ -26,6 +29,11 @@ import type {DirectEventHandler} from '../Types/CodegenTypes';
|
||||
import {type EventSubscription} from '../vendor/emitter/EventEmitter';
|
||||
import RCTModalHostView from './RCTModalHostViewNativeComponent';
|
||||
|
||||
const ModalEventEmitter =
|
||||
Platform.OS === 'ios' && NativeModalManager != null
|
||||
? new NativeEventEmitter(NativeModalManager)
|
||||
: null;
|
||||
|
||||
/**
|
||||
* The Modal component is a simple way to present content above an enclosing view.
|
||||
*
|
||||
@@ -161,9 +169,22 @@ class Modal extends React.Component<Props> {
|
||||
this._identifier = uniqueModalIdentifier++;
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
if (ModalEventEmitter) {
|
||||
this._eventSubscription = ModalEventEmitter.addListener(
|
||||
'modalDismissed',
|
||||
event => {
|
||||
if (event.modalID === this._identifier && this.props.onDismiss) {
|
||||
this.props.onDismiss();
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
if (this.props.onDismiss != null) {
|
||||
this.props.onDismiss();
|
||||
if (this._eventSubscription) {
|
||||
this._eventSubscription.remove();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
|
||||
import type {
|
||||
WithDefault,
|
||||
DirectEventHandler,
|
||||
BubblingEventHandler,
|
||||
Int32,
|
||||
} from '../Types/CodegenTypes';
|
||||
|
||||
@@ -86,6 +87,14 @@ type NativeProps = $ReadOnly<{|
|
||||
*/
|
||||
onShow?: ?DirectEventHandler<null>,
|
||||
|
||||
/**
|
||||
* The `onDismiss` prop allows passing a function that will be called once
|
||||
* the modal has been dismissed.
|
||||
*
|
||||
* See https://reactnative.dev/docs/modal.html#ondismiss
|
||||
*/
|
||||
onDismiss?: ?BubblingEventHandler<null>,
|
||||
|
||||
/**
|
||||
* Deprecated. Use the `animationType` prop instead.
|
||||
*/
|
||||
|
||||
@@ -57,6 +57,7 @@ Pod::Spec.new do |s|
|
||||
ss.exclude_files = "React/CoreModules/**/*",
|
||||
"React/DevSupport/**/*",
|
||||
"React/Fabric/**/*",
|
||||
"React/FBReactNativeSpec/**/*",
|
||||
"React/Tests/**/*",
|
||||
"React/Inspector/**/*"
|
||||
ss.private_header_files = "React/Cxx*/*.h"
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ Pod::Spec.new do |s|
|
||||
s.platforms = { :ios => "10.0" }
|
||||
s.source = source
|
||||
s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs"
|
||||
s.cocoapods_version = ">= 1.2.0"
|
||||
s.cocoapods_version = ">= 1.10.1"
|
||||
|
||||
s.dependency "React-Core", version
|
||||
s.dependency "React-Core/DevSupport", version
|
||||
|
||||
@@ -21,11 +21,11 @@ NSDictionary* RCTGetReactNativeVersion(void)
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^(void){
|
||||
__rnVersion = @{
|
||||
RCTVersionMajor: @(0),
|
||||
RCTVersionMinor: @(0),
|
||||
RCTVersionPatch: @(0),
|
||||
RCTVersionPrerelease: [NSNull null],
|
||||
};
|
||||
RCTVersionMajor: @(0),
|
||||
RCTVersionMinor: @(64),
|
||||
RCTVersionPatch: @(3),
|
||||
RCTVersionPrerelease: [NSNull null],
|
||||
};
|
||||
});
|
||||
return __rnVersion;
|
||||
}
|
||||
|
||||
@@ -73,9 +73,15 @@ RCT_EXPORT_METHOD(showActionSheetWithOptions
|
||||
NSArray<NSString *> *buttons = RCTConvertOptionalVecToArray(options.options(), ^id(NSString *element) {
|
||||
return element;
|
||||
});
|
||||
NSArray<NSNumber *> *disabledButtonIndices;
|
||||
NSInteger cancelButtonIndex =
|
||||
options.cancelButtonIndex() ? [RCTConvert NSInteger:@(*options.cancelButtonIndex())] : -1;
|
||||
NSArray<NSNumber *> *destructiveButtonIndices;
|
||||
if (options.disabledButtonIndices()) {
|
||||
disabledButtonIndices = RCTConvertVecToArray(*options.disabledButtonIndices(), ^id(double element) {
|
||||
return @(element);
|
||||
});
|
||||
}
|
||||
if (options.destructiveButtonIndices()) {
|
||||
destructiveButtonIndices = RCTConvertVecToArray(*options.destructiveButtonIndices(), ^id(double element) {
|
||||
return @(element);
|
||||
@@ -98,6 +104,7 @@ RCT_EXPORT_METHOD(showActionSheetWithOptions
|
||||
@"destructiveButtonIndices" : destructiveButtonIndices,
|
||||
@"anchor" : anchor,
|
||||
@"tintColor" : tintColor,
|
||||
@"disabledButtonIndices" : disabledButtonIndices,
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -132,6 +139,17 @@ RCT_EXPORT_METHOD(showActionSheetWithOptions
|
||||
index++;
|
||||
}
|
||||
|
||||
if (disabledButtonIndices) {
|
||||
for (NSNumber *disabledButtonIndex in disabledButtonIndices) {
|
||||
if ([disabledButtonIndex integerValue] < buttons.count) {
|
||||
[alertController.actions[[disabledButtonIndex integerValue]] setEnabled:false];
|
||||
} else {
|
||||
RCTLogError(@"Index %@ from `disabledButtonIndices` is out of bounds. Maximum index value is %@.", @([disabledButtonIndex integerValue]), @(buttons.count - 1));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
alertController.view.tintColor = tintColor;
|
||||
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_13_0) && \
|
||||
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0
|
||||
|
||||
@@ -89,7 +89,9 @@ RCT_EXPORT_MODULE(Appearance)
|
||||
|
||||
RCT_EXPORT_SYNCHRONOUS_TYPED_METHOD(NSString *, getColorScheme)
|
||||
{
|
||||
_currentColorScheme = RCTColorSchemePreference(nil);
|
||||
if (_currentColorScheme == nil) {
|
||||
_currentColorScheme = RCTColorSchemePreference(nil);
|
||||
}
|
||||
return _currentColorScheme;
|
||||
}
|
||||
|
||||
|
||||
+4
-1
@@ -4,6 +4,7 @@
|
||||
# LICENSE file in the root directory of this source tree.
|
||||
|
||||
require "json"
|
||||
require_relative "../../scripts/react_native_pods.rb"
|
||||
|
||||
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
||||
version = package['version']
|
||||
@@ -35,7 +36,7 @@ Pod::Spec.new do |s|
|
||||
s.pod_target_xcconfig = {
|
||||
"USE_HEADERMAP" => "YES",
|
||||
"CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
|
||||
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/Libraries/FBReactNativeSpec\" \"$(PODS_ROOT)/RCT-Folly\""
|
||||
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/React/FBReactNativeSpec\" \"$(PODS_ROOT)/RCT-Folly\""
|
||||
}
|
||||
|
||||
s.dependency "RCT-Folly", folly_version
|
||||
@@ -44,4 +45,6 @@ Pod::Spec.new do |s|
|
||||
s.dependency "React-Core", version
|
||||
s.dependency "React-jsi", version
|
||||
s.dependency "ReactCommon/turbomodule/core", version
|
||||
|
||||
use_react_native_codegen! (s)
|
||||
end
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -13,7 +13,7 @@
|
||||
#import <react/renderer/components/rncore/EventEmitters.h>
|
||||
#import <react/renderer/components/rncore/Props.h>
|
||||
|
||||
#import "FBRCTFabricComponentsPlugins.h"
|
||||
#import "RCTFabricComponentsPlugins.h"
|
||||
|
||||
using namespace facebook::react;
|
||||
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
#import <react/renderer/components/iospicker/PickerProps.h>
|
||||
#import <react/renderer/textlayoutmanager/RCTAttributedTextUtils.h>
|
||||
|
||||
#import "FBRCTFabricComponentsPlugins.h"
|
||||
#import "RCTConversions.h"
|
||||
#import "RCTFabricComponentsPlugins.h"
|
||||
|
||||
using namespace facebook::react;
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@ Class<RCTComponentViewProtocol> RCTParagraphCls(void) __attribute__((used));
|
||||
Class<RCTComponentViewProtocol> RCTTextInputCls(void) __attribute__((used));
|
||||
Class<RCTComponentViewProtocol> RCTInputAccessoryCls(void) __attribute__((used));
|
||||
Class<RCTComponentViewProtocol> RCTViewCls(void) __attribute__((used));
|
||||
Class<RCTComponentViewProtocol> RCTImageCls(void) __attribute__((used));
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ Class<RCTComponentViewProtocol> RCTFabricComponentsProvider(const char *name) {
|
||||
{"TextInput", RCTTextInputCls},
|
||||
{"InputAccessoryView", RCTInputAccessoryCls},
|
||||
{"View", RCTViewCls},
|
||||
{"Image", RCTImageCls},
|
||||
};
|
||||
|
||||
auto p = sFabricComponentsClassMap.find(name);
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#import <React/RCTUtils.h>
|
||||
#import <react/renderer/components/safeareaview/SafeAreaViewComponentDescriptor.h>
|
||||
#import <react/renderer/components/safeareaview/SafeAreaViewState.h>
|
||||
#import "FBRCTFabricComponentsPlugins.h"
|
||||
#import "RCTConversions.h"
|
||||
#import "RCTFabricComponentsPlugins.h"
|
||||
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
#import <React/RCTRefreshableProtocol.h>
|
||||
#import <React/RCTScrollViewComponentView.h>
|
||||
|
||||
#import "FBRCTFabricComponentsPlugins.h"
|
||||
#import "RCTFabricComponentsPlugins.h"
|
||||
|
||||
using namespace facebook::react;
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#import <react/renderer/components/rncore/Props.h>
|
||||
#import <react/renderer/components/slider/SliderComponentDescriptor.h>
|
||||
|
||||
#import "FBRCTFabricComponentsPlugins.h"
|
||||
#import "RCTFabricComponentsPlugins.h"
|
||||
|
||||
using namespace facebook::react;
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#import <react/renderer/components/rncore/Props.h>
|
||||
#import <react/renderer/components/rncore/RCTComponentViewHelpers.h>
|
||||
|
||||
#import "FBRCTFabricComponentsPlugins.h"
|
||||
#import "RCTFabricComponentsPlugins.h"
|
||||
|
||||
using namespace facebook::react;
|
||||
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
|
||||
#import <React/RCTConversions.h>
|
||||
|
||||
#import "FBRCTFabricComponentsPlugins.h"
|
||||
#import "RCTFabricComponentsPlugins.h"
|
||||
|
||||
using namespace facebook::react;
|
||||
|
||||
|
||||
@@ -30,8 +30,7 @@ Pod::Spec.new do |s|
|
||||
s.author = "Facebook, Inc. and its affiliates"
|
||||
s.platforms = { :ios => "10.0" }
|
||||
s.source = source
|
||||
s.source_files = "Fabric/**/*.{c,h,m,mm,S,cpp}",
|
||||
"Tests/**/*.{mm}"
|
||||
s.source_files = "Fabric/**/*.{c,h,m,mm,S,cpp}"
|
||||
s.exclude_files = "**/tests/*",
|
||||
"**/android/*",
|
||||
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
||||
@@ -45,5 +44,10 @@ Pod::Spec.new do |s|
|
||||
s.dependency "React-Core", version
|
||||
s.dependency "React-Fabric", version
|
||||
s.dependency "React-RCTImage", version
|
||||
s.dependency "Folly/Fabric", folly_version
|
||||
s.dependency "RCT-Folly/Fabric", folly_version
|
||||
|
||||
s.test_spec 'Tests' do |test_spec|
|
||||
test_spec.source_files = "Tests/**/*.{mm}"
|
||||
test_spec.framework = "XCTest"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#import "RCTBridge.h"
|
||||
#import "RCTModalHostView.h"
|
||||
#import "RCTModalHostViewController.h"
|
||||
#import "RCTModalManager.h"
|
||||
#import "RCTShadowView.h"
|
||||
#import "RCTUtils.h"
|
||||
|
||||
@@ -46,8 +47,6 @@ RCT_ENUM_CONVERTER(
|
||||
|
||||
@interface RCTModalHostViewManager () <RCTModalHostViewInteractor>
|
||||
|
||||
@property (nonatomic, copy) dispatch_block_t dismissWaitingBlock;
|
||||
|
||||
@end
|
||||
|
||||
@implementation RCTModalHostViewManager {
|
||||
@@ -79,16 +78,9 @@ RCT_EXPORT_MODULE()
|
||||
if (_presentationBlock) {
|
||||
_presentationBlock([modalHostView reactViewController], viewController, animated, completionBlock);
|
||||
} else {
|
||||
__weak typeof(self) weakself = self;
|
||||
[[modalHostView reactViewController] presentViewController:viewController
|
||||
animated:animated
|
||||
completion:^{
|
||||
!completionBlock ?: completionBlock();
|
||||
__strong typeof(weakself) strongself = weakself;
|
||||
!strongself.dismissWaitingBlock
|
||||
?: strongself.dismissWaitingBlock();
|
||||
strongself.dismissWaitingBlock = nil;
|
||||
}];
|
||||
completion:completionBlock];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,16 +88,15 @@ RCT_EXPORT_MODULE()
|
||||
withViewController:(RCTModalHostViewController *)viewController
|
||||
animated:(BOOL)animated
|
||||
{
|
||||
if (_dismissalBlock) {
|
||||
_dismissalBlock([modalHostView reactViewController], viewController, animated, nil);
|
||||
} else {
|
||||
self.dismissWaitingBlock = ^{
|
||||
[viewController.presentingViewController dismissViewControllerAnimated:animated completion:nil];
|
||||
};
|
||||
if (viewController.presentingViewController) {
|
||||
self.dismissWaitingBlock();
|
||||
self.dismissWaitingBlock = nil;
|
||||
dispatch_block_t completionBlock = ^{
|
||||
if (modalHostView.identifier) {
|
||||
[[self.bridge moduleForClass:[RCTModalManager class]] modalDismissed:modalHostView.identifier];
|
||||
}
|
||||
};
|
||||
if (_dismissalBlock) {
|
||||
_dismissalBlock([modalHostView reactViewController], viewController, animated, completionBlock);
|
||||
} else {
|
||||
[viewController.presentingViewController dismissViewControllerAnimated:animated completion:completionBlock];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import <React/RCTBridgeModule.h>
|
||||
#import <React/RCTEventEmitter.h>
|
||||
|
||||
@interface RCTModalManager : RCTEventEmitter <RCTBridgeModule>
|
||||
|
||||
- (void)modalDismissed:(NSNumber *)modalID;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#import "RCTModalManager.h"
|
||||
|
||||
@interface RCTModalManager ()
|
||||
|
||||
@property BOOL shouldEmit;
|
||||
|
||||
@end
|
||||
|
||||
@implementation RCTModalManager
|
||||
|
||||
RCT_EXPORT_MODULE();
|
||||
|
||||
- (NSArray<NSString *> *)supportedEvents
|
||||
{
|
||||
return @[ @"modalDismissed" ];
|
||||
}
|
||||
|
||||
- (void)startObserving
|
||||
{
|
||||
_shouldEmit = YES;
|
||||
}
|
||||
|
||||
- (void)stopObserving
|
||||
{
|
||||
_shouldEmit = NO;
|
||||
}
|
||||
|
||||
- (void)modalDismissed:(NSNumber *)modalID
|
||||
{
|
||||
if (_shouldEmit) {
|
||||
[self sendEventWithName:@"modalDismissed" body:@{@"modalID" : modalID}];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -41,6 +41,11 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : (NSCoder *)aDecoder)
|
||||
{
|
||||
[super layoutSubviews];
|
||||
|
||||
// Fix for bug #7976
|
||||
if (self.backgroundColor == nil) {
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
|
||||
// If the control is refreshing when mounted we need to call
|
||||
// beginRefreshing in layoutSubview or it doesn't work.
|
||||
if (_currentRefreshingState && _isInitialRender) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
VERSION_NAME=1000.0.0-master
|
||||
VERSION_NAME=0.64.3
|
||||
GROUP=com.facebook.react
|
||||
|
||||
POM_NAME=ReactNative
|
||||
|
||||
@@ -73,12 +73,12 @@ if (JavaVersion.current().isJava8Compatible()) {
|
||||
|
||||
afterEvaluate { project ->
|
||||
|
||||
task androidJavadoc(type: Javadoc) {
|
||||
task androidJavadoc(type: Javadoc, dependsOn: generateReleaseBuildConfig) {
|
||||
source = android.sourceSets.main.java.srcDirs
|
||||
classpath += files(android.bootClasspath)
|
||||
classpath += files(project.getConfigurations().getByName("compile").asList())
|
||||
classpath += files("$buildDir/generated/source/buildConfig/release")
|
||||
include("**/*.java")
|
||||
exclude("**/ReactBuildConfig.java")
|
||||
}
|
||||
|
||||
task androidJavadocJar(type: Jar, dependsOn: androidJavadoc) {
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
|
||||
#include <../instrumentation/HermesMemoryDumper.h>
|
||||
#include <HermesExecutorFactory.h>
|
||||
#include <android/log.h>
|
||||
#include <fbjni/fbjni.h>
|
||||
#include <glog/logging.h>
|
||||
#include <hermes/Public/GCConfig.h>
|
||||
#include <hermes/Public/RuntimeConfig.h>
|
||||
#include <jni.h>
|
||||
@@ -21,6 +23,13 @@
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
|
||||
static void hermesFatalHandler(const std::string &reason) {
|
||||
LOG(ERROR) << "Hermes Fatal: " << reason << "\n";
|
||||
__android_log_assert(nullptr, "Hermes", "%s", reason.c_str());
|
||||
}
|
||||
|
||||
static std::once_flag flag;
|
||||
|
||||
static ::hermes::vm::RuntimeConfig makeRuntimeConfig(jlong heapSizeMB) {
|
||||
namespace vm = ::hermes::vm;
|
||||
auto gcConfigBuilder =
|
||||
@@ -62,6 +71,9 @@ class HermesExecutorHolder
|
||||
jni::alias_ref<jclass>) {
|
||||
JReactMarker::setLogPerfMarkerIfNeeded();
|
||||
|
||||
std::call_once(flag, []() {
|
||||
facebook::hermes::HermesRuntime::setFatalHandler(hermesFatalHandler);
|
||||
});
|
||||
return makeCxxInstance(
|
||||
std::make_unique<HermesExecutorFactory>(installBindings));
|
||||
}
|
||||
@@ -71,6 +83,9 @@ class HermesExecutorHolder
|
||||
jlong heapSizeMB) {
|
||||
JReactMarker::setLogPerfMarkerIfNeeded();
|
||||
auto runtimeConfig = makeRuntimeConfig(heapSizeMB);
|
||||
std::call_once(flag, []() {
|
||||
facebook::hermes::HermesRuntime::setFatalHandler(hermesFatalHandler);
|
||||
});
|
||||
return makeCxxInstance(std::make_unique<HermesExecutorFactory>(
|
||||
installBindings, JSIExecutor::defaultTimeoutInvoker, runtimeConfig));
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
package com.facebook.react;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Bundle;
|
||||
import android.view.KeyEvent;
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -120,6 +121,12 @@ public abstract class ReactActivity extends AppCompatActivity
|
||||
mDelegate.onWindowFocusChanged(hasFocus);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
mDelegate.onConfigurationChanged(newConfig);
|
||||
}
|
||||
|
||||
protected final ReactNativeHost getReactNativeHost() {
|
||||
return mDelegate.getReactNativeHost();
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import android.annotation.TargetApi;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.view.KeyEvent;
|
||||
@@ -154,6 +155,12 @@ public class ReactActivityDelegate {
|
||||
}
|
||||
}
|
||||
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
if (getReactNativeHost().hasInstance()) {
|
||||
getReactInstanceManager().onConfigurationChanged(getContext(), newConfig);
|
||||
}
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.M)
|
||||
public void requestPermissions(
|
||||
String[] permissions, int requestCode, PermissionListener listener) {
|
||||
|
||||
@@ -756,6 +756,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
||||
return;
|
||||
}
|
||||
mDeviceRotation = rotation;
|
||||
DisplayMetricsHolder.initDisplayMetrics(getContext().getApplicationContext());
|
||||
emitOrientationChanged(rotation);
|
||||
}
|
||||
|
||||
|
||||
+10
-1
@@ -7,6 +7,7 @@
|
||||
|
||||
package com.facebook.react.modules.appearance;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -74,7 +75,15 @@ public class AppearanceModule extends NativeAppearanceSpec {
|
||||
|
||||
@Override
|
||||
public String getColorScheme() {
|
||||
mColorScheme = colorSchemeForCurrentConfiguration(getReactApplicationContext());
|
||||
// Attempt to use the Activity context first in order to get the most up to date
|
||||
// scheme. This covers the scenario when AppCompatDelegate.setDefaultNightMode()
|
||||
// is called directly (which can occur in Brownfield apps for example).
|
||||
Activity activity = getCurrentActivity();
|
||||
|
||||
mColorScheme =
|
||||
colorSchemeForCurrentConfiguration(
|
||||
activity != null ? activity : getReactApplicationContext());
|
||||
|
||||
return mColorScheme;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@ import java.util.Map;
|
||||
public class ReactNativeVersion {
|
||||
public static final Map<String, Object> VERSION = MapBuilder.<String, Object>of(
|
||||
"major", 0,
|
||||
"minor", 0,
|
||||
"patch", 0,
|
||||
"minor", 64,
|
||||
"patch", 3,
|
||||
"prerelease", null);
|
||||
}
|
||||
|
||||
+11
-1
@@ -246,6 +246,15 @@ public class ReactAccessibilityDelegate extends AccessibilityDelegateCompat {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Expose the testID prop as the resource-id name of the view. Black-box E2E/UI testing
|
||||
// frameworks, which interact with the UI through the accessibility framework, do not have
|
||||
// access to view tags. This allows developers/testers to avoid polluting the
|
||||
// content-description with test identifiers.
|
||||
final String testId = (String) host.getTag(R.id.react_test_id);
|
||||
if (testId != null) {
|
||||
info.setViewIdResourceName(testId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -425,7 +434,8 @@ public class ReactAccessibilityDelegate extends AccessibilityDelegateCompat {
|
||||
if (!ViewCompat.hasAccessibilityDelegate(view)
|
||||
&& (view.getTag(R.id.accessibility_role) != null
|
||||
|| view.getTag(R.id.accessibility_state) != null
|
||||
|| view.getTag(R.id.accessibility_actions) != null)) {
|
||||
|| view.getTag(R.id.accessibility_actions) != null
|
||||
|| view.getTag(R.id.react_test_id) != null)) {
|
||||
ViewCompat.setAccessibilityDelegate(view, new ReactAccessibilityDelegate());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,9 +86,18 @@ public class UIManagerHelper {
|
||||
}
|
||||
}
|
||||
CatalystInstance catalystInstance = context.getCatalystInstance();
|
||||
return uiManagerType == FABRIC
|
||||
? (UIManager) catalystInstance.getJSIModule(JSIModuleType.UIManager)
|
||||
: catalystInstance.getNativeModule(UIManagerModule.class);
|
||||
try {
|
||||
return uiManagerType == FABRIC
|
||||
? (UIManager) catalystInstance.getJSIModule(JSIModuleType.UIManager)
|
||||
: catalystInstance.getNativeModule(UIManagerModule.class);
|
||||
} catch (IllegalArgumentException ex) {
|
||||
// TODO T67518514 Clean this up once we migrate everything over to bridgeless mode
|
||||
ReactSoftException.logSoftException(
|
||||
"UIManagerHelper",
|
||||
new ReactNoCrashSoftException(
|
||||
"Cannot get UIManager for UIManagerType: " + uiManagerType));
|
||||
return catalystInstance.getNativeModule(UIManagerModule.class);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+7
@@ -129,6 +129,13 @@ void ModalHostViewEventEmitter::onShow(OnShow event) const {
|
||||
return payload;
|
||||
});
|
||||
}
|
||||
void ModalHostViewEventEmitter::onDismiss(OnDismiss event) const {
|
||||
dispatchEvent("dismiss", [event=std::move(event)](jsi::Runtime &runtime) {
|
||||
auto payload = jsi::Object(runtime);
|
||||
|
||||
return payload;
|
||||
});
|
||||
}
|
||||
void ModalHostViewEventEmitter::onOrientationChange(OnOrientationChange event) const {
|
||||
dispatchEvent("orientationChange", [event=std::move(event)](jsi::Runtime &runtime) {
|
||||
auto payload = jsi::Object(runtime);
|
||||
|
||||
+6
@@ -196,6 +196,10 @@ class ModalHostViewEventEmitter : public ViewEventEmitter {
|
||||
|
||||
};
|
||||
|
||||
struct OnDismiss {
|
||||
|
||||
};
|
||||
|
||||
enum class OnOrientationChangeOrientation {
|
||||
Portrait,
|
||||
Landscape
|
||||
@@ -216,6 +220,8 @@ class ModalHostViewEventEmitter : public ViewEventEmitter {
|
||||
|
||||
void onShow(OnShow value) const;
|
||||
|
||||
void onDismiss(OnDismiss value) const;
|
||||
|
||||
void onOrientationChange(OnOrientationChange value) const;
|
||||
};
|
||||
|
||||
|
||||
@@ -419,11 +419,10 @@ public class ReactEditText extends AppCompatEditText
|
||||
@Override
|
||||
public void setInputType(int type) {
|
||||
Typeface tf = super.getTypeface();
|
||||
// Input type password defaults to monospace font, so we need to re-apply the font
|
||||
super.setTypeface(tf);
|
||||
|
||||
super.setInputType(type);
|
||||
mStagedInputType = type;
|
||||
// Input type password defaults to monospace font, so we need to re-apply the font
|
||||
super.setTypeface(tf);
|
||||
|
||||
/**
|
||||
* If set forces multiline on input, because of a restriction on Android source that enables
|
||||
|
||||
@@ -18,7 +18,7 @@ end
|
||||
|
||||
folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
|
||||
folly_version = '2020.01.13.00'
|
||||
folly_dep_name = 'Folly/Fabric'
|
||||
folly_dep_name = 'RCT-Folly/Fabric'
|
||||
boost_compiler_flags = '-Wno-documentation'
|
||||
|
||||
Pod::Spec.new do |s|
|
||||
@@ -30,7 +30,6 @@ Pod::Spec.new do |s|
|
||||
s.author = "Facebook, Inc. and its affiliates"
|
||||
s.platforms = { :ios => "10.0" }
|
||||
s.source = source
|
||||
s.prepare_command = File.read("../scripts/generate-rncore.sh")
|
||||
s.source_files = "dummyFile.cpp"
|
||||
s.library = "stdc++"
|
||||
s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES",
|
||||
@@ -44,12 +43,21 @@ Pod::Spec.new do |s|
|
||||
s.dependency "ReactCommon/turbomodule/core", version
|
||||
s.dependency "React-jsi", version
|
||||
|
||||
s.subspec "animations" do |ss|
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "react/renderer/animations/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "react/renderer/animations/tests"
|
||||
ss.header_dir = "react/renderer/animations"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
s.subspec "attributedstring" do |ss|
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "fabric/attributedstring/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "**/tests/*"
|
||||
ss.header_dir = "react/attributedstring"
|
||||
ss.source_files = "react/renderer/attributedstring/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "react/renderer/attributedstring/tests"
|
||||
ss.header_dir = "react/renderer/attributedstring"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
@@ -57,13 +65,13 @@ Pod::Spec.new do |s|
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "better/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "**/tests/*"
|
||||
ss.exclude_files = "better/tests"
|
||||
ss.header_dir = "better"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
s.subspec "config" do |ss|
|
||||
ss.source_files = "config/*.{m,mm,cpp,h}"
|
||||
ss.source_files = "react/config/*.{m,mm,cpp,h}"
|
||||
ss.header_dir = "react/config"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"" }
|
||||
end
|
||||
@@ -71,121 +79,145 @@ Pod::Spec.new do |s|
|
||||
s.subspec "core" do |ss|
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
||||
ss.source_files = "fabric/core/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "**/tests/**/*"
|
||||
ss.header_dir = "react/core"
|
||||
ss.source_files = "react/renderer/core/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "react/renderer/core/tests"
|
||||
ss.header_dir = "react/renderer/core"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
s.subspec "componentregistry" do |ss|
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "react/renderer/componentregistry/**/*.{m,mm,cpp,h}"
|
||||
ss.header_dir = "react/renderer/componentregistry"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
s.subspec "components" do |ss|
|
||||
ss.subspec "activityindicator" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "fabric/components/activityindicator/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "**/tests/*"
|
||||
sss.header_dir = "react/components/activityindicator"
|
||||
sss.source_files = "react/renderer/components/activityindicator/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/activityindicator/tests"
|
||||
sss.header_dir = "react/renderer/components/activityindicator"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
ss.subspec "image" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "fabric/components/image/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "**/tests/*"
|
||||
sss.header_dir = "react/components/image"
|
||||
sss.source_files = "react/renderer/components/image/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/image/tests"
|
||||
sss.header_dir = "react/renderer/components/image"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
ss.subspec "inputaccessory" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "react/renderer/components/inputaccessory/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/inputaccessory/tests"
|
||||
sss.header_dir = "react/renderer/components/inputaccessory"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
ss.subspec "legacyviewmanagerinterop" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "fabric/components/legacyviewmanagerinterop/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "**/tests/*"
|
||||
sss.header_dir = "react/components/legacyviewmanagerinterop"
|
||||
sss.source_files = "react/renderer/components/legacyviewmanagerinterop/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/legacyviewmanagerinterop/tests"
|
||||
sss.header_dir = "react/renderer/components/legacyviewmanagerinterop"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/Headers/Private/React-Core\"" }
|
||||
end
|
||||
|
||||
ss.subspec "modal" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "fabric/components/modal/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "**/tests/*"
|
||||
sss.header_dir = "react/components/modal"
|
||||
sss.source_files = "react/renderer/components/modal/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/modal/tests"
|
||||
sss.header_dir = "react/renderer/components/modal"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
ss.subspec "picker" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "react/renderer/components/picker/iospicker/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/picker/iospicker/tests"
|
||||
sss.header_dir = "react/renderer/components/iospicker"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
ss.subspec "rncore" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "fabric/components/rncore/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "**/tests/*", "fabric/components/rncore/*Tests.{h,cpp}",
|
||||
# TODO: These should be re-enabled later when Codegen Native Module support is needed.
|
||||
"fabric/components/rncore/rncore-generated.mm", "fabric/components/rncore/NativeModules.{h,cpp}"
|
||||
sss.header_dir = "react/components/rncore"
|
||||
sss.source_files = "react/renderer/components/rncore/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/rncore/tests"
|
||||
sss.header_dir = "react/renderer/components/rncore"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
ss.subspec "root" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "fabric/components/root/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "**/tests/*"
|
||||
sss.header_dir = "react/components/root"
|
||||
sss.source_files = "react/renderer/components/root/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/root/tests"
|
||||
sss.header_dir = "react/renderer/components/root"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
ss.subspec "safeareaview" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "fabric/components/safeareaview/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "**/tests/*"
|
||||
sss.header_dir = "react/components/safeareaview"
|
||||
sss.source_files = "react/renderer/components/safeareaview/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/safeareaview/tests"
|
||||
sss.header_dir = "react/renderer/components/safeareaview"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
ss.subspec "scrollview" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "fabric/components/scrollview/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "**/tests/*"
|
||||
sss.header_dir = "react/components/scrollview"
|
||||
sss.source_files = "react/renderer/components/scrollview/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/scrollview/tests"
|
||||
sss.header_dir = "react/renderer/components/scrollview"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
ss.subspec "slider" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "fabric/components/slider/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "**/tests/*",
|
||||
"**/android/*"
|
||||
sss.header_dir = "react/components/slider"
|
||||
sss.source_files = "react/renderer/components/slider/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/slider/tests/**/*",
|
||||
"react/renderer/components/slider/platform/android"
|
||||
sss.header_dir = "react/renderer/components/slider"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
ss.subspec "text" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "fabric/components/text/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "**/tests/*"
|
||||
sss.header_dir = "react/components/text"
|
||||
sss.source_files = "react/renderer/components/text/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/text/tests"
|
||||
sss.header_dir = "react/renderer/components/text"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
ss.subspec "textinput" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "fabric/components/textinput/iostextinput/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "**/tests/*"
|
||||
sss.header_dir = "react/components/iostextinput"
|
||||
sss.source_files = "react/renderer/components/textinput/iostextinput/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/textinput/iostextinput/tests"
|
||||
sss.header_dir = "react/renderer/components/iostextinput"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
ss.subspec "unimplementedview" do |sss|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "fabric/components/unimplementedview/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "**/tests/*"
|
||||
sss.header_dir = "react/components/unimplementedview"
|
||||
sss.source_files = "react/renderer/components/unimplementedview/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/unimplementedview/tests"
|
||||
sss.header_dir = "react/renderer/components/unimplementedview"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
@@ -193,9 +225,9 @@ Pod::Spec.new do |s|
|
||||
sss.dependency folly_dep_name, folly_version
|
||||
sss.dependency "Yoga"
|
||||
sss.compiler_flags = folly_compiler_flags
|
||||
sss.source_files = "fabric/components/view/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "**/tests/*"
|
||||
sss.header_dir = "react/components/view"
|
||||
sss.source_files = "react/renderer/components/view/**/*.{m,mm,cpp,h}"
|
||||
sss.exclude_files = "react/renderer/components/view/tests"
|
||||
sss.header_dir = "react/renderer/components/view"
|
||||
sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
end
|
||||
@@ -203,9 +235,9 @@ Pod::Spec.new do |s|
|
||||
s.subspec "debug" do |ss|
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "fabric/debug/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "**/tests/*"
|
||||
ss.header_dir = "react/debug"
|
||||
ss.source_files = "react/renderer/debug/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "react/renderer/debug/tests"
|
||||
ss.header_dir = "react/renderer/debug"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
@@ -213,45 +245,64 @@ Pod::Spec.new do |s|
|
||||
ss.dependency "React-RCTImage", version
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "fabric/imagemanager/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "**/tests/*",
|
||||
"**/android/*",
|
||||
"**/cxx/*"
|
||||
ss.header_dir = "react/imagemanager"
|
||||
ss.source_files = "react/renderer/imagemanager/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "react/renderer/imagemanager/tests",
|
||||
"react/renderer/imagemanager/platform/android",
|
||||
"react/renderer/imagemanager/platform/cxx"
|
||||
ss.header_dir = "react/renderer/imagemanager"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
s.subspec "mounting" do |ss|
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "fabric/mounting/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "**/tests/*"
|
||||
ss.header_dir = "react/mounting"
|
||||
ss.source_files = "react/renderer/mounting/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "react/renderer/mounting/tests"
|
||||
ss.header_dir = "react/renderer/mounting"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
s.subspec "scheduler" do |ss|
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "react/renderer/scheduler/**/*.{m,mm,cpp,h}"
|
||||
ss.header_dir = "react/renderer/scheduler"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
s.subspec "templateprocessor" do |ss|
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "react/renderer/templateprocessor/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "react/renderer/templateprocessor/tests"
|
||||
ss.header_dir = "react/renderer/templateprocessor"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
s.subspec "textlayoutmanager" do |ss|
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.dependency "React-Fabric/uimanager"
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "fabric/textlayoutmanager/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "**/tests/*",
|
||||
"**/android/*",
|
||||
"**/cxx/*"
|
||||
ss.header_dir = "react/textlayoutmanager"
|
||||
ss.source_files = "react/renderer/textlayoutmanager/platform/ios/**/*.{m,mm,cpp,h}",
|
||||
"react/renderer/textlayoutmanager/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "react/renderer/textlayoutmanager/tests",
|
||||
"react/renderer/textlayoutmanager/platform/android",
|
||||
"react/renderer/textlayoutmanager/platform/cxx"
|
||||
ss.header_dir = "react/renderer/textlayoutmanager"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
s.subspec "uimanager" do |ss|
|
||||
ss.dependency folly_dep_name, folly_version
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "fabric/uimanager/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "**/tests/*",
|
||||
ss.header_dir = "react/uimanager"
|
||||
ss.source_files = "react/renderer/uimanager/**/*.{m,mm,cpp,h}"
|
||||
ss.exclude_files = "react/renderer/uimanager/tests"
|
||||
ss.header_dir = "react/renderer/uimanager"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
s.subspec "utils" do |ss|
|
||||
ss.source_files = "utils/*.{m,mm,cpp,h}"
|
||||
ss.source_files = "react/utils/*.{m,mm,cpp,h}"
|
||||
ss.header_dir = "react/utils"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
end
|
||||
|
||||
@@ -16,8 +16,8 @@ namespace facebook::react {
|
||||
|
||||
constexpr struct {
|
||||
int32_t Major = 0;
|
||||
int32_t Minor = 0;
|
||||
int32_t Patch = 0;
|
||||
int32_t Minor = 64;
|
||||
int32_t Patch = 3;
|
||||
std::string_view Prerelease = "";
|
||||
} ReactNativeVersion;
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#include <cassert>
|
||||
#include <string>
|
||||
|
||||
#include <folly/Optional.h>
|
||||
#include <jsi/jsi.h>
|
||||
|
||||
#include <ReactCommon/CallInvoker.h>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
require "json"
|
||||
|
||||
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
|
||||
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
||||
version = package['version']
|
||||
|
||||
source = { :git => 'https://github.com/facebook/react-native.git' }
|
||||
@@ -32,11 +32,11 @@ Pod::Spec.new do |s|
|
||||
s.library = "stdc++"
|
||||
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
||||
s.source_files = "**/*.{m,mm,cpp,h}"
|
||||
s.exclude_files = "**/tests/*",
|
||||
"**/android/*",
|
||||
"**/cxx/*"
|
||||
s.header_dir = "react/graphics"
|
||||
s.pod_target_xcconfig = { "USE_HEADERMAP" => "NO", "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
s.exclude_files = "tests",
|
||||
"platform/android",
|
||||
"platform/cxx"
|
||||
s.header_dir = "react/renderer/graphics"
|
||||
s.pod_target_xcconfig = { "USE_HEADERMAP" => "NO", "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_TARGET_SRCROOT)/../../../\" \"$(PODS_ROOT)/RCT-Folly\"" }
|
||||
|
||||
s.dependency "Folly/Fabric", folly_version
|
||||
s.dependency "RCT-Folly/Fabric", folly_version
|
||||
end
|
||||
|
||||
@@ -51,7 +51,7 @@ Pod::Spec.new do |spec|
|
||||
source_files = File.join('ReactCommon/yoga', source_files) if ENV['INSTALL_YOGA_WITHOUT_PATH_OPTION']
|
||||
spec.source_files = source_files
|
||||
|
||||
header_files = 'yoga/{Yoga,YGEnums,YGMacros,YGValue}.h'
|
||||
header_files = 'yoga/{Yoga,YGEnums,YGMacros,YGNode,YGStyle,YGValue}.h'
|
||||
header_files = File.join('ReactCommon/yoga', header_files) if ENV['INSTALL_YOGA_WITHOUT_PATH_OPTION']
|
||||
spec.public_header_files = header_files
|
||||
end
|
||||
|
||||
Vendored
+89
-89
@@ -1,89 +1,89 @@
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
|
||||
@@ -131,7 +131,7 @@ module.exports = {
|
||||
'DatePickerIOS-merged',
|
||||
'DatePickerIOS has been merged with DatePickerAndroid and will be removed in a future release. ' +
|
||||
"It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/datetimepicker',
|
||||
'See https://github.com/react-native-datetimepicker/datetimepicker',
|
||||
);
|
||||
return require('./Libraries/Components/DatePicker/DatePickerIOS');
|
||||
},
|
||||
@@ -158,8 +158,8 @@ module.exports = {
|
||||
warnOnce(
|
||||
'maskedviewios-moved',
|
||||
'MaskedViewIOS has been extracted from react-native core and will be removed in a future release. ' +
|
||||
"It can now be installed and imported from '@react-native-community/masked-view' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/react-native-masked-view',
|
||||
"It can now be installed and imported from '@react-native-masked-view/masked-view' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-masked-view/react-native-masked-view',
|
||||
);
|
||||
return require('./Libraries/Components/MaskedView/MaskedViewIOS');
|
||||
},
|
||||
@@ -170,8 +170,8 @@ module.exports = {
|
||||
warnOnce(
|
||||
'picker-moved',
|
||||
'Picker has been extracted from react-native core and will be removed in a future release. ' +
|
||||
"It can now be installed and imported from '@react-native-community/picker' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/react-native-picker',
|
||||
"It can now be installed and imported from '@react-native-picker/picker' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-picker/react-native-picker',
|
||||
);
|
||||
return require('./Libraries/Components/Picker/Picker');
|
||||
},
|
||||
@@ -180,8 +180,8 @@ module.exports = {
|
||||
warnOnce(
|
||||
'pickerios-moved',
|
||||
'PickerIOS has been extracted from react-native core and will be removed in a future release. ' +
|
||||
"It can now be installed and imported from '@react-native-community/picker' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/react-native-picker',
|
||||
"It can now be installed and imported from '@react-native-picker/picker' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-picker/react-native-picker',
|
||||
);
|
||||
return require('./Libraries/Components/Picker/PickerIOS');
|
||||
},
|
||||
@@ -194,7 +194,7 @@ module.exports = {
|
||||
'progress-bar-android-moved',
|
||||
'ProgressBarAndroid has been extracted from react-native core and will be removed in a future release. ' +
|
||||
"It can now be installed and imported from '@react-native-community/progress-bar-android' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/progress-bar-android',
|
||||
'See https://github.com/react-native-progress-view/progress-bar-android',
|
||||
);
|
||||
return require('./Libraries/Components/ProgressBarAndroid/ProgressBarAndroid');
|
||||
},
|
||||
@@ -204,7 +204,7 @@ module.exports = {
|
||||
'progress-view-ios-moved',
|
||||
'ProgressViewIOS has been extracted from react-native core and will be removed in a future release. ' +
|
||||
"It can now be installed and imported from '@react-native-community/progress-view' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/progress-view',
|
||||
'See https://github.com/react-native-progress-view/progress-view',
|
||||
);
|
||||
return require('./Libraries/Components/ProgressViewIOS/ProgressViewIOS');
|
||||
},
|
||||
@@ -226,7 +226,7 @@ module.exports = {
|
||||
'segmented-control-ios-moved',
|
||||
'SegmentedControlIOS has been extracted from react-native core and will be removed in a future release. ' +
|
||||
"It can now be installed and imported from '@react-native-community/segmented-control' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/segmented-control',
|
||||
'See https://github.com/react-native-segmented-control/segmented-control',
|
||||
);
|
||||
return require('./Libraries/Components/SegmentedControlIOS/SegmentedControlIOS');
|
||||
},
|
||||
@@ -235,7 +235,7 @@ module.exports = {
|
||||
'slider-moved',
|
||||
'Slider has been extracted from react-native core and will be removed in a future release. ' +
|
||||
"It can now be installed and imported from '@react-native-community/slider' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/react-native-slider',
|
||||
'See https://github.com/callstack/react-native-slider',
|
||||
);
|
||||
return require('./Libraries/Components/Slider/Slider');
|
||||
},
|
||||
@@ -300,8 +300,8 @@ module.exports = {
|
||||
warnOnce(
|
||||
'async-storage-moved',
|
||||
'AsyncStorage has been extracted from react-native core and will be removed in a future release. ' +
|
||||
"It can now be installed and imported from '@react-native-community/async-storage' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/async-storage',
|
||||
"It can now be installed and imported from '@react-native-async-storage/async-storage' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-async-storage/async-storage',
|
||||
);
|
||||
return require('./Libraries/Storage/AsyncStorage');
|
||||
},
|
||||
@@ -313,7 +313,7 @@ module.exports = {
|
||||
'clipboard-moved',
|
||||
'Clipboard has been extracted from react-native core and will be removed in a future release. ' +
|
||||
"It can now be installed and imported from '@react-native-community/clipboard' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/clipboard',
|
||||
'See https://github.com/react-native-clipboard/clipboard',
|
||||
);
|
||||
return require('./Libraries/Components/Clipboard/Clipboard');
|
||||
},
|
||||
@@ -322,7 +322,7 @@ module.exports = {
|
||||
'DatePickerAndroid-merged',
|
||||
'DatePickerAndroid has been merged with DatePickerIOS and will be removed in a future release. ' +
|
||||
"It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/datetimepicker',
|
||||
'See https://github.com/react-native-datetimepicker/datetimepicker',
|
||||
);
|
||||
return require('./Libraries/Components/DatePickerAndroid/DatePickerAndroid');
|
||||
},
|
||||
@@ -350,7 +350,7 @@ module.exports = {
|
||||
'ImagePickerIOS has been extracted from react-native core and will be removed in a future release. ' +
|
||||
"Please upgrade to use either '@react-native-community/react-native-image-picker' or 'expo-image-picker'. " +
|
||||
"If you cannot upgrade to a different library, please install the deprecated '@react-native-community/image-picker-ios' package. " +
|
||||
'See https://github.com/react-native-community/react-native-image-picker-ios',
|
||||
'See https://github.com/rnc-archive/react-native-image-picker-ios',
|
||||
);
|
||||
return require('./Libraries/Image/ImagePickerIOS');
|
||||
},
|
||||
@@ -393,7 +393,7 @@ module.exports = {
|
||||
'pushNotificationIOS-moved',
|
||||
'PushNotificationIOS has been extracted from react-native core and will be removed in a future release. ' +
|
||||
"It can now be installed and imported from '@react-native-community/push-notification-ios' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/push-notification-ios',
|
||||
'See https://github.com/react-native-push-notification-ios/push-notification-ios',
|
||||
);
|
||||
return require('./Libraries/PushNotificationIOS/PushNotificationIOS');
|
||||
},
|
||||
@@ -512,7 +512,7 @@ if (__DEV__) {
|
||||
false,
|
||||
'ART has been removed from React Native. ' +
|
||||
"It can now be installed and imported from '@react-native-community/art' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/art',
|
||||
'See https://github.com/react-native-art/art',
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -551,7 +551,7 @@ if (__DEV__) {
|
||||
false,
|
||||
'WebView has been removed from React Native. ' +
|
||||
"It can now be installed and imported from 'react-native-webview' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/react-native-webview',
|
||||
'See https://github.com/react-native-webview/react-native-webview',
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -564,7 +564,7 @@ if (__DEV__) {
|
||||
false,
|
||||
'NetInfo has been removed from React Native. ' +
|
||||
"It can now be installed and imported from '@react-native-community/netinfo' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/react-native-netinfo',
|
||||
'See https://github.com/react-native-netinfo/react-native-netinfo',
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -577,7 +577,7 @@ if (__DEV__) {
|
||||
false,
|
||||
'CameraRoll has been removed from React Native. ' +
|
||||
"It can now be installed and imported from '@react-native-community/cameraroll' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/react-native-cameraroll',
|
||||
'See https://github.com/react-native-cameraroll/react-native-cameraroll',
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -604,7 +604,7 @@ if (__DEV__) {
|
||||
false,
|
||||
'ImageEditor has been removed from React Native. ' +
|
||||
"It can now be installed and imported from '@react-native-community/image-editor' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/react-native-image-editor',
|
||||
'See https://github.com/callstack/react-native-image-editor',
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -617,7 +617,7 @@ if (__DEV__) {
|
||||
false,
|
||||
'TimePickerAndroid has been removed from React Native. ' +
|
||||
"It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/datetimepicker',
|
||||
'See https://github.com/react-native-datetimepicker/datetimepicker',
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -630,7 +630,7 @@ if (__DEV__) {
|
||||
false,
|
||||
'ToolbarAndroid has been removed from React Native. ' +
|
||||
"It can now be installed and imported from '@react-native-community/toolbar-android' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/toolbar-android',
|
||||
'See https://github.com/react-native-toolbar-android/toolbar-android',
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -643,7 +643,7 @@ if (__DEV__) {
|
||||
false,
|
||||
'ViewPagerAndroid has been removed from React Native. ' +
|
||||
"It can now be installed and imported from '@react-native-community/viewpager' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/react-native-viewpager',
|
||||
'See https://github.com/callstack/react-native-viewpager',
|
||||
);
|
||||
},
|
||||
});
|
||||
@@ -656,7 +656,7 @@ if (__DEV__) {
|
||||
false,
|
||||
'CheckBox has been removed from React Native. ' +
|
||||
"It can now be installed and imported from '@react-native-community/checkbox' instead of 'react-native'. " +
|
||||
'See https://github.com/react-native-community/react-native-checkbox',
|
||||
'See https://github.com/react-native-checkbox/react-native-checkbox',
|
||||
);
|
||||
},
|
||||
});
|
||||
|
||||
+15
-15
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"name": "react-native",
|
||||
"private": true,
|
||||
"version": "1000.0.0",
|
||||
"version": "0.64.3",
|
||||
"bin": "./cli.js",
|
||||
"description": "A framework for building native apps using React",
|
||||
"license": "MIT",
|
||||
@@ -17,6 +16,7 @@
|
||||
"!template/node_modules",
|
||||
"!template/package-lock.json",
|
||||
"!template/yarn.lock",
|
||||
"android",
|
||||
"cli.js",
|
||||
"flow",
|
||||
"flow-typed",
|
||||
@@ -37,7 +37,8 @@
|
||||
"README.md",
|
||||
"rn-get-polyfills.js",
|
||||
"scripts/compose-source-maps.js",
|
||||
"scripts/generate-native-modules-specs-cli.js",
|
||||
"scripts/generate-specs.sh",
|
||||
"scripts/generate-specs-cli.js",
|
||||
"scripts/ios-configure-glog.sh",
|
||||
"scripts/launchPackager.bat",
|
||||
"scripts/launchPackager.command",
|
||||
@@ -45,6 +46,7 @@
|
||||
"scripts/packager.sh",
|
||||
"scripts/react_native_pods.rb",
|
||||
"scripts/react-native-xcode.sh",
|
||||
"scripts/find-node.sh",
|
||||
"template.config.js",
|
||||
"template",
|
||||
"third-party-podspecs"
|
||||
@@ -77,18 +79,14 @@
|
||||
"test-ios-e2e": "detox test -c ios.sim.release packages/rn-tester/e2e",
|
||||
"test-ios": "./scripts/objc-test.sh test"
|
||||
},
|
||||
"workspaces": [
|
||||
"packages/!(eslint-config-react-native-community)",
|
||||
"repo-config"
|
||||
],
|
||||
"peerDependencies": {
|
||||
"react": "17.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@jest/create-cache-key-function": "^26.5.0",
|
||||
"@react-native-community/cli": "^4.13.0",
|
||||
"@react-native-community/cli-platform-android": "^4.13.0",
|
||||
"@react-native-community/cli-platform-ios": "^4.13.0",
|
||||
"@react-native-community/cli": "^5.0.1-alpha.1",
|
||||
"@react-native-community/cli-platform-android": "^5.0.1-alpha.1",
|
||||
"@react-native-community/cli-platform-ios": "^5.0.1-alpha.1",
|
||||
"@react-native/assets": "1.0.0",
|
||||
"@react-native/normalize-color": "1.0.0",
|
||||
"@react-native/polyfills": "1.0.0",
|
||||
@@ -99,18 +97,20 @@
|
||||
"hermes-engine": "~0.7.0",
|
||||
"invariant": "^2.2.4",
|
||||
"jsc-android": "^245459.0.0",
|
||||
"metro-babel-register": "0.63.0",
|
||||
"metro-react-native-babel-transformer": "0.63.0",
|
||||
"metro-runtime": "0.63.0",
|
||||
"metro-source-map": "0.63.0",
|
||||
"metro-babel-register": "0.64.0",
|
||||
"metro-react-native-babel-transformer": "0.64.0",
|
||||
"metro-runtime": "0.64.0",
|
||||
"metro-source-map": "0.64.0",
|
||||
"nullthrows": "^1.1.1",
|
||||
"pretty-format": "^26.5.2",
|
||||
"promise": "^8.0.3",
|
||||
"prop-types": "^15.7.2",
|
||||
"react-devtools-core": "^4.6.0",
|
||||
"react-native-codegen": "^0.0.6",
|
||||
"react-refresh": "^0.4.0",
|
||||
"regenerator-runtime": "^0.13.2",
|
||||
"scheduler": "^0.20.1",
|
||||
"shelljs": "^0.8.4",
|
||||
"stacktrace-parser": "^0.1.3",
|
||||
"use-subscription": "^1.0.0",
|
||||
"whatwg-fetch": "^3.0.0",
|
||||
@@ -157,4 +157,4 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -34,7 +34,7 @@ public class CodegenPluginExtension {
|
||||
}
|
||||
|
||||
public File codegenGenerateNativeModuleSpecsCLI() {
|
||||
return new File(this.reactNativeRootDir, "scripts/generate-native-modules-specs-cli.js");
|
||||
return new File(this.reactNativeRootDir, "scripts/generate-specs-cli.js");
|
||||
}
|
||||
|
||||
private String projectPathToLibraryName(final String projectPath) {
|
||||
|
||||
+89
-89
@@ -1,89 +1,89 @@
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "react-native-codegen",
|
||||
"version": "0.0.5",
|
||||
"version": "0.0.6",
|
||||
"description": "⚛️ Code generation tools for React Native",
|
||||
"homepage": "https://github.com/facebook/react-native/tree/master/packages/react-native-codegen",
|
||||
"repository": {
|
||||
|
||||
@@ -11,9 +11,41 @@ THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOUR
|
||||
set -e
|
||||
set -u
|
||||
|
||||
pushd "$THIS_DIR/../.." >/dev/null
|
||||
CODEGEN_DIR="$THIS_DIR/../.."
|
||||
|
||||
yarn install 2> >(grep -v '^warning' 1>&2)
|
||||
yarn run build
|
||||
rm -rf "${CODEGEN_DIR:?}/lib" "${CODEGEN_DIR:?}/node_modules"
|
||||
|
||||
popd >/dev/null
|
||||
# Fallback to npm if yarn is not available
|
||||
if [ -x "$(command -v yarn)" ]; then
|
||||
YARN_OR_NPM=$(command -v yarn)
|
||||
else
|
||||
YARN_OR_NPM=$(command -v npm)
|
||||
fi
|
||||
YARN_BINARY="${YARN_BINARY:-$YARN_OR_NPM}"
|
||||
|
||||
if [[ ${FBSOURCE_ENV:-0} -eq 1 ]]; then
|
||||
# Custom FB-specific setup
|
||||
pushd "$CODEGEN_DIR" >/dev/null
|
||||
|
||||
"$YARN_BINARY" install 2> >(grep -v '^warning' 1>&2)
|
||||
# Note: Within FBSOURCE_ENV, this has to explicitly run build.
|
||||
"$YARN_BINARY" run build
|
||||
|
||||
popd >/dev/null
|
||||
else
|
||||
# Run yarn install in a separate tmp dir to avoid conflict with the rest of the repo.
|
||||
# Note: OSS-only.
|
||||
TMP_DIR=$(mktemp -d)
|
||||
|
||||
cp -R "$CODEGEN_DIR/." "$TMP_DIR"
|
||||
|
||||
pushd "$TMP_DIR" >/dev/null
|
||||
|
||||
# Note: this automatically runs build as well.
|
||||
"$YARN_BINARY" install 2> >(grep -v '^warning' 1>&2)
|
||||
|
||||
popd >/dev/null
|
||||
|
||||
mv "$TMP_DIR/lib" "$TMP_DIR/node_modules" "$CODEGEN_DIR"
|
||||
rm -rf "$TMP_DIR"
|
||||
fi
|
||||
|
||||
+13
-15
@@ -15,18 +15,26 @@ end
|
||||
def pods()
|
||||
project 'RNTesterPods.xcodeproj'
|
||||
|
||||
# Enable TurboModule
|
||||
fabric_enabled = false
|
||||
|
||||
# To use fabric: set the environment variable `USE_FABRIC` to 1, like below
|
||||
# $ USE_FABRIC=1 bundle exec pod install
|
||||
# or
|
||||
# $ export USE_FABRIC=1
|
||||
# $ bundle exec pod install
|
||||
if ENV['USE_FABRIC'] == '1'
|
||||
puts "Building RNTester with Fabric enabled."
|
||||
fabric_enabled = true
|
||||
end
|
||||
|
||||
prefix_path = "../.."
|
||||
use_react_native!(path: prefix_path, hermes_enabled: ENV['USE_HERMES'] == '1')
|
||||
use_react_native!(path: prefix_path, fabric_enabled: fabric_enabled, hermes_enabled: ENV['USE_HERMES'] == '1')
|
||||
pod 'ReactCommon/turbomodule/samples', :path => "#{prefix_path}/ReactCommon"
|
||||
|
||||
# Additional Pods which aren't included in the default Podfile
|
||||
pod 'React-RCTPushNotification', :path => "#{prefix_path}/Libraries/PushNotificationIOS"
|
||||
pod 'Yoga', :path => "#{prefix_path}/ReactCommon/yoga", :modular_headers => true
|
||||
# Additional Pods which are classed as unstable
|
||||
#
|
||||
# To use fabric: add `fabric_enabled` option to the use_react_native method above, like below
|
||||
# use_react_native!(path: "..", fabric_enabled: true)
|
||||
end
|
||||
|
||||
target 'RNTester' do
|
||||
@@ -60,16 +68,6 @@ def frameworks_pre_install(installer)
|
||||
end
|
||||
end
|
||||
|
||||
pre_install do |installer|
|
||||
frameworks_pre_install(installer) if ENV['USE_FRAMEWORKS'] == '1'
|
||||
if ENV['USE_CODEGEN'] != '0'
|
||||
prefix_path = "../.."
|
||||
codegen_path = "../../packages/react-native-codegen"
|
||||
system("(cd #{codegen_path} && yarn install && yarn run build)")
|
||||
codegen_pre_install(installer, {path:prefix_path, codegen_path:codegen_path})
|
||||
end
|
||||
end
|
||||
|
||||
post_install do |installer|
|
||||
flipper_post_install(installer)
|
||||
end
|
||||
|
||||
+286
-288
@@ -1,66 +1,64 @@
|
||||
PODS:
|
||||
- boost-for-react-native (1.63.0)
|
||||
- CocoaAsyncSocket (7.6.4)
|
||||
- CocoaLibEvent (1.0.0)
|
||||
- CocoaAsyncSocket (7.6.5)
|
||||
- DoubleConversion (1.1.6)
|
||||
- FBLazyVector (1000.0.0)
|
||||
- FBReactNativeSpec (1000.0.0):
|
||||
- FBLazyVector (0.64.1)
|
||||
- FBReactNativeSpec (0.64.1):
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTRequired (= 1000.0.0)
|
||||
- RCTTypeSafety (= 1000.0.0)
|
||||
- React-Core (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- Flipper (0.54.0):
|
||||
- Flipper-Folly (~> 2.2)
|
||||
- Flipper-RSocket (~> 1.1)
|
||||
- RCTRequired (= 0.64.1)
|
||||
- RCTTypeSafety (= 0.64.1)
|
||||
- React-Core (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- ReactCommon/turbomodule/core (= 0.64.1)
|
||||
- Flipper (0.75.1):
|
||||
- Flipper-Folly (~> 2.5)
|
||||
- Flipper-RSocket (~> 1.3)
|
||||
- Flipper-DoubleConversion (1.1.7)
|
||||
- Flipper-Folly (2.2.0):
|
||||
- Flipper-Folly (2.5.3):
|
||||
- boost-for-react-native
|
||||
- CocoaLibEvent (~> 1.0)
|
||||
- Flipper-DoubleConversion
|
||||
- Flipper-Glog
|
||||
- OpenSSL-Universal (= 1.0.2.19)
|
||||
- libevent (~> 2.1.12)
|
||||
- OpenSSL-Universal (= 1.1.180)
|
||||
- Flipper-Glog (0.3.6)
|
||||
- Flipper-PeerTalk (0.0.4)
|
||||
- Flipper-RSocket (1.1.0):
|
||||
- Flipper-Folly (~> 2.2)
|
||||
- FlipperKit (0.54.0):
|
||||
- FlipperKit/Core (= 0.54.0)
|
||||
- FlipperKit/Core (0.54.0):
|
||||
- Flipper (~> 0.54.0)
|
||||
- Flipper-RSocket (1.3.0):
|
||||
- Flipper-Folly (~> 2.5)
|
||||
- FlipperKit (0.75.1):
|
||||
- FlipperKit/Core (= 0.75.1)
|
||||
- FlipperKit/Core (0.75.1):
|
||||
- Flipper (~> 0.75.1)
|
||||
- FlipperKit/CppBridge
|
||||
- FlipperKit/FBCxxFollyDynamicConvert
|
||||
- FlipperKit/FBDefines
|
||||
- FlipperKit/FKPortForwarding
|
||||
- FlipperKit/CppBridge (0.54.0):
|
||||
- Flipper (~> 0.54.0)
|
||||
- FlipperKit/FBCxxFollyDynamicConvert (0.54.0):
|
||||
- Flipper-Folly (~> 2.2)
|
||||
- FlipperKit/FBDefines (0.54.0)
|
||||
- FlipperKit/FKPortForwarding (0.54.0):
|
||||
- FlipperKit/CppBridge (0.75.1):
|
||||
- Flipper (~> 0.75.1)
|
||||
- FlipperKit/FBCxxFollyDynamicConvert (0.75.1):
|
||||
- Flipper-Folly (~> 2.5)
|
||||
- FlipperKit/FBDefines (0.75.1)
|
||||
- FlipperKit/FKPortForwarding (0.75.1):
|
||||
- CocoaAsyncSocket (~> 7.6)
|
||||
- Flipper-PeerTalk (~> 0.0.4)
|
||||
- FlipperKit/FlipperKitHighlightOverlay (0.54.0)
|
||||
- FlipperKit/FlipperKitLayoutPlugin (0.54.0):
|
||||
- FlipperKit/FlipperKitHighlightOverlay (0.75.1)
|
||||
- FlipperKit/FlipperKitLayoutPlugin (0.75.1):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/FlipperKitHighlightOverlay
|
||||
- FlipperKit/FlipperKitLayoutTextSearchable
|
||||
- YogaKit (~> 1.18)
|
||||
- FlipperKit/FlipperKitLayoutTextSearchable (0.54.0)
|
||||
- FlipperKit/FlipperKitNetworkPlugin (0.54.0):
|
||||
- FlipperKit/FlipperKitLayoutTextSearchable (0.75.1)
|
||||
- FlipperKit/FlipperKitNetworkPlugin (0.75.1):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/FlipperKitReactPlugin (0.54.0):
|
||||
- FlipperKit/FlipperKitReactPlugin (0.75.1):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/FlipperKitUserDefaultsPlugin (0.54.0):
|
||||
- FlipperKit/FlipperKitUserDefaultsPlugin (0.75.1):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/SKIOSNetworkPlugin (0.54.0):
|
||||
- FlipperKit/SKIOSNetworkPlugin (0.75.1):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/FlipperKitNetworkPlugin
|
||||
- glog (0.3.5)
|
||||
- OpenSSL-Universal (1.0.2.19):
|
||||
- OpenSSL-Universal/Static (= 1.0.2.19)
|
||||
- OpenSSL-Universal/Static (1.0.2.19)
|
||||
- libevent (2.1.12)
|
||||
- OpenSSL-Universal (1.1.180)
|
||||
- RCT-Folly (2020.01.13.00):
|
||||
- boost-for-react-native
|
||||
- DoubleConversion
|
||||
@@ -70,285 +68,285 @@ PODS:
|
||||
- boost-for-react-native
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCTRequired (1000.0.0)
|
||||
- RCTTypeSafety (1000.0.0):
|
||||
- FBLazyVector (= 1000.0.0)
|
||||
- RCTRequired (0.64.1)
|
||||
- RCTTypeSafety (0.64.1):
|
||||
- FBLazyVector (= 0.64.1)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTRequired (= 1000.0.0)
|
||||
- React-Core (= 1000.0.0)
|
||||
- React (1000.0.0):
|
||||
- React-Core (= 1000.0.0)
|
||||
- React-Core/DevSupport (= 1000.0.0)
|
||||
- React-Core/RCTWebSocket (= 1000.0.0)
|
||||
- React-RCTActionSheet (= 1000.0.0)
|
||||
- React-RCTAnimation (= 1000.0.0)
|
||||
- React-RCTBlob (= 1000.0.0)
|
||||
- React-RCTImage (= 1000.0.0)
|
||||
- React-RCTLinking (= 1000.0.0)
|
||||
- React-RCTNetwork (= 1000.0.0)
|
||||
- React-RCTSettings (= 1000.0.0)
|
||||
- React-RCTText (= 1000.0.0)
|
||||
- React-RCTVibration (= 1000.0.0)
|
||||
- React-callinvoker (1000.0.0)
|
||||
- React-Core (1000.0.0):
|
||||
- RCTRequired (= 0.64.1)
|
||||
- React-Core (= 0.64.1)
|
||||
- React (0.64.1):
|
||||
- React-Core (= 0.64.1)
|
||||
- React-Core/DevSupport (= 0.64.1)
|
||||
- React-Core/RCTWebSocket (= 0.64.1)
|
||||
- React-RCTActionSheet (= 0.64.1)
|
||||
- React-RCTAnimation (= 0.64.1)
|
||||
- React-RCTBlob (= 0.64.1)
|
||||
- React-RCTImage (= 0.64.1)
|
||||
- React-RCTLinking (= 0.64.1)
|
||||
- React-RCTNetwork (= 0.64.1)
|
||||
- React-RCTSettings (= 0.64.1)
|
||||
- React-RCTText (= 0.64.1)
|
||||
- React-RCTVibration (= 0.64.1)
|
||||
- React-callinvoker (0.64.1)
|
||||
- React-Core (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default (= 1000.0.0)
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-Core/Default (= 0.64.1)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/CoreModulesHeaders (1000.0.0):
|
||||
- React-Core/CoreModulesHeaders (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/Default (1000.0.0):
|
||||
- React-Core/Default (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/DevSupport (1000.0.0):
|
||||
- React-Core/DevSupport (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default (= 1000.0.0)
|
||||
- React-Core/RCTWebSocket (= 1000.0.0)
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-jsinspector (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-Core/Default (= 0.64.1)
|
||||
- React-Core/RCTWebSocket (= 0.64.1)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-jsinspector (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/RCTActionSheetHeaders (1000.0.0):
|
||||
- React-Core/RCTActionSheetHeaders (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/RCTAnimationHeaders (1000.0.0):
|
||||
- React-Core/RCTAnimationHeaders (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/RCTBlobHeaders (1000.0.0):
|
||||
- React-Core/RCTBlobHeaders (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/RCTImageHeaders (1000.0.0):
|
||||
- React-Core/RCTImageHeaders (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/RCTLinkingHeaders (1000.0.0):
|
||||
- React-Core/RCTLinkingHeaders (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/RCTNetworkHeaders (1000.0.0):
|
||||
- React-Core/RCTNetworkHeaders (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/RCTPushNotificationHeaders (1000.0.0):
|
||||
- React-Core/RCTPushNotificationHeaders (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/RCTSettingsHeaders (1000.0.0):
|
||||
- React-Core/RCTSettingsHeaders (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/RCTTextHeaders (1000.0.0):
|
||||
- React-Core/RCTTextHeaders (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/RCTVibrationHeaders (1000.0.0):
|
||||
- React-Core/RCTVibrationHeaders (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-Core/RCTWebSocket (1000.0.0):
|
||||
- React-Core/RCTWebSocket (0.64.1):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default (= 1000.0.0)
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-Core/Default (= 0.64.1)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsiexecutor (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- Yoga
|
||||
- React-CoreModules (1000.0.0):
|
||||
- FBReactNativeSpec (= 1000.0.0)
|
||||
- React-CoreModules (0.64.1):
|
||||
- FBReactNativeSpec (= 0.64.1)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 1000.0.0)
|
||||
- React-Core/CoreModulesHeaders (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-RCTImage (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-cxxreact (1000.0.0):
|
||||
- RCTTypeSafety (= 0.64.1)
|
||||
- React-Core/CoreModulesHeaders (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-RCTImage (= 0.64.1)
|
||||
- ReactCommon/turbomodule/core (= 0.64.1)
|
||||
- React-cxxreact (0.64.1):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-callinvoker (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsinspector (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-runtimeexecutor (= 1000.0.0)
|
||||
- React-jsi (1000.0.0):
|
||||
- React-callinvoker (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-jsinspector (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- React-runtimeexecutor (= 0.64.1)
|
||||
- React-jsi (0.64.1):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-jsi/Default (= 1000.0.0)
|
||||
- React-jsi/Default (1000.0.0):
|
||||
- React-jsi/Default (= 0.64.1)
|
||||
- React-jsi/Default (0.64.1):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-jsiexecutor (1000.0.0):
|
||||
- React-jsiexecutor (0.64.1):
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- React-jsinspector (1000.0.0)
|
||||
- React-perflogger (1000.0.0)
|
||||
- React-RCTActionSheet (1000.0.0):
|
||||
- React-Core/RCTActionSheetHeaders (= 1000.0.0)
|
||||
- React-RCTAnimation (1000.0.0):
|
||||
- FBReactNativeSpec (= 1000.0.0)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- React-jsinspector (0.64.1)
|
||||
- React-perflogger (0.64.1)
|
||||
- React-RCTActionSheet (0.64.1):
|
||||
- React-Core/RCTActionSheetHeaders (= 0.64.1)
|
||||
- React-RCTAnimation (0.64.1):
|
||||
- FBReactNativeSpec (= 0.64.1)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 1000.0.0)
|
||||
- React-Core/RCTAnimationHeaders (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-RCTBlob (1000.0.0):
|
||||
- FBReactNativeSpec (= 1000.0.0)
|
||||
- RCTTypeSafety (= 0.64.1)
|
||||
- React-Core/RCTAnimationHeaders (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- ReactCommon/turbomodule/core (= 0.64.1)
|
||||
- React-RCTBlob (0.64.1):
|
||||
- FBReactNativeSpec (= 0.64.1)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/RCTBlobHeaders (= 1000.0.0)
|
||||
- React-Core/RCTWebSocket (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-RCTNetwork (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-RCTImage (1000.0.0):
|
||||
- FBReactNativeSpec (= 1000.0.0)
|
||||
- React-Core/RCTBlobHeaders (= 0.64.1)
|
||||
- React-Core/RCTWebSocket (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-RCTNetwork (= 0.64.1)
|
||||
- ReactCommon/turbomodule/core (= 0.64.1)
|
||||
- React-RCTImage (0.64.1):
|
||||
- FBReactNativeSpec (= 0.64.1)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 1000.0.0)
|
||||
- React-Core/RCTImageHeaders (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-RCTNetwork (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-RCTLinking (1000.0.0):
|
||||
- FBReactNativeSpec (= 1000.0.0)
|
||||
- React-Core/RCTLinkingHeaders (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-RCTNetwork (1000.0.0):
|
||||
- FBReactNativeSpec (= 1000.0.0)
|
||||
- RCTTypeSafety (= 0.64.1)
|
||||
- React-Core/RCTImageHeaders (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-RCTNetwork (= 0.64.1)
|
||||
- ReactCommon/turbomodule/core (= 0.64.1)
|
||||
- React-RCTLinking (0.64.1):
|
||||
- FBReactNativeSpec (= 0.64.1)
|
||||
- React-Core/RCTLinkingHeaders (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- ReactCommon/turbomodule/core (= 0.64.1)
|
||||
- React-RCTNetwork (0.64.1):
|
||||
- FBReactNativeSpec (= 0.64.1)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 1000.0.0)
|
||||
- React-Core/RCTNetworkHeaders (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-RCTPushNotification (1000.0.0):
|
||||
- FBReactNativeSpec (= 1000.0.0)
|
||||
- RCTTypeSafety (= 1000.0.0)
|
||||
- React-Core/RCTPushNotificationHeaders (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-RCTSettings (1000.0.0):
|
||||
- FBReactNativeSpec (= 1000.0.0)
|
||||
- RCTTypeSafety (= 0.64.1)
|
||||
- React-Core/RCTNetworkHeaders (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- ReactCommon/turbomodule/core (= 0.64.1)
|
||||
- React-RCTPushNotification (0.64.1):
|
||||
- FBReactNativeSpec (= 0.64.1)
|
||||
- RCTTypeSafety (= 0.64.1)
|
||||
- React-Core/RCTPushNotificationHeaders (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- ReactCommon/turbomodule/core (= 0.64.1)
|
||||
- React-RCTSettings (0.64.1):
|
||||
- FBReactNativeSpec (= 0.64.1)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 1000.0.0)
|
||||
- React-Core/RCTSettingsHeaders (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-RCTTest (1000.0.0):
|
||||
- RCTTypeSafety (= 0.64.1)
|
||||
- React-Core/RCTSettingsHeaders (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- ReactCommon/turbomodule/core (= 0.64.1)
|
||||
- React-RCTTest (0.64.1):
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core (= 1000.0.0)
|
||||
- React-CoreModules (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-RCTText (1000.0.0):
|
||||
- React-Core/RCTTextHeaders (= 1000.0.0)
|
||||
- React-RCTVibration (1000.0.0):
|
||||
- FBReactNativeSpec (= 1000.0.0)
|
||||
- React-Core (= 0.64.1)
|
||||
- React-CoreModules (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- ReactCommon/turbomodule/core (= 0.64.1)
|
||||
- React-RCTText (0.64.1):
|
||||
- React-Core/RCTTextHeaders (= 0.64.1)
|
||||
- React-RCTVibration (0.64.1):
|
||||
- FBReactNativeSpec (= 0.64.1)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/RCTVibrationHeaders (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-runtimeexecutor (1000.0.0):
|
||||
- React-jsi (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (1000.0.0):
|
||||
- React-Core/RCTVibrationHeaders (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- ReactCommon/turbomodule/core (= 0.64.1)
|
||||
- React-runtimeexecutor (0.64.1):
|
||||
- React-jsi (= 0.64.1)
|
||||
- ReactCommon/turbomodule/core (0.64.1):
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-callinvoker (= 1000.0.0)
|
||||
- React-Core (= 1000.0.0)
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/samples (1000.0.0):
|
||||
- React-callinvoker (= 0.64.1)
|
||||
- React-Core (= 0.64.1)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- ReactCommon/turbomodule/samples (0.64.1):
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-callinvoker (= 1000.0.0)
|
||||
- React-Core (= 1000.0.0)
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-perflogger (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-callinvoker (= 0.64.1)
|
||||
- React-Core (= 0.64.1)
|
||||
- React-cxxreact (= 0.64.1)
|
||||
- React-jsi (= 0.64.1)
|
||||
- React-perflogger (= 0.64.1)
|
||||
- ReactCommon/turbomodule/core (= 0.64.1)
|
||||
- Yoga (1.14.0)
|
||||
- YogaKit (1.18.1):
|
||||
- Yoga (~> 1.14)
|
||||
@@ -356,26 +354,26 @@ PODS:
|
||||
DEPENDENCIES:
|
||||
- DoubleConversion (from `../../third-party-podspecs/DoubleConversion.podspec`)
|
||||
- FBLazyVector (from `../../Libraries/FBLazyVector`)
|
||||
- FBReactNativeSpec (from `../../Libraries/FBReactNativeSpec`)
|
||||
- Flipper (~> 0.54.0)
|
||||
- FBReactNativeSpec (from `../../React/FBReactNativeSpec`)
|
||||
- Flipper (~> 0.75.1)
|
||||
- Flipper-DoubleConversion (= 1.1.7)
|
||||
- Flipper-Folly (~> 2.2)
|
||||
- Flipper-Folly (~> 2.5.3)
|
||||
- Flipper-Glog (= 0.3.6)
|
||||
- Flipper-PeerTalk (~> 0.0.4)
|
||||
- Flipper-RSocket (~> 1.1)
|
||||
- FlipperKit (~> 0.54.0)
|
||||
- FlipperKit/Core (~> 0.54.0)
|
||||
- FlipperKit/CppBridge (~> 0.54.0)
|
||||
- FlipperKit/FBCxxFollyDynamicConvert (~> 0.54.0)
|
||||
- FlipperKit/FBDefines (~> 0.54.0)
|
||||
- FlipperKit/FKPortForwarding (~> 0.54.0)
|
||||
- FlipperKit/FlipperKitHighlightOverlay (~> 0.54.0)
|
||||
- FlipperKit/FlipperKitLayoutPlugin (~> 0.54.0)
|
||||
- FlipperKit/FlipperKitLayoutTextSearchable (~> 0.54.0)
|
||||
- FlipperKit/FlipperKitNetworkPlugin (~> 0.54.0)
|
||||
- FlipperKit/FlipperKitReactPlugin (~> 0.54.0)
|
||||
- FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.54.0)
|
||||
- FlipperKit/SKIOSNetworkPlugin (~> 0.54.0)
|
||||
- Flipper-RSocket (~> 1.3)
|
||||
- FlipperKit (~> 0.75.1)
|
||||
- FlipperKit/Core (~> 0.75.1)
|
||||
- FlipperKit/CppBridge (~> 0.75.1)
|
||||
- FlipperKit/FBCxxFollyDynamicConvert (~> 0.75.1)
|
||||
- FlipperKit/FBDefines (~> 0.75.1)
|
||||
- FlipperKit/FKPortForwarding (~> 0.75.1)
|
||||
- FlipperKit/FlipperKitHighlightOverlay (~> 0.75.1)
|
||||
- FlipperKit/FlipperKitLayoutPlugin (~> 0.75.1)
|
||||
- FlipperKit/FlipperKitLayoutTextSearchable (~> 0.75.1)
|
||||
- FlipperKit/FlipperKitNetworkPlugin (~> 0.75.1)
|
||||
- FlipperKit/FlipperKitReactPlugin (~> 0.75.1)
|
||||
- FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.75.1)
|
||||
- FlipperKit/SKIOSNetworkPlugin (~> 0.75.1)
|
||||
- glog (from `../../third-party-podspecs/glog.podspec`)
|
||||
- RCT-Folly (from `../../third-party-podspecs/RCT-Folly.podspec`)
|
||||
- RCTRequired (from `../../Libraries/RCTRequired`)
|
||||
@@ -411,7 +409,6 @@ SPEC REPOS:
|
||||
trunk:
|
||||
- boost-for-react-native
|
||||
- CocoaAsyncSocket
|
||||
- CocoaLibEvent
|
||||
- Flipper
|
||||
- Flipper-DoubleConversion
|
||||
- Flipper-Folly
|
||||
@@ -419,6 +416,7 @@ SPEC REPOS:
|
||||
- Flipper-PeerTalk
|
||||
- Flipper-RSocket
|
||||
- FlipperKit
|
||||
- libevent
|
||||
- OpenSSL-Universal
|
||||
- YogaKit
|
||||
|
||||
@@ -428,7 +426,7 @@ EXTERNAL SOURCES:
|
||||
FBLazyVector:
|
||||
:path: "../../Libraries/FBLazyVector"
|
||||
FBReactNativeSpec:
|
||||
:path: "../../Libraries/FBReactNativeSpec"
|
||||
:path: "../../React/FBReactNativeSpec"
|
||||
glog:
|
||||
:podspec: "../../third-party-podspecs/glog.podspec"
|
||||
RCT-Folly:
|
||||
@@ -486,48 +484,48 @@ EXTERNAL SOURCES:
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
|
||||
CocoaAsyncSocket: 694058e7c0ed05a9e217d1b3c7ded962f4180845
|
||||
CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f
|
||||
DoubleConversion: cde416483dac037923206447da6e1454df403714
|
||||
FBLazyVector: fe973c09b2299b5e8154186ecf1f6554b4f70987
|
||||
FBReactNativeSpec: 20a9345af9157362b51ab0258d842cb7bb347d19
|
||||
Flipper: be611d4b742d8c87fbae2ca5f44603a02539e365
|
||||
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
|
||||
DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de
|
||||
FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53
|
||||
FBReactNativeSpec: cc4237027e294dc05119d828b26f799264e31b1f
|
||||
Flipper: d3da1aa199aad94455ae725e9f3aa43f3ec17021
|
||||
Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41
|
||||
Flipper-Folly: c12092ea368353b58e992843a990a3225d4533c3
|
||||
Flipper-Folly: 755929a4f851b2fb2c347d533a23f191b008554c
|
||||
Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6
|
||||
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
|
||||
Flipper-RSocket: 64e7431a55835eb953b0bf984ef3b90ae9fdddd7
|
||||
FlipperKit: ab353d41aea8aae2ea6daaf813e67496642f3d7d
|
||||
glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3
|
||||
OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355
|
||||
RCT-Folly: b39288cedafe50da43317ec7d91bcc8cc0abbf33
|
||||
RCTRequired: d3d4ce60e1e2282864d7560340690a3c8c646de1
|
||||
RCTTypeSafety: 4da4f9f218727257c50fd3bf2683a06cdb4fede3
|
||||
React: 87b3271d925336a94620915db5845c67c5dbbd77
|
||||
React-callinvoker: e9524d75cf0b7ae108868f8d34c0b8d7dc08ec03
|
||||
React-Core: 40874579985cf440232e3f33ce172be1f04d4964
|
||||
React-CoreModules: 87f011fa87190ffe979e443ce578ec93ec6ff4d4
|
||||
React-cxxreact: de6de17eac6bbaa4f9fad46b66e7f0c4aaaf863d
|
||||
React-jsi: 790da16b69a61adc36829eed43c44187c1488d10
|
||||
React-jsiexecutor: 17a3e26806bc19d8be7b6c83792bffc46df796be
|
||||
React-jsinspector: 01db8cd098c7ab72bd09abdda522a08c9acd3af9
|
||||
React-perflogger: 37913fce32026582ad0244b585d1e52652fd01c0
|
||||
React-RCTActionSheet: e6562ea4df7099af4023d1bd0e9716e43b45a5c9
|
||||
React-RCTAnimation: fc2f655a64f0791879ab03843cca90c53737d1cb
|
||||
React-RCTBlob: 5f82467e5d3bef65d05cdd900df6e12b0849744a
|
||||
React-RCTImage: f3a98834281555ce1bbbe1af0306aaf40ac70fc7
|
||||
React-RCTLinking: 801d05ad5e6d1636e977f4dfeab21f87358a02a5
|
||||
React-RCTNetwork: b5e2f27a098ca52d98426328640314a499da6d00
|
||||
React-RCTPushNotification: ce60993f816f917a6495227e16978b5fd550d73b
|
||||
React-RCTSettings: 3cb638230af06ba769edc0bc4ed4123040b1b4e2
|
||||
React-RCTTest: 090e9816044220c39462be109dab6d473d94b1c9
|
||||
React-RCTText: 51a41bf9d18a91b2437b833ed4246754baf830d0
|
||||
React-RCTVibration: a1cce36dd452eb88296d99d80d66f2c5bd50aad4
|
||||
React-runtimeexecutor: 53867815d0a01e53a2c901cb7f01076216c5c799
|
||||
ReactCommon: d101410fc55088c91dc24595715c7b26ec760adf
|
||||
Yoga: 69ef0b2bba5387523f793957a9f80dbd61e89631
|
||||
Flipper-RSocket: 602921fee03edacf18f5d6f3d3594ba477f456e5
|
||||
FlipperKit: 8a20b5c5fcf9436cac58551dc049867247f64b00
|
||||
glog: 73c2498ac6884b13ede40eda8228cb1eee9d9d62
|
||||
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
|
||||
OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b
|
||||
RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c
|
||||
RCTRequired: ec2ebc96b7bfba3ca5c32740f5a0c6a014a274d2
|
||||
RCTTypeSafety: 22567f31e67c3e088c7ac23ea46ab6d4779c0ea5
|
||||
React: a241e3dbb1e91d06332f1dbd2b3ab26e1a4c4b9d
|
||||
React-callinvoker: da4d1c6141696a00163960906bc8a55b985e4ce4
|
||||
React-Core: 46ba164c437d7dac607b470c83c8308b05799748
|
||||
React-CoreModules: 217bd14904491c7b9940ff8b34a3fe08013c2f14
|
||||
React-cxxreact: 0090588ae6660c4615d3629fdd5c768d0983add4
|
||||
React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6
|
||||
React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9
|
||||
React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9
|
||||
React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675
|
||||
React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a
|
||||
React-RCTAnimation: ba0a1c3a2738be224a08092fa7f1b444ab77d309
|
||||
React-RCTBlob: f758d4403fc5828a326dc69e27b41e1a92f34947
|
||||
React-RCTImage: ce57088705f4a8d03f6594b066a59c29143ba73e
|
||||
React-RCTLinking: 852a3a95c65fa63f657a4b4e2d3d83a815e00a7c
|
||||
React-RCTNetwork: 9d7ccb8a08d522d71700b4fb677d9fa28cccd118
|
||||
React-RCTPushNotification: c6fbbad3f5788ed12c45228025f68a0d84ee580c
|
||||
React-RCTSettings: d8aaf4389ff06114dee8c42ef5f0f2915946011e
|
||||
React-RCTTest: a54b615be46b0af42de666716dc35e379ff1354a
|
||||
React-RCTText: 809c12ed6b261796ba056c04fcd20d8b90bcc81d
|
||||
React-RCTVibration: 4b99a7f5c6c0abbc5256410cc5425fb8531986e1
|
||||
React-runtimeexecutor: ff951a0c241bfaefc4940a3f1f1a229e7cb32fa6
|
||||
ReactCommon: bedc99ed4dae329c4fcf128d0c31b9115e5365ca
|
||||
Yoga: a7de31c64fe738607e7a3803e3f591a4b1df7393
|
||||
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
|
||||
|
||||
PODFILE CHECKSUM: 497dba59a3312b3cb22d518b96672409db90460d
|
||||
PODFILE CHECKSUM: 0fa6a8ed13f9de5f514e19ef27e4fa803f05f584
|
||||
|
||||
COCOAPODS: 1.10.0
|
||||
COCOAPODS: 1.10.1
|
||||
|
||||
@@ -77,6 +77,7 @@
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0CC3BE1A25DDB68A0033CAEB /* RNTester.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = RNTester.entitlements; path = RNTester/RNTester.entitlements; sourceTree = "<group>"; };
|
||||
13B07F961A680F5B00A75B9A /* RNTester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RNTester.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = RNTester/AppDelegate.h; sourceTree = "<group>"; };
|
||||
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = RNTester/Info.plist; sourceTree = "<group>"; };
|
||||
@@ -219,6 +220,7 @@
|
||||
13B07FAE1A68108700A75B9A /* RNTester */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0CC3BE1A25DDB68A0033CAEB /* RNTester.entitlements */,
|
||||
E771AEEA22B44E3100EA1189 /* Info.plist */,
|
||||
13B07FAF1A68108700A75B9A /* AppDelegate.h */,
|
||||
5C60EB1B226440DB0018C04F /* AppDelegate.mm */,
|
||||
@@ -406,6 +408,7 @@
|
||||
68CD48B71D2BCB2C007E06A9 /* Build JS Bundle */,
|
||||
5CF0FD27207FC6EC00C13D65 /* Start Metro */,
|
||||
C1C7A9D58CE1D09515F20577 /* [CP] Copy Pods Resources */,
|
||||
9781C9FC159658DE40EF1E3E /* [CP] Embed Pods Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -596,6 +599,23 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "set -e\n\nexport NODE_BINARY=node\nexport PROJECT_ROOT=\"$SRCROOT/../../\"\nexport SOURCEMAP_FILE=../sourcemap.ios.map\n# export FORCE_BUNDLING=true\n\"$SRCROOT/../../scripts/react-native-xcode.sh\" $SRCROOT/../../packages/rn-tester/js/RNTesterApp.ios.js\n";
|
||||
};
|
||||
9781C9FC159658DE40EF1E3E /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
C1C7A9D58CE1D09515F20577 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -748,9 +768,8 @@
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 98233960D1D6A1977D1C7EAF /* Pods-RNTester.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
|
||||
CODE_SIGN_ENTITLEMENTS = RNTester/RNTester.entitlements;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
@@ -761,6 +780,7 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
/usr/lib/swift,
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@@ -790,9 +810,8 @@
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 5BEC8567F3741044B6A5EFC5 /* Pods-RNTester.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
|
||||
CODE_SIGN_ENTITLEMENTS = RNTester/RNTester.entitlements;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
EXCLUDED_ARCHS = "";
|
||||
INFOPLIST_FILE = "$(SRCROOT)/RNTester/Info.plist";
|
||||
@@ -800,6 +819,7 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
/usr/lib/swift,
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@@ -861,6 +881,7 @@
|
||||
ENABLE_BITCODE = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 ";
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
@@ -944,6 +965,7 @@
|
||||
ENABLE_BITCODE = NO;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 ";
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
|
||||
|
||||
@@ -10,4 +10,4 @@ android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
|
||||
# Version of flipper SDK to use with React Native
|
||||
FLIPPER_VERSION=0.54.0
|
||||
FLIPPER_VERSION=0.75.1
|
||||
|
||||
-12
@@ -7,12 +7,10 @@
|
||||
|
||||
package com.facebook.react.uiapp;
|
||||
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Bundle;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.facebook.react.ReactActivity;
|
||||
import com.facebook.react.ReactActivityDelegate;
|
||||
import com.facebook.react.ReactInstanceManager;
|
||||
import com.facebook.react.ReactRootView;
|
||||
|
||||
public class RNTesterActivity extends ReactActivity {
|
||||
@@ -64,14 +62,4 @@ public class RNTesterActivity extends ReactActivity {
|
||||
protected String getMainComponentName() {
|
||||
return "RNTesterApp";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
ReactInstanceManager instanceManager = getReactInstanceManager();
|
||||
|
||||
if (instanceManager != null) {
|
||||
instanceManager.onConfigurationChanged(this, newConfig);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ const ScreenshotManager = NativeModules.ScreenshotManager;
|
||||
const BUTTONS = ['Option 0', 'Option 1', 'Option 2', 'Delete', 'Cancel'];
|
||||
const DESTRUCTIVE_INDEX = 3;
|
||||
const CANCEL_INDEX = 4;
|
||||
const DISABLED_BUTTON_INDICES = [1, 2];
|
||||
|
||||
type Props = $ReadOnly<{||}>;
|
||||
type State = {|clicked: string|};
|
||||
@@ -138,6 +139,37 @@ class ActionSheetAnchorExample extends React.Component<
|
||||
};
|
||||
}
|
||||
|
||||
class ActionSheetDisabledExample extends React.Component<Props, State> {
|
||||
state = {
|
||||
clicked: 'none',
|
||||
};
|
||||
|
||||
render() {
|
||||
return (
|
||||
<View>
|
||||
<Text onPress={this.showActionSheet} style={style.button}>
|
||||
Click to show the ActionSheet
|
||||
</Text>
|
||||
<Text>Clicked button: {this.state.clicked}</Text>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
||||
showActionSheet = () => {
|
||||
ActionSheetIOS.showActionSheetWithOptions(
|
||||
{
|
||||
options: BUTTONS,
|
||||
cancelButtonIndex: CANCEL_INDEX,
|
||||
destructiveButtonIndex: DESTRUCTIVE_INDEX,
|
||||
disabledButtonIndices: DISABLED_BUTTON_INDICES,
|
||||
},
|
||||
buttonIndex => {
|
||||
this.setState({clicked: BUTTONS[buttonIndex]});
|
||||
},
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
class ShareActionSheetExample extends React.Component<
|
||||
$FlowFixMeProps,
|
||||
$FlowFixMeState,
|
||||
@@ -316,6 +348,12 @@ exports.examples = [
|
||||
return <ActionSheetAnchorExample />;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'Show Action Sheet with disabled buttons',
|
||||
render(): React.Element<any> {
|
||||
return <ActionSheetDisabledExample />;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'Show Share Action Sheet',
|
||||
render(): React.Element<any> {
|
||||
|
||||
+3
-9
@@ -28,17 +28,11 @@ def detectCliPath(config) {
|
||||
if (config.cliPath) {
|
||||
return config.cliPath
|
||||
}
|
||||
|
||||
def cliPath = ["node", "-e", "console.log(require('react-native/cli').bin);"].execute([], projectDir).text.trim()
|
||||
|
||||
if (cliPath) {
|
||||
return cliPath
|
||||
} else if (new File("${projectDir}/../../node_modules/react-native/cli.js").exists()) {
|
||||
if (new File("${projectDir}/../../node_modules/react-native/cli.js").exists()) {
|
||||
return "${projectDir}/../../node_modules/react-native/cli.js"
|
||||
} else {
|
||||
throw new Exception("Couldn't determine CLI location. " +
|
||||
"Please set `project.ext.react.cliPath` to the path of the react-native cli.js");
|
||||
}
|
||||
throw new Exception("Couldn't determine CLI location. " +
|
||||
"Please set `project.ext.react.cliPath` to the path of the react-native cli.js");
|
||||
}
|
||||
|
||||
def composeSourceMapsPath = config.composeSourceMapsPath ?: "node_modules/react-native/scripts/compose-source-maps.js"
|
||||
|
||||
Executable
+37
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
#
|
||||
# This source code is licensed under the MIT license found in the
|
||||
# LICENSE file in the root directory of this source tree.
|
||||
|
||||
set -e
|
||||
|
||||
# Define NVM_DIR and source the nvm.sh setup script
|
||||
[ -z "$NVM_DIR" ] && export NVM_DIR="$HOME/.nvm"
|
||||
|
||||
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
|
||||
. "$HOME/.nvm/nvm.sh"
|
||||
elif [[ -x "$(command -v brew)" && -s "$(brew --prefix nvm)/nvm.sh" ]]; then
|
||||
. "$(brew --prefix nvm)/nvm.sh"
|
||||
fi
|
||||
|
||||
# Set up the nodenv node version manager if present
|
||||
if [[ -x "$HOME/.nodenv/bin/nodenv" ]]; then
|
||||
eval "$("$HOME/.nodenv/bin/nodenv" init -)"
|
||||
elif [[ -x "$(command -v brew)" && -x "$(brew --prefix nodenv)/bin/nodenv" ]]; then
|
||||
eval "$("$(brew --prefix nodenv)/bin/nodenv" init -)"
|
||||
fi
|
||||
|
||||
# Set up the ndenv of anyenv if preset
|
||||
if [[ ! -x node && -d ${HOME}/.anyenv/bin ]]; then
|
||||
export PATH=${HOME}/.anyenv/bin:${PATH}
|
||||
if [[ "$(anyenv envs | grep -c ndenv )" -eq 1 ]]; then
|
||||
eval "$(anyenv init -)"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Support Homebrew on M1
|
||||
HOMEBREW_M1_BIN=/opt/homebrew/bin
|
||||
if [[ -d $HOMEBREW_M1_BIN && ! $PATH =~ $HOMEBREW_M1_BIN ]]; then
|
||||
export PATH="$HOMEBREW_M1_BIN:$PATH"
|
||||
fi
|
||||
@@ -1,57 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
#
|
||||
# This source code is licensed under the MIT license found in the
|
||||
# LICENSE file in the root directory of this source tree.
|
||||
|
||||
# This script collects the JavaScript spec definitions for native
|
||||
# modules, then uses react-native-codegen to generate native code.
|
||||
# The script will copy the generated code to the final location by
|
||||
# default. Optionally, call the script with a path to the desired
|
||||
# output location.
|
||||
#
|
||||
# Usage:
|
||||
# ./scripts/generate-native-modules-specs.sh [output-dir]
|
||||
#
|
||||
# Example:
|
||||
# ./scripts/generate-native-modules-specs.sh ./codegen-out
|
||||
|
||||
# shellcheck disable=SC2038
|
||||
|
||||
set -e
|
||||
|
||||
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
|
||||
RN_DIR=$(cd "$THIS_DIR/.." && pwd)
|
||||
CODEGEN_DIR=$(cd "$RN_DIR/packages/react-native-codegen" && pwd)
|
||||
OUTPUT_DIR="${1:-$RN_DIR/Libraries/FBReactNativeSpec/FBReactNativeSpec}"
|
||||
SCHEMA_FILE="$RN_DIR/schema-native-modules.json"
|
||||
YARN_BINARY="${YARN_BINARY:-yarn}"
|
||||
|
||||
describe () {
|
||||
printf "\\n\\n>>>>> %s\\n\\n\\n" "$1"
|
||||
}
|
||||
|
||||
step_build_codegen () {
|
||||
describe "Building react-native-codegen package"
|
||||
pushd "$CODEGEN_DIR" >/dev/null || exit
|
||||
"$YARN_BINARY"
|
||||
"$YARN_BINARY" build
|
||||
popd >/dev/null || exit
|
||||
}
|
||||
|
||||
step_gen_schema () {
|
||||
describe "Generating schema from flow types"
|
||||
SRCS_DIR=$(cd "$RN_DIR/Libraries" && pwd)
|
||||
"$YARN_BINARY" node "$CODEGEN_DIR/lib/cli/combine/combine-js-to-schema-cli.js" "$SCHEMA_FILE" "$SRCS_DIR"
|
||||
}
|
||||
|
||||
step_gen_specs () {
|
||||
describe "Generating native code from schema (iOS)"
|
||||
pushd "$RN_DIR" >/dev/null || exit
|
||||
"$YARN_BINARY" --silent node scripts/generate-native-modules-specs-cli.js ios "$SCHEMA_FILE" "$OUTPUT_DIR"
|
||||
popd >/dev/null || exit
|
||||
}
|
||||
|
||||
step_build_codegen
|
||||
step_gen_schema
|
||||
step_gen_specs
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
#
|
||||
# This source code is licensed under the MIT license found in the
|
||||
# LICENSE file in the root directory of this source tree.
|
||||
|
||||
# This script collects the "core" component schemas used by fabric
|
||||
# then uses react-native-codegen to generate the component headers
|
||||
# to a location that the podspecs expect.
|
||||
|
||||
# shellcheck disable=SC2038
|
||||
|
||||
find "$PWD/../Libraries" -name "*NativeComponent.js" -print | xargs yarn flow-node packages/react-native-codegen/src/cli/combine/combine-js-to-schema-cli.js schema-rncore.json
|
||||
yarn flow-node packages/react-native-codegen/buck_tests/generate-tests.js schema-rncore.json rncore ReactCommon/fabric/components/rncore rncore
|
||||
Executable
+91
@@ -0,0 +1,91 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
#
|
||||
# This source code is licensed under the MIT license found in the
|
||||
# LICENSE file in the root directory of this source tree.
|
||||
|
||||
# This script collects the JavaScript spec definitions for core
|
||||
# native modules and components, then uses react-native-codegen
|
||||
# to generate native code.
|
||||
#
|
||||
# Optionally, set these envvars to override defaults:
|
||||
# - SRCS_DIR: Path to JavaScript sources
|
||||
# - CODEGEN_MODULES_LIBRARY_NAME: Defaults to FBReactNativeSpec
|
||||
# - CODEGEN_MODULES_OUTPUT_DIR: Defaults to React/$CODEGEN_MODULES_LIBRARY_NAME/$CODEGEN_MODULES_LIBRARY_NAME
|
||||
# - CODEGEN_COMPONENTS_LIBRARY_NAME: Defaults to rncore
|
||||
# - CODEGEN_COMPONENTS_OUTPUT_DIR: Defaults to ReactCommon/react/renderer/components/$CODEGEN_COMPONENTS_LIBRARY_NAME
|
||||
#
|
||||
# Usage:
|
||||
# ./scripts/generate-specs.sh
|
||||
# SRCS_DIR=myapp/js CODEGEN_MODULES_LIBRARY_NAME=MySpecs CODEGEN_MODULES_OUTPUT_DIR=myapp/MySpecs ./scripts/generate-specs.sh
|
||||
#
|
||||
|
||||
# shellcheck disable=SC2038
|
||||
|
||||
set -e
|
||||
|
||||
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
|
||||
TEMP_DIR=$(mktemp -d /tmp/react-native-codegen-XXXXXXXX)
|
||||
RN_DIR=$(cd "$THIS_DIR/.." && pwd)
|
||||
|
||||
# find node path
|
||||
source "$RN_DIR/scripts/find-node.sh"
|
||||
|
||||
NODE_BINARY="${NODE_BINARY:-$(command -v node || true)}"
|
||||
USE_FABRIC="${USE_FABRIC:-0}"
|
||||
|
||||
cleanup () {
|
||||
set +e
|
||||
rm -rf "$TEMP_DIR"
|
||||
set -e
|
||||
}
|
||||
|
||||
describe () {
|
||||
printf "\\n\\n>>>>> %s\\n\\n\\n" "$1"
|
||||
}
|
||||
|
||||
main() {
|
||||
SRCS_DIR=${SRCS_DIR:-$(cd "$RN_DIR/Libraries" && pwd)}
|
||||
CODEGEN_MODULES_LIBRARY_NAME=${CODEGEN_MODULES_LIBRARY_NAME:-FBReactNativeSpec}
|
||||
|
||||
CODEGEN_COMPONENTS_LIBRARY_NAME=${CODEGEN_COMPONENTS_LIBRARY_NAME:-rncore}
|
||||
CODEGEN_MODULES_OUTPUT_DIR=${CODEGEN_MODULES_OUTPUT_DIR:-"$RN_DIR/React/$CODEGEN_MODULES_LIBRARY_NAME/$CODEGEN_MODULES_LIBRARY_NAME"}
|
||||
# TODO: $CODEGEN_COMPONENTS_PATH should be programmatically specified, and may change with use_frameworks! support.
|
||||
CODEGEN_COMPONENTS_PATH="ReactCommon/react/renderer/components"
|
||||
CODEGEN_COMPONENTS_OUTPUT_DIR=${CODEGEN_COMPONENTS_OUTPUT_DIR:-"$RN_DIR/$CODEGEN_COMPONENTS_PATH/$CODEGEN_COMPONENTS_LIBRARY_NAME"}
|
||||
|
||||
TEMP_OUTPUT_DIR="$TEMP_DIR/out"
|
||||
SCHEMA_FILE="$TEMP_DIR/schema.json"
|
||||
|
||||
if [ -z "$NODE_BINARY" ]; then
|
||||
echo "Error: Could not find node. Make sure it is in bash PATH or set the NODE_BINARY environment variable." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CODEGEN_PATH=$("$NODE_BINARY" -e "console.log(require('path').dirname(require.resolve('react-native-codegen/package.json')))")
|
||||
|
||||
# Special case for running CodeGen from source: build it
|
||||
if [ ! -d "$CODEGEN_PATH/lib" ]; then
|
||||
describe "Building react-native-codegen package"
|
||||
bash "$CODEGEN_PATH/scripts/oss/build.sh"
|
||||
fi
|
||||
|
||||
describe "Generating schema from flow types"
|
||||
"$NODE_BINARY" "$CODEGEN_PATH/lib/cli/combine/combine-js-to-schema-cli.js" "$SCHEMA_FILE" "$SRCS_DIR"
|
||||
|
||||
describe "Generating native code from schema (iOS)"
|
||||
pushd "$RN_DIR" >/dev/null || exit 1
|
||||
"$NODE_BINARY" scripts/generate-specs-cli.js ios "$SCHEMA_FILE" "$TEMP_OUTPUT_DIR" "$CODEGEN_MODULES_LIBRARY_NAME"
|
||||
popd >/dev/null || exit 1
|
||||
|
||||
describe "Copying output to final directory"
|
||||
mkdir -p "$CODEGEN_COMPONENTS_OUTPUT_DIR" "$CODEGEN_MODULES_OUTPUT_DIR"
|
||||
cp -R "$TEMP_OUTPUT_DIR/$CODEGEN_MODULES_LIBRARY_NAME.h" "$TEMP_OUTPUT_DIR/$CODEGEN_MODULES_LIBRARY_NAME-generated.mm" "$CODEGEN_MODULES_OUTPUT_DIR" || exit 1
|
||||
find "$TEMP_OUTPUT_DIR" -type f | xargs sed -i.bak "s/$CODEGEN_MODULES_LIBRARY_NAME/$CODEGEN_COMPONENTS_LIBRARY_NAME/g" || exit 1
|
||||
find "$TEMP_OUTPUT_DIR" -type f -not -iname "$CODEGEN_MODULES_LIBRARY_NAME*" -exec cp '{}' "$CODEGEN_COMPONENTS_OUTPUT_DIR/" ';' || exit 1
|
||||
|
||||
echo >&2 'Done.'
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
main "$@"
|
||||
+12
-12
@@ -1,12 +1,12 @@
|
||||
:: Copyright (c) Facebook, Inc. and its affiliates.
|
||||
::
|
||||
:: This source code is licensed under the MIT license found in the
|
||||
:: LICENSE file in the root directory of this source tree.
|
||||
|
||||
@echo off
|
||||
title Metro
|
||||
call .packager.bat
|
||||
cd ../../../
|
||||
node "%~dp0..\cli.js" start
|
||||
pause
|
||||
exit
|
||||
:: Copyright (c) Facebook, Inc. and its affiliates.
|
||||
::
|
||||
:: This source code is licensed under the MIT license found in the
|
||||
:: LICENSE file in the root directory of this source tree.
|
||||
|
||||
@echo off
|
||||
title Metro
|
||||
call .packager.bat
|
||||
cd ../../../
|
||||
node "%~dp0..\cli.js" start
|
||||
pause
|
||||
exit
|
||||
|
||||
+28
-6
@@ -126,12 +126,34 @@ if (nightlyBuild) {
|
||||
releaseVersion = tagsWithVersion[tagsWithVersion.length - 1].slice(1);
|
||||
}
|
||||
|
||||
// -------- Generating Android Artifacts with JavaDoc
|
||||
if (exec('./gradlew :ReactAndroid:installArchives').code) {
|
||||
echo('Could not generate artifacts');
|
||||
exit(1);
|
||||
const buildAndroid = (rebuildOnError) => {
|
||||
// -------- Generating Android Artifacts with JavaDoc
|
||||
if (exec('./gradlew :ReactAndroid:installArchives').code) {
|
||||
echo('Could not generate artifacts.');
|
||||
exit(1);
|
||||
}
|
||||
|
||||
const aarLocation = `android/com/facebook/react/react-native/${releaseVersion}/react-native-${releaseVersion}.aar`;
|
||||
|
||||
// -------- Check if Android artifact contains all the files
|
||||
const {stdout: aarContent} = exec(`unzip -l ${aarLocation} | grep libfbjni.so`);
|
||||
if ((aarContent.match(/libfbjni.so/g) || []).length === 4) {
|
||||
echo(`Artifacts validated, continuing.`);
|
||||
return;
|
||||
}
|
||||
|
||||
// -------- Temporary fix for broken Android artifact is to build with Gradle once again
|
||||
if (rebuildOnError) {
|
||||
echo(`${aarLocation} is missing contents. Rebuilding with Gradle again in an effort to try to fix it.`);
|
||||
buildAndroid(false);
|
||||
} else {
|
||||
echo(`${aarLocation} is missing contents. Rebuilding did not fix the issue.`);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
buildAndroid(true);
|
||||
|
||||
// undo uncommenting javadoc setting
|
||||
exec('git checkout ReactAndroid/gradle.properties');
|
||||
|
||||
@@ -157,8 +179,8 @@ artifacts.forEach(name => {
|
||||
const tagFlag = nightlyBuild
|
||||
? '--tag nightly'
|
||||
: releaseVersion.indexOf('-rc') === -1
|
||||
? ''
|
||||
: '--tag next';
|
||||
? ''
|
||||
: '--tag next';
|
||||
|
||||
// use otp from envvars if available
|
||||
const otpFlag = otp ? `--otp ${otp}` : '';
|
||||
|
||||
@@ -64,9 +64,6 @@ PROJECT_ROOT=${PROJECT_ROOT:-"$REACT_NATIVE_DIR/../.."}
|
||||
|
||||
cd "$PROJECT_ROOT" || exit
|
||||
|
||||
# Define NVM_DIR and source the nvm.sh setup script
|
||||
[ -z "$NVM_DIR" ] && export NVM_DIR="$HOME/.nvm"
|
||||
|
||||
# Define entry file
|
||||
if [[ "$ENTRY_FILE" ]]; then
|
||||
# Use ENTRY_FILE defined by user
|
||||
@@ -82,26 +79,8 @@ if [[ $DEV != true && ! -f "$ENTRY_FILE" ]]; then
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
|
||||
. "$HOME/.nvm/nvm.sh"
|
||||
elif [[ -x "$(command -v brew)" && -s "$(brew --prefix nvm)/nvm.sh" ]]; then
|
||||
. "$(brew --prefix nvm)/nvm.sh"
|
||||
fi
|
||||
|
||||
# Set up the nodenv node version manager if present
|
||||
if [[ -x "$HOME/.nodenv/bin/nodenv" ]]; then
|
||||
eval "$("$HOME/.nodenv/bin/nodenv" init -)"
|
||||
elif [[ -x "$(command -v brew)" && -x "$(brew --prefix nodenv)/bin/nodenv" ]]; then
|
||||
eval "$("$(brew --prefix nodenv)/bin/nodenv" init -)"
|
||||
fi
|
||||
|
||||
# Set up the ndenv of anyenv if preset
|
||||
if [[ ! -x node && -d ${HOME}/.anyenv/bin ]]; then
|
||||
export PATH=${HOME}/.anyenv/bin:${PATH}
|
||||
if [[ "$(anyenv envs | grep -c ndenv )" -eq 1 ]]; then
|
||||
eval "$(anyenv init -)"
|
||||
fi
|
||||
fi
|
||||
# find node path
|
||||
source "$REACT_NATIVE_DIR/scripts/find-node.sh"
|
||||
|
||||
# check and assign NODE_BINARY env
|
||||
# shellcheck source=/dev/null
|
||||
|
||||
+126
-18
@@ -4,7 +4,7 @@
|
||||
# LICENSE file in the root directory of this source tree.
|
||||
|
||||
def use_react_native! (options={})
|
||||
# The prefix to the react-native
|
||||
# The prefix to react-native
|
||||
prefix = options[:path] ||= "../node_modules/react-native"
|
||||
|
||||
# Include Fabric dependencies
|
||||
@@ -18,7 +18,7 @@ def use_react_native! (options={})
|
||||
|
||||
# The Pods which should be included in all projects
|
||||
pod 'FBLazyVector', :path => "#{prefix}/Libraries/FBLazyVector"
|
||||
pod 'FBReactNativeSpec', :path => "#{prefix}/Libraries/FBReactNativeSpec"
|
||||
pod 'FBReactNativeSpec', :path => "#{prefix}/React/FBReactNativeSpec"
|
||||
pod 'RCTRequired', :path => "#{prefix}/Libraries/RCTRequired"
|
||||
pod 'RCTTypeSafety', :path => "#{prefix}/Libraries/TypeSafety"
|
||||
pod 'React', :path => "#{prefix}/"
|
||||
@@ -55,7 +55,7 @@ def use_react_native! (options={})
|
||||
|
||||
if fabric_enabled
|
||||
pod 'React-Fabric', :path => "#{prefix}/ReactCommon"
|
||||
pod 'React-graphics', :path => "#{prefix}/ReactCommon/fabric/graphics"
|
||||
pod 'React-graphics', :path => "#{prefix}/ReactCommon/react/renderer/graphics"
|
||||
pod 'React-jsi/Fabric', :path => "#{prefix}/ReactCommon/jsi"
|
||||
pod 'React-RCTFabric', :path => "#{prefix}/React"
|
||||
pod 'RCT-Folly/Fabric', :podspec => "#{prefix}/third-party-podspecs/RCT-Folly.podspec"
|
||||
@@ -63,18 +63,18 @@ def use_react_native! (options={})
|
||||
|
||||
if hermes_enabled
|
||||
pod 'React-Core/Hermes', :path => "#{prefix}/"
|
||||
pod 'hermes-engine'
|
||||
pod 'libevent', :podspec => "#{prefix}/third-party-podspecs/libevent.podspec"
|
||||
pod 'hermes-engine', '~> 0.7.2'
|
||||
pod 'libevent', '~> 2.1.12'
|
||||
end
|
||||
end
|
||||
|
||||
def use_flipper!(versions = {}, configurations: ['Debug'])
|
||||
versions['Flipper'] ||= '~> 0.54.0'
|
||||
versions['Flipper'] ||= '~> 0.75.1'
|
||||
versions['Flipper-DoubleConversion'] ||= '1.1.7'
|
||||
versions['Flipper-Folly'] ||= '~> 2.2'
|
||||
versions['Flipper-Folly'] ||= '~> 2.5.3'
|
||||
versions['Flipper-Glog'] ||= '0.3.6'
|
||||
versions['Flipper-PeerTalk'] ||= '~> 0.0.4'
|
||||
versions['Flipper-RSocket'] ||= '~> 1.1'
|
||||
versions['Flipper-RSocket'] ||= '~> 1.3'
|
||||
pod 'FlipperKit', versions['Flipper'], :configurations => configurations
|
||||
pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configurations => configurations
|
||||
pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configurations => configurations
|
||||
@@ -98,6 +98,10 @@ def use_flipper!(versions = {}, configurations: ['Debug'])
|
||||
pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configurations => configurations
|
||||
end
|
||||
|
||||
def has_pod(installer, name)
|
||||
installer.pods_project.pod_group(name) != nil
|
||||
end
|
||||
|
||||
# Post Install processing for Flipper
|
||||
def flipper_post_install(installer)
|
||||
installer.pods_project.targets.each do |target|
|
||||
@@ -109,16 +113,120 @@ def flipper_post_install(installer)
|
||||
end
|
||||
end
|
||||
|
||||
# Pre Install processing for Native Modules
|
||||
def codegen_pre_install(installer, options={})
|
||||
prefix = options[:path] ||= "../node_modules/react-native"
|
||||
codegen_path = options[:codegen_path] ||= "../node_modules/react-native-codegen"
|
||||
def exclude_architectures(installer)
|
||||
projects = installer.aggregate_targets
|
||||
.map{ |t| t.user_project }
|
||||
.uniq{ |p| p.path }
|
||||
.push(installer.pods_project)
|
||||
|
||||
Dir.mktmpdir do |dir|
|
||||
native_module_spec_name = "FBReactNativeSpec"
|
||||
schema_file = dir + "/schema-#{native_module_spec_name}.json"
|
||||
srcs_dir = "#{prefix}/Libraries"
|
||||
schema_generated = system("node #{codegen_path}/lib/cli/combine/combine-js-to-schema-cli.js #{schema_file} #{srcs_dir}")
|
||||
specs_generated = system("node #{prefix}/scripts/generate-native-modules-specs-cli.js ios #{schema_file} #{srcs_dir}/#{native_module_spec_name}/#{native_module_spec_name}")
|
||||
arm_value = `/usr/sbin/sysctl -n hw.optional.arm64 2>&1`.to_i
|
||||
|
||||
# Hermes does not support `i386` architecture
|
||||
excluded_archs_default = has_pod(installer, 'hermes-engine') ? "i386" : ""
|
||||
|
||||
projects.each do |project|
|
||||
project.build_configurations.each do |config|
|
||||
if arm_value == 1 then
|
||||
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = excluded_archs_default
|
||||
else
|
||||
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64 " + excluded_archs_default
|
||||
end
|
||||
end
|
||||
|
||||
project.save()
|
||||
end
|
||||
end
|
||||
|
||||
def react_native_post_install(installer)
|
||||
pods_prefix = File.dirname(installer.pods_project.path)
|
||||
|
||||
if has_pod(installer, 'Flipper')
|
||||
flipper_post_install(installer)
|
||||
end
|
||||
|
||||
## Fix for RTC-Folly on iOS 14.5 - makes Hermes work again
|
||||
find_and_replace(
|
||||
"#{pods_prefix}/RCT-Folly/folly/synchronization/DistributedMutex-inl.h",
|
||||
'atomic_notify_one(state)',
|
||||
'folly::atomic_notify_one(state)'
|
||||
)
|
||||
|
||||
find_and_replace(
|
||||
"#{pods_prefix}Pods/RCT-Folly/folly/synchronization/DistributedMutex-inl.h",
|
||||
'atomic_wait_until(&state, previous | data, deadline)',
|
||||
'folly::atomic_wait_until(&state, previous | data, deadline)'
|
||||
)
|
||||
|
||||
## Exclude `i386` from valid architectures when building with Hermes on iOS
|
||||
exclude_architectures(installer)
|
||||
end
|
||||
|
||||
def use_react_native_codegen!(spec, options={})
|
||||
return if ENV['DISABLE_CODEGEN'] == '1'
|
||||
|
||||
# The path to react-native (e.g. react_native_path)
|
||||
prefix = options[:path] ||= File.join(__dir__, "..")
|
||||
|
||||
# The path to JavaScript files
|
||||
srcs_dir = options[:srcs_dir] ||= File.join(prefix, "Libraries")
|
||||
|
||||
# Library name (e.g. FBReactNativeSpec)
|
||||
codegen_modules_library_name = spec.name
|
||||
codegen_modules_output_dir = options[:codegen_modules_output_dir] ||= File.join(prefix, "React/#{codegen_modules_library_name}/#{codegen_modules_library_name}")
|
||||
|
||||
# Run the codegen as part of the Xcode build pipeline.
|
||||
env_vars = "SRCS_DIR=#{srcs_dir}"
|
||||
env_vars += " CODEGEN_MODULES_OUTPUT_DIR=#{codegen_modules_output_dir}"
|
||||
|
||||
# Since the generated files are not guaranteed to exist when CocoaPods is run, we need to create
|
||||
# empty files to ensure the references are included in the resulting Pods Xcode project.
|
||||
mkdir_command = "mkdir -p #{codegen_modules_output_dir}"
|
||||
generated_filenames = [ "#{codegen_modules_library_name}.h", "#{codegen_modules_library_name}-generated.mm" ]
|
||||
generated_files = generated_filenames.map { |filename| File.join(codegen_modules_output_dir, filename) }
|
||||
|
||||
if ENV['USE_FABRIC'] == '1'
|
||||
# We use a different library name for components, as well as an additional set of files.
|
||||
# Eventually, we want these to be part of the same library as #{codegen_modules_library_name} above.
|
||||
codegen_components_library_name = "rncore"
|
||||
codegen_components_output_dir = File.join(prefix, "ReactCommon/react/renderer/components/#{codegen_components_library_name}")
|
||||
env_vars += " CODEGEN_COMPONENTS_OUTPUT_DIR=#{codegen_components_output_dir}"
|
||||
mkdir_command += " #{codegen_components_output_dir}"
|
||||
components_generated_filenames = [
|
||||
"ComponentDescriptors.h",
|
||||
"EventEmitters.cpp",
|
||||
"EventEmitters.h",
|
||||
"Props.cpp",
|
||||
"Props.h",
|
||||
"RCTComponentViewHelpers.h",
|
||||
"ShadowNodes.cpp",
|
||||
"ShadowNodes.h"
|
||||
]
|
||||
generated_files = generated_files.concat(components_generated_filenames.map { |filename| File.join(codegen_components_output_dir, filename) })
|
||||
end
|
||||
|
||||
spec.script_phase = {
|
||||
:name => 'Generate Specs',
|
||||
:input_files => [srcs_dir],
|
||||
:output_files => ["$(DERIVED_FILE_DIR)/codegen-#{codegen_modules_library_name}.log"].concat(generated_files),
|
||||
:script => "set -o pipefail\n\nbash -l -c '#{env_vars} CODEGEN_MODULES_LIBRARY_NAME=#{codegen_modules_library_name} #{File.join(__dir__, "generate-specs.sh")}' 2>&1 | tee \"${SCRIPT_OUTPUT_FILE_0}\"",
|
||||
:execution_position => :before_compile,
|
||||
:show_env_vars_in_log => true
|
||||
}
|
||||
|
||||
spec.prepare_command = "#{mkdir_command} && touch #{generated_files.reduce() { |str, file| str + " " + file }}"
|
||||
end
|
||||
|
||||
# Local method for the Xcode 12.5 fix
|
||||
def find_and_replace(dir, findstr, replacestr)
|
||||
Dir[dir].each do |name|
|
||||
text = File.read(name)
|
||||
replace = text.gsub(findstr, replacestr)
|
||||
replaced = text.index(replacestr)
|
||||
next if !replaced.nil? || text == replace
|
||||
|
||||
puts "Patching #{name}"
|
||||
File.open(name, 'w') { |file| file.puts replace }
|
||||
$stdout.flush
|
||||
end
|
||||
Dir["#{dir}*/"].each(&method(:find_and_replace))
|
||||
end
|
||||
@@ -0,0 +1,3 @@
|
||||
# Windows files
|
||||
[*.bat]
|
||||
end_of_line = crlf
|
||||
@@ -0,0 +1,3 @@
|
||||
# Windows files should use crlf line endings
|
||||
# https://help.github.com/articles/dealing-with-line-endings/
|
||||
*.bat text eol=crlf
|
||||
@@ -25,4 +25,4 @@ android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
|
||||
# Version of flipper SDK to use with React Native
|
||||
FLIPPER_VERSION=0.54.0
|
||||
FLIPPER_VERSION=0.75.1
|
||||
|
||||
Vendored
+89
-89
@@ -1,89 +1,89 @@
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
|
||||
+10
-9
@@ -6,23 +6,24 @@ platform :ios, '10.0'
|
||||
target 'HelloWorld' do
|
||||
config = use_native_modules!
|
||||
|
||||
use_react_native!(:path => config[:reactNativePath])
|
||||
use_react_native!(
|
||||
:path => config[:reactNativePath],
|
||||
# to enable hermes on iOS, change `false` to `true` and then install pods
|
||||
:hermes_enabled => false
|
||||
)
|
||||
|
||||
target 'HelloWorldTests' do
|
||||
inherit! :complete
|
||||
# Pods for testing
|
||||
end
|
||||
|
||||
pre_install do |installer|
|
||||
codegen_pre_install(installer)
|
||||
end
|
||||
|
||||
# Enables Flipper.
|
||||
#
|
||||
# Note that if you have use_frameworks! enabled, Flipper will not work and
|
||||
# you should disable these next few lines.
|
||||
use_flipper!
|
||||
# you should disable the next line.
|
||||
use_flipper!()
|
||||
|
||||
post_install do |installer|
|
||||
flipper_post_install(installer)
|
||||
react_native_post_install(installer)
|
||||
end
|
||||
end
|
||||
end
|
||||
+9
-10
@@ -11,18 +11,17 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"react": "17.0.1",
|
||||
"react-native": "1000.0.0"
|
||||
"react-native": "0.64.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.8.4",
|
||||
"@babel/runtime": "^7.8.4",
|
||||
"@react-native-community/eslint-config": "^1.1.0",
|
||||
"babel-jest": "^25.1.0",
|
||||
"eslint": "^6.5.1",
|
||||
"jest": "^25.1.0",
|
||||
"metro-react-native-babel-preset": "^0.63.0",
|
||||
"react-test-renderer": "17.0.1",
|
||||
"react-native-codegen": "0.0.4"
|
||||
"@babel/core": "^7.12.9",
|
||||
"@babel/runtime": "^7.12.5",
|
||||
"@react-native-community/eslint-config": "^2.0.0",
|
||||
"babel-jest": "^26.6.3",
|
||||
"eslint": "7.14.0",
|
||||
"jest": "^26.6.3",
|
||||
"metro-react-native-babel-preset": "^0.64.0",
|
||||
"react-test-renderer": "17.0.1"
|
||||
},
|
||||
"jest": {
|
||||
"preset": "react-native"
|
||||
|
||||
Reference in New Issue
Block a user