mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Compare commits
52
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a96f4c6c1 | ||
|
|
7fd8bac5cd | ||
|
|
0b734f6283 | ||
|
|
5cf3d96ae3 | ||
|
|
b944381bb4 | ||
|
|
df9073ad73 | ||
|
|
a7b9be4a17 | ||
|
|
a33e809d7b | ||
|
|
c833f41177 | ||
|
|
3aaebe60ce | ||
|
|
b2a7689061 | ||
|
|
2577ca5340 | ||
|
|
4b1206c2ae | ||
|
|
42ad0bb627 | ||
|
|
3293792b1f | ||
|
|
6830ec87ff | ||
|
|
8750eb2538 | ||
|
|
afd35296f2 | ||
|
|
8d4e8a3775 | ||
|
|
245ac945fb | ||
|
|
06c64f5f1b | ||
|
|
a5353c0361 | ||
|
|
930ffa28a3 | ||
|
|
e0d9ceaa79 | ||
|
|
fc6580e2e0 | ||
|
|
a648a7176a | ||
|
|
cf5ca2659a | ||
|
|
231581c256 | ||
|
|
2ec83bec5f | ||
|
|
50d9551f87 | ||
|
|
0356b1fa13 | ||
|
|
b153a05e2f | ||
|
|
dcf56a43fa | ||
|
|
e0e9a1cb4f | ||
|
|
8d02e1723f | ||
|
|
eb0216d8be | ||
|
|
c0fa590a03 | ||
|
|
ba5222f3cc | ||
|
|
c57bfea01e | ||
|
|
fafc58b62d | ||
|
|
eded25d532 | ||
|
|
bc28eee87f | ||
|
|
104b0cc862 | ||
|
|
6d6b532f8f | ||
|
|
1dd1152025 | ||
|
|
2575eb318f | ||
|
|
1dd68819ab | ||
|
|
9296ab1a61 | ||
|
|
612c033918 | ||
|
|
f827ea90b0 | ||
|
|
b356ac7769 | ||
|
|
5485238bb4 |
@@ -659,6 +659,14 @@ workflows:
|
||||
- publish_npm_package:
|
||||
requires:
|
||||
- setup_android
|
||||
filters:
|
||||
# Both of the following conditions must be included!
|
||||
# Ignore any commit on any branch by default.
|
||||
branches:
|
||||
ignore: /.*/
|
||||
# Only act on version tags.
|
||||
tags:
|
||||
only: /v[0-9]+(\.[0-9]+)*(\-rc(\.[0-9]+)?)?/
|
||||
|
||||
analysis:
|
||||
jobs:
|
||||
|
||||
@@ -166,7 +166,7 @@ RCT_EXPORT_METHOD(showShareActionSheetWithOptions:(NSDictionary *)options
|
||||
shareController.completionWithItemsHandler = ^(NSString *activityType, BOOL completed, __unused NSArray *returnedItems, NSError *activityError) {
|
||||
if (activityError) {
|
||||
failureCallback(activityError);
|
||||
} else {
|
||||
} else if (completed) {
|
||||
successCallback(@[@(completed), RCTNullIfNil(activityType)]);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -16,6 +16,7 @@ const Systrace = require('../Performance/Systrace');
|
||||
const deepFreezeAndThrowOnMutationInDev = require('../Utilities/deepFreezeAndThrowOnMutationInDev');
|
||||
const invariant = require('invariant');
|
||||
const stringifySafe = require('../Utilities/stringifySafe');
|
||||
const warnOnce = require('../Utilities/warnOnce');
|
||||
|
||||
export type SpyData = {
|
||||
type: number,
|
||||
@@ -225,11 +226,13 @@ class MessageQueue {
|
||||
const method = debug && this._remoteMethodTable[debug[0]][debug[1]];
|
||||
info[callID] = {module, method};
|
||||
});
|
||||
console.error(
|
||||
warnOnce(
|
||||
'excessive-number-of-pending-callbacks',
|
||||
`Please report: Excessive number of pending callbacks: ${
|
||||
this._successCallbacks.size
|
||||
}. Some pending callbacks that might have leaked by never being called from native code:`,
|
||||
info,
|
||||
}. Some pending callbacks that might have leaked by never being called from native code: ${stringifySafe(
|
||||
info,
|
||||
)}`,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,16 +46,19 @@ export interface Spec extends TurboModule {
|
||||
stack: Array<StackFrame>,
|
||||
exceptionId: number,
|
||||
) => void;
|
||||
// TODO(T53311281): This is a noop on iOS now. Implement it.
|
||||
+reportException?: (data: ExceptionData) => void;
|
||||
+updateExceptionMessage: (
|
||||
message: string,
|
||||
stack: Array<StackFrame>,
|
||||
exceptionId: number,
|
||||
) => void;
|
||||
// Android only
|
||||
// TODO(T53311281): This is a noop on iOS now. Implement it.
|
||||
+dismissRedbox?: () => void;
|
||||
}
|
||||
|
||||
const Platform = require('../Utilities/Platform');
|
||||
|
||||
const NativeModule = TurboModuleRegistry.getEnforcing<Spec>(
|
||||
'ExceptionsManager',
|
||||
);
|
||||
@@ -83,12 +86,14 @@ const ExceptionsManager = {
|
||||
NativeModule.updateExceptionMessage(message, stack, exceptionId);
|
||||
},
|
||||
dismissRedbox(): void {
|
||||
if (NativeModule.dismissRedbox) {
|
||||
if (Platform.OS !== 'ios' && NativeModule.dismissRedbox) {
|
||||
// TODO(T53311281): This is a noop on iOS now. Implement it.
|
||||
NativeModule.dismissRedbox();
|
||||
}
|
||||
},
|
||||
reportException(data: ExceptionData): void {
|
||||
if (NativeModule.reportException) {
|
||||
if (Platform.OS !== 'ios' && NativeModule.reportException) {
|
||||
// TODO(T53311281): This is a noop on iOS now. Implement it.
|
||||
NativeModule.reportException(data);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
exports.version = {
|
||||
major: 0,
|
||||
minor: 0,
|
||||
patch: 0,
|
||||
minor: 61,
|
||||
patch: 2,
|
||||
prerelease: null,
|
||||
};
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#import <React/RCTAnimatedImage.h>
|
||||
#import <React/RCTDefines.h>
|
||||
|
||||
@interface RCTUIImageViewAnimated : UIImageView
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#import <React/RCTUIImageViewAnimated.h>
|
||||
#import <React/RCTWeakProxy.h>
|
||||
|
||||
#import <mach/mach.h>
|
||||
#import <objc/runtime.h>
|
||||
@@ -146,8 +147,7 @@ static NSUInteger RCTDeviceFreeMemory() {
|
||||
- (CADisplayLink *)displayLink
|
||||
{
|
||||
if (!_displayLink) {
|
||||
__weak __typeof(self) weakSelf = self;
|
||||
_displayLink = [CADisplayLink displayLinkWithTarget:weakSelf selector:@selector(displayDidRefresh:)];
|
||||
_displayLink = [CADisplayLink displayLinkWithTarget:[RCTWeakProxy weakProxyWithTarget:self] selector:@selector(displayDidRefresh:)];
|
||||
NSString *runLoopMode = [NSProcessInfo processInfo].activeProcessorCount > 1 ? NSRunLoopCommonModes : NSDefaultRunLoopMode;
|
||||
[_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:runLoopMode];
|
||||
}
|
||||
|
||||
@@ -12,8 +12,11 @@
|
||||
|
||||
const AppContainer = require('../ReactNative/AppContainer');
|
||||
const I18nManager = require('../ReactNative/I18nManager');
|
||||
const PropTypes = require('prop-types');
|
||||
const NativeEventEmitter = require('../EventEmitter/NativeEventEmitter');
|
||||
import NativeModalManager from './NativeModalManager';
|
||||
const Platform = require('../Utilities/Platform');
|
||||
const React = require('react');
|
||||
const PropTypes = require('prop-types');
|
||||
const ScrollView = require('../Components/ScrollView/ScrollView');
|
||||
const StyleSheet = require('../StyleSheet/StyleSheet');
|
||||
const View = require('../Components/View/View');
|
||||
@@ -23,6 +26,12 @@ import type {DirectEventHandler} from '../Types/CodegenTypes';
|
||||
import type {SyntheticEvent} from '../Types/CoreEventTypes';
|
||||
import type EmitterSubscription from '../vendor/emitter/EmitterSubscription';
|
||||
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.
|
||||
*
|
||||
@@ -174,9 +183,22 @@ class Modal extends React.Component<Props> {
|
||||
};
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -79,6 +79,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://facebook.github.io/react-native/docs/modal.html#ondismiss
|
||||
*/
|
||||
onDismiss?: ?BubblingEventHandler<null>,
|
||||
|
||||
/**
|
||||
* Deprecated. Use the `animationType` prop instead.
|
||||
*/
|
||||
|
||||
@@ -6901,7 +6901,11 @@ function scheduleFibersWithFamiliesRecursively(
|
||||
if (staleFamilies.has(family)) {
|
||||
needsRemount = true;
|
||||
} else if (updatedFamilies.has(family)) {
|
||||
needsRender = true;
|
||||
if (tag === ClassComponent) {
|
||||
needsRemount = true;
|
||||
} else {
|
||||
needsRender = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11122,6 +11126,11 @@ function renderWithHooks(
|
||||
do {
|
||||
didScheduleRenderPhaseUpdate = false;
|
||||
numberOfReRenders += 1;
|
||||
{
|
||||
// Even when hot reloading, allow dependencies to stabilize
|
||||
// after first render to prevent infinite render phase updates.
|
||||
ignorePreviousDependencies = false;
|
||||
}
|
||||
|
||||
// Start over from the beginning of the list
|
||||
nextCurrentHook = current !== null ? current.memoizedState : null;
|
||||
@@ -17860,6 +17869,7 @@ function commitNestedUnmounts(root, renderPriorityLevel) {
|
||||
}
|
||||
|
||||
function detachFiber(current$$1) {
|
||||
var alternate = current$$1.alternate;
|
||||
// Cut off the return pointers to disconnect it from the tree. Ideally, we
|
||||
// should clear the child pointer of the parent alternate to let this
|
||||
// get GC:ed but we don't know which for sure which parent is the current
|
||||
@@ -17870,13 +17880,13 @@ function detachFiber(current$$1) {
|
||||
current$$1.memoizedState = null;
|
||||
current$$1.updateQueue = null;
|
||||
current$$1.dependencies = null;
|
||||
var alternate = current$$1.alternate;
|
||||
current$$1.alternate = null;
|
||||
current$$1.firstEffect = null;
|
||||
current$$1.lastEffect = null;
|
||||
current$$1.pendingProps = null;
|
||||
current$$1.memoizedProps = null;
|
||||
if (alternate !== null) {
|
||||
alternate.return = null;
|
||||
alternate.child = null;
|
||||
alternate.memoizedState = null;
|
||||
alternate.updateQueue = null;
|
||||
alternate.dependencies = null;
|
||||
detachFiber(alternate);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6897,7 +6897,11 @@ function scheduleFibersWithFamiliesRecursively(
|
||||
if (staleFamilies.has(family)) {
|
||||
needsRemount = true;
|
||||
} else if (updatedFamilies.has(family)) {
|
||||
needsRender = true;
|
||||
if (tag === ClassComponent) {
|
||||
needsRemount = true;
|
||||
} else {
|
||||
needsRender = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11118,6 +11122,11 @@ function renderWithHooks(
|
||||
do {
|
||||
didScheduleRenderPhaseUpdate = false;
|
||||
numberOfReRenders += 1;
|
||||
{
|
||||
// Even when hot reloading, allow dependencies to stabilize
|
||||
// after first render to prevent infinite render phase updates.
|
||||
ignorePreviousDependencies = false;
|
||||
}
|
||||
|
||||
// Start over from the beginning of the list
|
||||
nextCurrentHook = current !== null ? current.memoizedState : null;
|
||||
@@ -17856,6 +17865,7 @@ function commitNestedUnmounts(root, renderPriorityLevel) {
|
||||
}
|
||||
|
||||
function detachFiber(current$$1) {
|
||||
var alternate = current$$1.alternate;
|
||||
// Cut off the return pointers to disconnect it from the tree. Ideally, we
|
||||
// should clear the child pointer of the parent alternate to let this
|
||||
// get GC:ed but we don't know which for sure which parent is the current
|
||||
@@ -17866,13 +17876,13 @@ function detachFiber(current$$1) {
|
||||
current$$1.memoizedState = null;
|
||||
current$$1.updateQueue = null;
|
||||
current$$1.dependencies = null;
|
||||
var alternate = current$$1.alternate;
|
||||
current$$1.alternate = null;
|
||||
current$$1.firstEffect = null;
|
||||
current$$1.lastEffect = null;
|
||||
current$$1.pendingProps = null;
|
||||
current$$1.memoizedProps = null;
|
||||
if (alternate !== null) {
|
||||
alternate.return = null;
|
||||
alternate.child = null;
|
||||
alternate.memoizedState = null;
|
||||
alternate.updateQueue = null;
|
||||
alternate.dependencies = null;
|
||||
detachFiber(alternate);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5002,6 +5002,20 @@ function commitUnmount(current$$1$jscomp$0, renderPriorityLevel) {
|
||||
createChildNodeSet(current$$1$jscomp$0.stateNode.containerInfo);
|
||||
}
|
||||
}
|
||||
function detachFiber(current$$1) {
|
||||
var alternate = current$$1.alternate;
|
||||
current$$1.return = null;
|
||||
current$$1.child = null;
|
||||
current$$1.memoizedState = null;
|
||||
current$$1.updateQueue = null;
|
||||
current$$1.dependencies = null;
|
||||
current$$1.alternate = null;
|
||||
current$$1.firstEffect = null;
|
||||
current$$1.lastEffect = null;
|
||||
current$$1.pendingProps = null;
|
||||
current$$1.memoizedProps = null;
|
||||
null !== alternate && detachFiber(alternate);
|
||||
}
|
||||
function commitWork(current$$1, finishedWork) {
|
||||
switch (finishedWork.tag) {
|
||||
case 0:
|
||||
@@ -6239,18 +6253,7 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
snapshot.sibling.return = snapshot.return;
|
||||
snapshot = snapshot.sibling;
|
||||
}
|
||||
prevProps.return = null;
|
||||
prevProps.child = null;
|
||||
prevProps.memoizedState = null;
|
||||
prevProps.updateQueue = null;
|
||||
prevProps.dependencies = null;
|
||||
var alternate = prevProps.alternate;
|
||||
null !== alternate &&
|
||||
((alternate.return = null),
|
||||
(alternate.child = null),
|
||||
(alternate.memoizedState = null),
|
||||
(alternate.updateQueue = null),
|
||||
(alternate.dependencies = null));
|
||||
detachFiber(prevProps);
|
||||
}
|
||||
nextEffect = nextEffect.nextEffect;
|
||||
}
|
||||
@@ -6313,20 +6316,20 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
case 3:
|
||||
var _updateQueue = current$$1$jscomp$0.updateQueue;
|
||||
if (null !== _updateQueue) {
|
||||
alternate = null;
|
||||
current$$1 = null;
|
||||
if (null !== current$$1$jscomp$0.child)
|
||||
switch (current$$1$jscomp$0.child.tag) {
|
||||
case 5:
|
||||
alternate =
|
||||
current$$1 =
|
||||
current$$1$jscomp$0.child.stateNode.canonical;
|
||||
break;
|
||||
case 1:
|
||||
alternate = current$$1$jscomp$0.child.stateNode;
|
||||
current$$1 = current$$1$jscomp$0.child.stateNode;
|
||||
}
|
||||
commitUpdateQueue(
|
||||
current$$1$jscomp$0,
|
||||
_updateQueue,
|
||||
alternate,
|
||||
current$$1,
|
||||
currentRef
|
||||
);
|
||||
}
|
||||
|
||||
@@ -5002,6 +5002,20 @@ function commitUnmount(current$$1$jscomp$0, renderPriorityLevel) {
|
||||
createChildNodeSet(current$$1$jscomp$0.stateNode.containerInfo);
|
||||
}
|
||||
}
|
||||
function detachFiber(current$$1) {
|
||||
var alternate = current$$1.alternate;
|
||||
current$$1.return = null;
|
||||
current$$1.child = null;
|
||||
current$$1.memoizedState = null;
|
||||
current$$1.updateQueue = null;
|
||||
current$$1.dependencies = null;
|
||||
current$$1.alternate = null;
|
||||
current$$1.firstEffect = null;
|
||||
current$$1.lastEffect = null;
|
||||
current$$1.pendingProps = null;
|
||||
current$$1.memoizedProps = null;
|
||||
null !== alternate && detachFiber(alternate);
|
||||
}
|
||||
function commitWork(current$$1, finishedWork) {
|
||||
switch (finishedWork.tag) {
|
||||
case 0:
|
||||
@@ -6239,18 +6253,7 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
snapshot.sibling.return = snapshot.return;
|
||||
snapshot = snapshot.sibling;
|
||||
}
|
||||
prevProps.return = null;
|
||||
prevProps.child = null;
|
||||
prevProps.memoizedState = null;
|
||||
prevProps.updateQueue = null;
|
||||
prevProps.dependencies = null;
|
||||
var alternate = prevProps.alternate;
|
||||
null !== alternate &&
|
||||
((alternate.return = null),
|
||||
(alternate.child = null),
|
||||
(alternate.memoizedState = null),
|
||||
(alternate.updateQueue = null),
|
||||
(alternate.dependencies = null));
|
||||
detachFiber(prevProps);
|
||||
}
|
||||
nextEffect = nextEffect.nextEffect;
|
||||
}
|
||||
@@ -6313,20 +6316,20 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
case 3:
|
||||
var _updateQueue = current$$1$jscomp$0.updateQueue;
|
||||
if (null !== _updateQueue) {
|
||||
alternate = null;
|
||||
current$$1 = null;
|
||||
if (null !== current$$1$jscomp$0.child)
|
||||
switch (current$$1$jscomp$0.child.tag) {
|
||||
case 5:
|
||||
alternate =
|
||||
current$$1 =
|
||||
current$$1$jscomp$0.child.stateNode.canonical;
|
||||
break;
|
||||
case 1:
|
||||
alternate = current$$1$jscomp$0.child.stateNode;
|
||||
current$$1 = current$$1$jscomp$0.child.stateNode;
|
||||
}
|
||||
commitUpdateQueue(
|
||||
current$$1$jscomp$0,
|
||||
_updateQueue,
|
||||
alternate,
|
||||
current$$1,
|
||||
currentRef
|
||||
);
|
||||
}
|
||||
|
||||
@@ -5354,6 +5354,20 @@ function commitUnmount(current$$1$jscomp$0, renderPriorityLevel) {
|
||||
createChildNodeSet(current$$1$jscomp$0.stateNode.containerInfo);
|
||||
}
|
||||
}
|
||||
function detachFiber(current$$1) {
|
||||
var alternate = current$$1.alternate;
|
||||
current$$1.return = null;
|
||||
current$$1.child = null;
|
||||
current$$1.memoizedState = null;
|
||||
current$$1.updateQueue = null;
|
||||
current$$1.dependencies = null;
|
||||
current$$1.alternate = null;
|
||||
current$$1.firstEffect = null;
|
||||
current$$1.lastEffect = null;
|
||||
current$$1.pendingProps = null;
|
||||
current$$1.memoizedProps = null;
|
||||
null !== alternate && detachFiber(alternate);
|
||||
}
|
||||
function commitWork(current$$1, finishedWork) {
|
||||
switch (finishedWork.tag) {
|
||||
case 0:
|
||||
@@ -6345,18 +6359,7 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
snapshot.sibling.return = snapshot.return;
|
||||
snapshot = snapshot.sibling;
|
||||
}
|
||||
prevProps.return = null;
|
||||
prevProps.child = null;
|
||||
prevProps.memoizedState = null;
|
||||
prevProps.updateQueue = null;
|
||||
prevProps.dependencies = null;
|
||||
var alternate = prevProps.alternate;
|
||||
null !== alternate &&
|
||||
((alternate.return = null),
|
||||
(alternate.child = null),
|
||||
(alternate.memoizedState = null),
|
||||
(alternate.updateQueue = null),
|
||||
(alternate.dependencies = null));
|
||||
detachFiber(prevProps);
|
||||
}
|
||||
nextEffect = nextEffect.nextEffect;
|
||||
}
|
||||
@@ -6378,10 +6381,10 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
) {
|
||||
var effectTag$jscomp$0 = nextEffect.effectTag;
|
||||
if (effectTag$jscomp$0 & 36) {
|
||||
current$$1 = effectTag;
|
||||
prevProps = effectTag;
|
||||
var current$$1$jscomp$1 = nextEffect.alternate;
|
||||
currentRef = nextEffect;
|
||||
alternate = current$$1$jscomp$0;
|
||||
current$$1 = current$$1$jscomp$0;
|
||||
switch (currentRef.tag) {
|
||||
case 0:
|
||||
case 11:
|
||||
@@ -6413,26 +6416,26 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
currentRef,
|
||||
updateQueue,
|
||||
instance$jscomp$0,
|
||||
alternate
|
||||
current$$1
|
||||
);
|
||||
break;
|
||||
case 3:
|
||||
var _updateQueue = currentRef.updateQueue;
|
||||
if (null !== _updateQueue) {
|
||||
current$$1 = null;
|
||||
prevProps = null;
|
||||
if (null !== currentRef.child)
|
||||
switch (currentRef.child.tag) {
|
||||
case 5:
|
||||
current$$1 = currentRef.child.stateNode.canonical;
|
||||
prevProps = currentRef.child.stateNode.canonical;
|
||||
break;
|
||||
case 1:
|
||||
current$$1 = currentRef.child.stateNode;
|
||||
prevProps = currentRef.child.stateNode;
|
||||
}
|
||||
commitUpdateQueue(
|
||||
currentRef,
|
||||
_updateQueue,
|
||||
current$$1,
|
||||
alternate
|
||||
prevProps,
|
||||
current$$1
|
||||
);
|
||||
}
|
||||
break;
|
||||
@@ -6458,7 +6461,7 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
currentRef.treeBaseDuration,
|
||||
currentRef.actualStartTime,
|
||||
commitTime,
|
||||
current$$1.memoizedInteractions
|
||||
prevProps.memoizedInteractions
|
||||
);
|
||||
break;
|
||||
case 13:
|
||||
|
||||
@@ -5354,6 +5354,20 @@ function commitUnmount(current$$1$jscomp$0, renderPriorityLevel) {
|
||||
createChildNodeSet(current$$1$jscomp$0.stateNode.containerInfo);
|
||||
}
|
||||
}
|
||||
function detachFiber(current$$1) {
|
||||
var alternate = current$$1.alternate;
|
||||
current$$1.return = null;
|
||||
current$$1.child = null;
|
||||
current$$1.memoizedState = null;
|
||||
current$$1.updateQueue = null;
|
||||
current$$1.dependencies = null;
|
||||
current$$1.alternate = null;
|
||||
current$$1.firstEffect = null;
|
||||
current$$1.lastEffect = null;
|
||||
current$$1.pendingProps = null;
|
||||
current$$1.memoizedProps = null;
|
||||
null !== alternate && detachFiber(alternate);
|
||||
}
|
||||
function commitWork(current$$1, finishedWork) {
|
||||
switch (finishedWork.tag) {
|
||||
case 0:
|
||||
@@ -6345,18 +6359,7 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
snapshot.sibling.return = snapshot.return;
|
||||
snapshot = snapshot.sibling;
|
||||
}
|
||||
prevProps.return = null;
|
||||
prevProps.child = null;
|
||||
prevProps.memoizedState = null;
|
||||
prevProps.updateQueue = null;
|
||||
prevProps.dependencies = null;
|
||||
var alternate = prevProps.alternate;
|
||||
null !== alternate &&
|
||||
((alternate.return = null),
|
||||
(alternate.child = null),
|
||||
(alternate.memoizedState = null),
|
||||
(alternate.updateQueue = null),
|
||||
(alternate.dependencies = null));
|
||||
detachFiber(prevProps);
|
||||
}
|
||||
nextEffect = nextEffect.nextEffect;
|
||||
}
|
||||
@@ -6378,10 +6381,10 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
) {
|
||||
var effectTag$jscomp$0 = nextEffect.effectTag;
|
||||
if (effectTag$jscomp$0 & 36) {
|
||||
current$$1 = effectTag;
|
||||
prevProps = effectTag;
|
||||
var current$$1$jscomp$1 = nextEffect.alternate;
|
||||
currentRef = nextEffect;
|
||||
alternate = current$$1$jscomp$0;
|
||||
current$$1 = current$$1$jscomp$0;
|
||||
switch (currentRef.tag) {
|
||||
case 0:
|
||||
case 11:
|
||||
@@ -6413,26 +6416,26 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
currentRef,
|
||||
updateQueue,
|
||||
instance$jscomp$0,
|
||||
alternate
|
||||
current$$1
|
||||
);
|
||||
break;
|
||||
case 3:
|
||||
var _updateQueue = currentRef.updateQueue;
|
||||
if (null !== _updateQueue) {
|
||||
current$$1 = null;
|
||||
prevProps = null;
|
||||
if (null !== currentRef.child)
|
||||
switch (currentRef.child.tag) {
|
||||
case 5:
|
||||
current$$1 = currentRef.child.stateNode.canonical;
|
||||
prevProps = currentRef.child.stateNode.canonical;
|
||||
break;
|
||||
case 1:
|
||||
current$$1 = currentRef.child.stateNode;
|
||||
prevProps = currentRef.child.stateNode;
|
||||
}
|
||||
commitUpdateQueue(
|
||||
currentRef,
|
||||
_updateQueue,
|
||||
current$$1,
|
||||
alternate
|
||||
prevProps,
|
||||
current$$1
|
||||
);
|
||||
}
|
||||
break;
|
||||
@@ -6458,7 +6461,7 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
currentRef.treeBaseDuration,
|
||||
currentRef.actualStartTime,
|
||||
commitTime,
|
||||
current$$1.memoizedInteractions
|
||||
prevProps.memoizedInteractions
|
||||
);
|
||||
break;
|
||||
case 13:
|
||||
|
||||
@@ -6478,7 +6478,11 @@ function scheduleFibersWithFamiliesRecursively(
|
||||
if (staleFamilies.has(family)) {
|
||||
needsRemount = true;
|
||||
} else if (updatedFamilies.has(family)) {
|
||||
needsRender = true;
|
||||
if (tag === ClassComponent) {
|
||||
needsRemount = true;
|
||||
} else {
|
||||
needsRender = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10699,6 +10703,11 @@ function renderWithHooks(
|
||||
do {
|
||||
didScheduleRenderPhaseUpdate = false;
|
||||
numberOfReRenders += 1;
|
||||
{
|
||||
// Even when hot reloading, allow dependencies to stabilize
|
||||
// after first render to prevent infinite render phase updates.
|
||||
ignorePreviousDependencies = false;
|
||||
}
|
||||
|
||||
// Start over from the beginning of the list
|
||||
nextCurrentHook = current !== null ? current.memoizedState : null;
|
||||
@@ -17436,6 +17445,7 @@ function commitNestedUnmounts(root, renderPriorityLevel) {
|
||||
}
|
||||
|
||||
function detachFiber(current$$1) {
|
||||
var alternate = current$$1.alternate;
|
||||
// Cut off the return pointers to disconnect it from the tree. Ideally, we
|
||||
// should clear the child pointer of the parent alternate to let this
|
||||
// get GC:ed but we don't know which for sure which parent is the current
|
||||
@@ -17446,13 +17456,13 @@ function detachFiber(current$$1) {
|
||||
current$$1.memoizedState = null;
|
||||
current$$1.updateQueue = null;
|
||||
current$$1.dependencies = null;
|
||||
var alternate = current$$1.alternate;
|
||||
current$$1.alternate = null;
|
||||
current$$1.firstEffect = null;
|
||||
current$$1.lastEffect = null;
|
||||
current$$1.pendingProps = null;
|
||||
current$$1.memoizedProps = null;
|
||||
if (alternate !== null) {
|
||||
alternate.return = null;
|
||||
alternate.child = null;
|
||||
alternate.memoizedState = null;
|
||||
alternate.updateQueue = null;
|
||||
alternate.dependencies = null;
|
||||
detachFiber(alternate);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6474,7 +6474,11 @@ function scheduleFibersWithFamiliesRecursively(
|
||||
if (staleFamilies.has(family)) {
|
||||
needsRemount = true;
|
||||
} else if (updatedFamilies.has(family)) {
|
||||
needsRender = true;
|
||||
if (tag === ClassComponent) {
|
||||
needsRemount = true;
|
||||
} else {
|
||||
needsRender = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10695,6 +10699,11 @@ function renderWithHooks(
|
||||
do {
|
||||
didScheduleRenderPhaseUpdate = false;
|
||||
numberOfReRenders += 1;
|
||||
{
|
||||
// Even when hot reloading, allow dependencies to stabilize
|
||||
// after first render to prevent infinite render phase updates.
|
||||
ignorePreviousDependencies = false;
|
||||
}
|
||||
|
||||
// Start over from the beginning of the list
|
||||
nextCurrentHook = current !== null ? current.memoizedState : null;
|
||||
@@ -17432,6 +17441,7 @@ function commitNestedUnmounts(root, renderPriorityLevel) {
|
||||
}
|
||||
|
||||
function detachFiber(current$$1) {
|
||||
var alternate = current$$1.alternate;
|
||||
// Cut off the return pointers to disconnect it from the tree. Ideally, we
|
||||
// should clear the child pointer of the parent alternate to let this
|
||||
// get GC:ed but we don't know which for sure which parent is the current
|
||||
@@ -17442,13 +17452,13 @@ function detachFiber(current$$1) {
|
||||
current$$1.memoizedState = null;
|
||||
current$$1.updateQueue = null;
|
||||
current$$1.dependencies = null;
|
||||
var alternate = current$$1.alternate;
|
||||
current$$1.alternate = null;
|
||||
current$$1.firstEffect = null;
|
||||
current$$1.lastEffect = null;
|
||||
current$$1.pendingProps = null;
|
||||
current$$1.memoizedProps = null;
|
||||
if (alternate !== null) {
|
||||
alternate.return = null;
|
||||
alternate.child = null;
|
||||
alternate.memoizedState = null;
|
||||
alternate.updateQueue = null;
|
||||
alternate.dependencies = null;
|
||||
detachFiber(alternate);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4838,6 +4838,20 @@ function commitUnmount(current$$1$jscomp$0, renderPriorityLevel) {
|
||||
unmountHostComponents(current$$1$jscomp$0, renderPriorityLevel);
|
||||
}
|
||||
}
|
||||
function detachFiber(current$$1) {
|
||||
var alternate = current$$1.alternate;
|
||||
current$$1.return = null;
|
||||
current$$1.child = null;
|
||||
current$$1.memoizedState = null;
|
||||
current$$1.updateQueue = null;
|
||||
current$$1.dependencies = null;
|
||||
current$$1.alternate = null;
|
||||
current$$1.firstEffect = null;
|
||||
current$$1.lastEffect = null;
|
||||
current$$1.pendingProps = null;
|
||||
current$$1.memoizedProps = null;
|
||||
null !== alternate && detachFiber(alternate);
|
||||
}
|
||||
function isHostParent(fiber) {
|
||||
return 5 === fiber.tag || 3 === fiber.tag || 4 === fiber.tag;
|
||||
}
|
||||
@@ -6418,20 +6432,9 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
commitWork(nextEffect.alternate, nextEffect);
|
||||
break;
|
||||
case 8:
|
||||
prevProps = nextEffect;
|
||||
unmountHostComponents(prevProps, current$$1);
|
||||
prevProps.return = null;
|
||||
prevProps.child = null;
|
||||
prevProps.memoizedState = null;
|
||||
prevProps.updateQueue = null;
|
||||
prevProps.dependencies = null;
|
||||
var alternate = prevProps.alternate;
|
||||
null !== alternate &&
|
||||
((alternate.return = null),
|
||||
(alternate.child = null),
|
||||
(alternate.memoizedState = null),
|
||||
(alternate.updateQueue = null),
|
||||
(alternate.dependencies = null));
|
||||
(prevProps = nextEffect),
|
||||
unmountHostComponents(prevProps, current$$1),
|
||||
detachFiber(prevProps);
|
||||
}
|
||||
nextEffect = nextEffect.nextEffect;
|
||||
}
|
||||
@@ -6494,19 +6497,19 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
case 3:
|
||||
var _updateQueue = current$$1$jscomp$0.updateQueue;
|
||||
if (null !== _updateQueue) {
|
||||
alternate = null;
|
||||
current$$1 = null;
|
||||
if (null !== current$$1$jscomp$0.child)
|
||||
switch (current$$1$jscomp$0.child.tag) {
|
||||
case 5:
|
||||
alternate = current$$1$jscomp$0.child.stateNode;
|
||||
current$$1 = current$$1$jscomp$0.child.stateNode;
|
||||
break;
|
||||
case 1:
|
||||
alternate = current$$1$jscomp$0.child.stateNode;
|
||||
current$$1 = current$$1$jscomp$0.child.stateNode;
|
||||
}
|
||||
commitUpdateQueue(
|
||||
current$$1$jscomp$0,
|
||||
_updateQueue,
|
||||
alternate,
|
||||
current$$1,
|
||||
currentRef
|
||||
);
|
||||
}
|
||||
|
||||
@@ -4838,6 +4838,20 @@ function commitUnmount(current$$1$jscomp$0, renderPriorityLevel) {
|
||||
unmountHostComponents(current$$1$jscomp$0, renderPriorityLevel);
|
||||
}
|
||||
}
|
||||
function detachFiber(current$$1) {
|
||||
var alternate = current$$1.alternate;
|
||||
current$$1.return = null;
|
||||
current$$1.child = null;
|
||||
current$$1.memoizedState = null;
|
||||
current$$1.updateQueue = null;
|
||||
current$$1.dependencies = null;
|
||||
current$$1.alternate = null;
|
||||
current$$1.firstEffect = null;
|
||||
current$$1.lastEffect = null;
|
||||
current$$1.pendingProps = null;
|
||||
current$$1.memoizedProps = null;
|
||||
null !== alternate && detachFiber(alternate);
|
||||
}
|
||||
function isHostParent(fiber) {
|
||||
return 5 === fiber.tag || 3 === fiber.tag || 4 === fiber.tag;
|
||||
}
|
||||
@@ -6418,20 +6432,9 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
commitWork(nextEffect.alternate, nextEffect);
|
||||
break;
|
||||
case 8:
|
||||
prevProps = nextEffect;
|
||||
unmountHostComponents(prevProps, current$$1);
|
||||
prevProps.return = null;
|
||||
prevProps.child = null;
|
||||
prevProps.memoizedState = null;
|
||||
prevProps.updateQueue = null;
|
||||
prevProps.dependencies = null;
|
||||
var alternate = prevProps.alternate;
|
||||
null !== alternate &&
|
||||
((alternate.return = null),
|
||||
(alternate.child = null),
|
||||
(alternate.memoizedState = null),
|
||||
(alternate.updateQueue = null),
|
||||
(alternate.dependencies = null));
|
||||
(prevProps = nextEffect),
|
||||
unmountHostComponents(prevProps, current$$1),
|
||||
detachFiber(prevProps);
|
||||
}
|
||||
nextEffect = nextEffect.nextEffect;
|
||||
}
|
||||
@@ -6494,19 +6497,19 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
case 3:
|
||||
var _updateQueue = current$$1$jscomp$0.updateQueue;
|
||||
if (null !== _updateQueue) {
|
||||
alternate = null;
|
||||
current$$1 = null;
|
||||
if (null !== current$$1$jscomp$0.child)
|
||||
switch (current$$1$jscomp$0.child.tag) {
|
||||
case 5:
|
||||
alternate = current$$1$jscomp$0.child.stateNode;
|
||||
current$$1 = current$$1$jscomp$0.child.stateNode;
|
||||
break;
|
||||
case 1:
|
||||
alternate = current$$1$jscomp$0.child.stateNode;
|
||||
current$$1 = current$$1$jscomp$0.child.stateNode;
|
||||
}
|
||||
commitUpdateQueue(
|
||||
current$$1$jscomp$0,
|
||||
_updateQueue,
|
||||
alternate,
|
||||
current$$1,
|
||||
currentRef
|
||||
);
|
||||
}
|
||||
|
||||
@@ -5194,6 +5194,20 @@ function commitUnmount(current$$1$jscomp$0, renderPriorityLevel) {
|
||||
unmountHostComponents(current$$1$jscomp$0, renderPriorityLevel);
|
||||
}
|
||||
}
|
||||
function detachFiber(current$$1) {
|
||||
var alternate = current$$1.alternate;
|
||||
current$$1.return = null;
|
||||
current$$1.child = null;
|
||||
current$$1.memoizedState = null;
|
||||
current$$1.updateQueue = null;
|
||||
current$$1.dependencies = null;
|
||||
current$$1.alternate = null;
|
||||
current$$1.firstEffect = null;
|
||||
current$$1.lastEffect = null;
|
||||
current$$1.pendingProps = null;
|
||||
current$$1.memoizedProps = null;
|
||||
null !== alternate && detachFiber(alternate);
|
||||
}
|
||||
function isHostParent(fiber) {
|
||||
return 5 === fiber.tag || 3 === fiber.tag || 4 === fiber.tag;
|
||||
}
|
||||
@@ -6517,20 +6531,9 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
commitWork(nextEffect.alternate, nextEffect);
|
||||
break;
|
||||
case 8:
|
||||
prevProps = nextEffect;
|
||||
unmountHostComponents(prevProps, current$$1);
|
||||
prevProps.return = null;
|
||||
prevProps.child = null;
|
||||
prevProps.memoizedState = null;
|
||||
prevProps.updateQueue = null;
|
||||
prevProps.dependencies = null;
|
||||
var alternate = prevProps.alternate;
|
||||
null !== alternate &&
|
||||
((alternate.return = null),
|
||||
(alternate.child = null),
|
||||
(alternate.memoizedState = null),
|
||||
(alternate.updateQueue = null),
|
||||
(alternate.dependencies = null));
|
||||
(prevProps = nextEffect),
|
||||
unmountHostComponents(prevProps, current$$1),
|
||||
detachFiber(prevProps);
|
||||
}
|
||||
nextEffect = nextEffect.nextEffect;
|
||||
}
|
||||
@@ -6552,10 +6555,10 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
) {
|
||||
var effectTag$jscomp$0 = nextEffect.effectTag;
|
||||
if (effectTag$jscomp$0 & 36) {
|
||||
current$$1 = effectTag;
|
||||
prevProps = effectTag;
|
||||
var current$$1$jscomp$1 = nextEffect.alternate;
|
||||
currentRef = nextEffect;
|
||||
alternate = current$$1$jscomp$0;
|
||||
current$$1 = current$$1$jscomp$0;
|
||||
switch (currentRef.tag) {
|
||||
case 0:
|
||||
case 11:
|
||||
@@ -6587,26 +6590,26 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
currentRef,
|
||||
updateQueue,
|
||||
instance$jscomp$0,
|
||||
alternate
|
||||
current$$1
|
||||
);
|
||||
break;
|
||||
case 3:
|
||||
var _updateQueue = currentRef.updateQueue;
|
||||
if (null !== _updateQueue) {
|
||||
current$$1 = null;
|
||||
prevProps = null;
|
||||
if (null !== currentRef.child)
|
||||
switch (currentRef.child.tag) {
|
||||
case 5:
|
||||
current$$1 = currentRef.child.stateNode;
|
||||
prevProps = currentRef.child.stateNode;
|
||||
break;
|
||||
case 1:
|
||||
current$$1 = currentRef.child.stateNode;
|
||||
prevProps = currentRef.child.stateNode;
|
||||
}
|
||||
commitUpdateQueue(
|
||||
currentRef,
|
||||
_updateQueue,
|
||||
current$$1,
|
||||
alternate
|
||||
prevProps,
|
||||
current$$1
|
||||
);
|
||||
}
|
||||
break;
|
||||
@@ -6626,7 +6629,7 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
currentRef.treeBaseDuration,
|
||||
currentRef.actualStartTime,
|
||||
commitTime,
|
||||
current$$1.memoizedInteractions
|
||||
prevProps.memoizedInteractions
|
||||
);
|
||||
break;
|
||||
case 13:
|
||||
|
||||
@@ -5194,6 +5194,20 @@ function commitUnmount(current$$1$jscomp$0, renderPriorityLevel) {
|
||||
unmountHostComponents(current$$1$jscomp$0, renderPriorityLevel);
|
||||
}
|
||||
}
|
||||
function detachFiber(current$$1) {
|
||||
var alternate = current$$1.alternate;
|
||||
current$$1.return = null;
|
||||
current$$1.child = null;
|
||||
current$$1.memoizedState = null;
|
||||
current$$1.updateQueue = null;
|
||||
current$$1.dependencies = null;
|
||||
current$$1.alternate = null;
|
||||
current$$1.firstEffect = null;
|
||||
current$$1.lastEffect = null;
|
||||
current$$1.pendingProps = null;
|
||||
current$$1.memoizedProps = null;
|
||||
null !== alternate && detachFiber(alternate);
|
||||
}
|
||||
function isHostParent(fiber) {
|
||||
return 5 === fiber.tag || 3 === fiber.tag || 4 === fiber.tag;
|
||||
}
|
||||
@@ -6517,20 +6531,9 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
commitWork(nextEffect.alternate, nextEffect);
|
||||
break;
|
||||
case 8:
|
||||
prevProps = nextEffect;
|
||||
unmountHostComponents(prevProps, current$$1);
|
||||
prevProps.return = null;
|
||||
prevProps.child = null;
|
||||
prevProps.memoizedState = null;
|
||||
prevProps.updateQueue = null;
|
||||
prevProps.dependencies = null;
|
||||
var alternate = prevProps.alternate;
|
||||
null !== alternate &&
|
||||
((alternate.return = null),
|
||||
(alternate.child = null),
|
||||
(alternate.memoizedState = null),
|
||||
(alternate.updateQueue = null),
|
||||
(alternate.dependencies = null));
|
||||
(prevProps = nextEffect),
|
||||
unmountHostComponents(prevProps, current$$1),
|
||||
detachFiber(prevProps);
|
||||
}
|
||||
nextEffect = nextEffect.nextEffect;
|
||||
}
|
||||
@@ -6552,10 +6555,10 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
) {
|
||||
var effectTag$jscomp$0 = nextEffect.effectTag;
|
||||
if (effectTag$jscomp$0 & 36) {
|
||||
current$$1 = effectTag;
|
||||
prevProps = effectTag;
|
||||
var current$$1$jscomp$1 = nextEffect.alternate;
|
||||
currentRef = nextEffect;
|
||||
alternate = current$$1$jscomp$0;
|
||||
current$$1 = current$$1$jscomp$0;
|
||||
switch (currentRef.tag) {
|
||||
case 0:
|
||||
case 11:
|
||||
@@ -6587,26 +6590,26 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
currentRef,
|
||||
updateQueue,
|
||||
instance$jscomp$0,
|
||||
alternate
|
||||
current$$1
|
||||
);
|
||||
break;
|
||||
case 3:
|
||||
var _updateQueue = currentRef.updateQueue;
|
||||
if (null !== _updateQueue) {
|
||||
current$$1 = null;
|
||||
prevProps = null;
|
||||
if (null !== currentRef.child)
|
||||
switch (currentRef.child.tag) {
|
||||
case 5:
|
||||
current$$1 = currentRef.child.stateNode;
|
||||
prevProps = currentRef.child.stateNode;
|
||||
break;
|
||||
case 1:
|
||||
current$$1 = currentRef.child.stateNode;
|
||||
prevProps = currentRef.child.stateNode;
|
||||
}
|
||||
commitUpdateQueue(
|
||||
currentRef,
|
||||
_updateQueue,
|
||||
current$$1,
|
||||
alternate
|
||||
prevProps,
|
||||
current$$1
|
||||
);
|
||||
}
|
||||
break;
|
||||
@@ -6626,7 +6629,7 @@ function commitRootImpl(root, renderPriorityLevel) {
|
||||
currentRef.treeBaseDuration,
|
||||
currentRef.actualStartTime,
|
||||
commitTime,
|
||||
current$$1.memoizedInteractions
|
||||
prevProps.memoizedInteractions
|
||||
);
|
||||
break;
|
||||
case 13:
|
||||
|
||||
@@ -13,11 +13,14 @@
|
||||
const splitLayoutProps = require('../splitLayoutProps');
|
||||
|
||||
test('splits style objects', () => {
|
||||
const style = {width: 10, margin: 20, padding: 30};
|
||||
const style = {width: 10, margin: 20, padding: 30, transform: {scaleY: -1}};
|
||||
const {outer, inner} = splitLayoutProps(style);
|
||||
expect(outer).toMatchInlineSnapshot(`
|
||||
Object {
|
||||
"margin": 20,
|
||||
"transform": Object {
|
||||
"scaleY": -1,
|
||||
},
|
||||
"width": 10,
|
||||
}
|
||||
`);
|
||||
|
||||
@@ -36,6 +36,7 @@ const OUTER_PROPS = Object.assign(Object.create(null), {
|
||||
right: true,
|
||||
bottom: true,
|
||||
top: true,
|
||||
transform: true,
|
||||
});
|
||||
|
||||
function splitLayoutProps(
|
||||
|
||||
+194
-192
@@ -1,14 +1,14 @@
|
||||
PODS:
|
||||
- boost-for-react-native (1.63.0)
|
||||
- DoubleConversion (1.1.6)
|
||||
- FBLazyVector (1000.0.0)
|
||||
- FBReactNativeSpec (1000.0.0):
|
||||
- FBLazyVector (0.61.0-rc.2)
|
||||
- FBReactNativeSpec (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.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)
|
||||
- RCTRequired (= 0.61.0-rc.2)
|
||||
- RCTTypeSafety (= 0.61.0-rc.2)
|
||||
- React-Core (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- ReactCommon/turbomodule/core (= 0.61.0-rc.2)
|
||||
- Folly (2018.10.22.00):
|
||||
- boost-for-react-native
|
||||
- DoubleConversion
|
||||
@@ -19,234 +19,236 @@ PODS:
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- glog (0.3.5)
|
||||
- RCTRequired (1000.0.0)
|
||||
- RCTTypeSafety (1000.0.0):
|
||||
- FBLazyVector (= 1000.0.0)
|
||||
- RCTRequired (0.61.0-rc.2)
|
||||
- RCTTypeSafety (0.61.0-rc.2):
|
||||
- FBLazyVector (= 0.61.0-rc.2)
|
||||
- Folly (= 2018.10.22.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-ART (1000.0.0):
|
||||
- React-Core/ARTHeaders (= 1000.0.0)
|
||||
- React-Core (1000.0.0):
|
||||
- RCTRequired (= 0.61.0-rc.2)
|
||||
- React-Core (= 0.61.0-rc.2)
|
||||
- React (0.61.0-rc.2):
|
||||
- React-Core (= 0.61.0-rc.2)
|
||||
- React-Core/DevSupport (= 0.61.0-rc.2)
|
||||
- React-Core/RCTWebSocket (= 0.61.0-rc.2)
|
||||
- React-RCTActionSheet (= 0.61.0-rc.2)
|
||||
- React-RCTAnimation (= 0.61.0-rc.2)
|
||||
- React-RCTBlob (= 0.61.0-rc.2)
|
||||
- React-RCTImage (= 0.61.0-rc.2)
|
||||
- React-RCTLinking (= 0.61.0-rc.2)
|
||||
- React-RCTNetwork (= 0.61.0-rc.2)
|
||||
- React-RCTSettings (= 0.61.0-rc.2)
|
||||
- React-RCTText (= 0.61.0-rc.2)
|
||||
- React-RCTVibration (= 0.61.0-rc.2)
|
||||
- React-ART (0.61.0-rc.2):
|
||||
- React-Core/ARTHeaders (= 0.61.0-rc.2)
|
||||
- React-Core (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default (= 1000.0.0)
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/ARTHeaders (1000.0.0):
|
||||
- React-Core/Default (= 0.61.0-rc.2)
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/ARTHeaders (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/CoreModulesHeaders (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/CoreModulesHeaders (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/Default (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/Default (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/DevSupport (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/DevSupport (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- 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)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/RCTActionSheetHeaders (1000.0.0):
|
||||
- React-Core/Default (= 0.61.0-rc.2)
|
||||
- React-Core/RCTWebSocket (= 0.61.0-rc.2)
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- React-jsinspector (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/RCTActionSheetHeaders (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/RCTAnimationHeaders (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/RCTAnimationHeaders (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/RCTBlobHeaders (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/RCTBlobHeaders (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/RCTImageHeaders (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/RCTImageHeaders (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/RCTLinkingHeaders (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/RCTLinkingHeaders (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/RCTNetworkHeaders (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/RCTNetworkHeaders (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/RCTPushNotificationHeaders (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/RCTPushNotificationHeaders (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/RCTSettingsHeaders (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/RCTSettingsHeaders (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/RCTTextHeaders (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/RCTTextHeaders (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/RCTVibrationHeaders (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/RCTVibrationHeaders (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-Core/RCTWebSocket (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-Core/RCTWebSocket (0.61.0-rc.2):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default (= 1000.0.0)
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsiexecutor (= 1000.0.0)
|
||||
- yoga (= 1000.0.0.React)
|
||||
- React-CoreModules (1000.0.0):
|
||||
- FBReactNativeSpec (= 1000.0.0)
|
||||
- React-Core/Default (= 0.61.0-rc.2)
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsiexecutor (= 0.61.0-rc.2)
|
||||
- Yoga
|
||||
- React-CoreModules (0.61.0-rc.2):
|
||||
- FBReactNativeSpec (= 0.61.0-rc.2)
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/CoreModulesHeaders (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- React-cxxreact (1000.0.0):
|
||||
- RCTTypeSafety (= 0.61.0-rc.2)
|
||||
- React-Core/CoreModulesHeaders (= 0.61.0-rc.2)
|
||||
- React-RCTImage (= 0.61.0-rc.2)
|
||||
- ReactCommon/turbomodule/core (= 0.61.0-rc.2)
|
||||
- React-cxxreact (0.61.0-rc.2):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-jsinspector (= 1000.0.0)
|
||||
- React-jsi (1000.0.0):
|
||||
- React-jsinspector (= 0.61.0-rc.2)
|
||||
- React-jsi (0.61.0-rc.2):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-jsi/Default (= 1000.0.0)
|
||||
- React-jsi/Default (1000.0.0):
|
||||
- React-jsi/Default (= 0.61.0-rc.2)
|
||||
- React-jsi/Default (0.61.0-rc.2):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-jsiexecutor (1000.0.0):
|
||||
- React-jsiexecutor (0.61.0-rc.2):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-jsinspector (1000.0.0)
|
||||
- React-RCTActionSheet (1000.0.0):
|
||||
- React-Core/RCTActionSheetHeaders (= 1000.0.0)
|
||||
- React-RCTAnimation (1000.0.0):
|
||||
- React-Core/RCTAnimationHeaders (= 1000.0.0)
|
||||
- React-RCTBlob (1000.0.0):
|
||||
- React-Core/RCTBlobHeaders (= 1000.0.0)
|
||||
- React-Core/RCTWebSocket (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- React-RCTNetwork (= 1000.0.0)
|
||||
- React-RCTImage (1000.0.0):
|
||||
- React-Core/RCTImageHeaders (= 1000.0.0)
|
||||
- React-RCTNetwork (= 1000.0.0)
|
||||
- React-RCTLinking (1000.0.0):
|
||||
- React-Core/RCTLinkingHeaders (= 1000.0.0)
|
||||
- React-RCTNetwork (1000.0.0):
|
||||
- React-Core/RCTNetworkHeaders (= 1000.0.0)
|
||||
- React-RCTPushNotification (1000.0.0):
|
||||
- React-Core/RCTPushNotificationHeaders (= 1000.0.0)
|
||||
- React-RCTSettings (1000.0.0):
|
||||
- React-Core/RCTSettingsHeaders (= 1000.0.0)
|
||||
- React-RCTTest (1000.0.0):
|
||||
- React-Core (= 1000.0.0)
|
||||
- React-RCTText (1000.0.0):
|
||||
- React-Core/RCTTextHeaders (= 1000.0.0)
|
||||
- React-RCTVibration (1000.0.0):
|
||||
- React-Core/RCTVibrationHeaders (= 1000.0.0)
|
||||
- ReactCommon/jscallinvoker (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-jsinspector (0.61.0-rc.2)
|
||||
- React-RCTActionSheet (0.61.0-rc.2):
|
||||
- React-Core/RCTActionSheetHeaders (= 0.61.0-rc.2)
|
||||
- React-RCTAnimation (0.61.0-rc.2):
|
||||
- React-Core/RCTAnimationHeaders (= 0.61.0-rc.2)
|
||||
- React-RCTBlob (0.61.0-rc.2):
|
||||
- React-Core/RCTBlobHeaders (= 0.61.0-rc.2)
|
||||
- React-Core/RCTWebSocket (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- React-RCTNetwork (= 0.61.0-rc.2)
|
||||
- React-RCTImage (0.61.0-rc.2):
|
||||
- React-Core/RCTImageHeaders (= 0.61.0-rc.2)
|
||||
- React-RCTNetwork (= 0.61.0-rc.2)
|
||||
- React-RCTLinking (0.61.0-rc.2):
|
||||
- React-Core/RCTLinkingHeaders (= 0.61.0-rc.2)
|
||||
- React-RCTNetwork (0.61.0-rc.2):
|
||||
- React-Core/RCTNetworkHeaders (= 0.61.0-rc.2)
|
||||
- React-RCTPushNotification (0.61.0-rc.2):
|
||||
- React-Core/RCTPushNotificationHeaders (= 0.61.0-rc.2)
|
||||
- React-RCTSettings (0.61.0-rc.2):
|
||||
- React-Core/RCTSettingsHeaders (= 0.61.0-rc.2)
|
||||
- React-RCTTest (0.61.0-rc.2):
|
||||
- React-Core (= 0.61.0-rc.2)
|
||||
- React-RCTText (0.61.0-rc.2):
|
||||
- React-Core/RCTTextHeaders (= 0.61.0-rc.2)
|
||||
- React-RCTVibration (0.61.0-rc.2):
|
||||
- React-Core/RCTVibrationHeaders (= 0.61.0-rc.2)
|
||||
- ReactCommon/jscallinvoker (0.61.0-rc.2):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (1000.0.0):
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- ReactCommon/turbomodule/core (0.61.0-rc.2):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core (= 1000.0.0)
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- ReactCommon/jscallinvoker (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/samples (1000.0.0):
|
||||
- React-Core (= 0.61.0-rc.2)
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- ReactCommon/jscallinvoker (= 0.61.0-rc.2)
|
||||
- ReactCommon/turbomodule/samples (0.61.0-rc.2):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core (= 1000.0.0)
|
||||
- React-cxxreact (= 1000.0.0)
|
||||
- React-jsi (= 1000.0.0)
|
||||
- ReactCommon/jscallinvoker (= 1000.0.0)
|
||||
- ReactCommon/turbomodule/core (= 1000.0.0)
|
||||
- yoga (1000.0.0.React)
|
||||
- React-Core (= 0.61.0-rc.2)
|
||||
- React-cxxreact (= 0.61.0-rc.2)
|
||||
- React-jsi (= 0.61.0-rc.2)
|
||||
- ReactCommon/jscallinvoker (= 0.61.0-rc.2)
|
||||
- ReactCommon/turbomodule/core (= 0.61.0-rc.2)
|
||||
- Yoga (1.14.0)
|
||||
|
||||
DEPENDENCIES:
|
||||
- DoubleConversion (from `../third-party-podspecs/DoubleConversion.podspec`)
|
||||
@@ -280,7 +282,7 @@ DEPENDENCIES:
|
||||
- ReactCommon/jscallinvoker (from `../ReactCommon`)
|
||||
- ReactCommon/turbomodule/core (from `../ReactCommon`)
|
||||
- ReactCommon/turbomodule/samples (from `../ReactCommon`)
|
||||
- yoga (from `../ReactCommon/yoga`)
|
||||
- Yoga (from `../ReactCommon/yoga`)
|
||||
|
||||
SPEC REPOS:
|
||||
https://github.com/cocoapods/specs.git:
|
||||
@@ -341,39 +343,39 @@ EXTERNAL SOURCES:
|
||||
:path: "../Libraries/Vibration"
|
||||
ReactCommon:
|
||||
:path: "../ReactCommon"
|
||||
yoga:
|
||||
Yoga:
|
||||
:path: "../ReactCommon/yoga"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
|
||||
DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
|
||||
FBLazyVector: 34431b7e61740bed29b082ff81500b0ffafaffa0
|
||||
FBReactNativeSpec: e9febd2d5cc091662f172724165922b2e28d10a3
|
||||
FBLazyVector: a00f8540f34132ec94dd125c952b00af33d35683
|
||||
FBReactNativeSpec: c5adea5486b0ba64e5729e0ab75869df362ff9db
|
||||
Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
|
||||
glog: 1f3da668190260b06b429bb211bfbee5cd790c28
|
||||
RCTRequired: 33f3b89d2d82ef01c02b9b4f8146c43762e509d8
|
||||
RCTTypeSafety: 2b1cb2d92b779aa9a3522f67bd4f07e6b6d0797e
|
||||
React: 28a654b69575941571c073a656bc06795825e7f7
|
||||
React-ART: a5da06a892342d03896e0db45a7072525981f63c
|
||||
React-Core: 47b8ab211d9325292811e62ee23c54b464853111
|
||||
React-CoreModules: 38d8cc34497674ae3d411e644a9b17ad75ef3f74
|
||||
React-cxxreact: 7c4242192149ce0205b53efaa03e3bf86ba4337c
|
||||
React-jsi: 98d1f9d8a79d2720ba6a44c2d928a77f315b7e4f
|
||||
React-jsiexecutor: c0ab8c80a6e88380d63f583690a50d4a723b47b5
|
||||
React-jsinspector: ea0a218071a11c3687cef2480580180caa6a64c0
|
||||
React-RCTActionSheet: 090e7bd7c5774d919c47c4eeff78223a7fd8c19c
|
||||
React-RCTAnimation: 73d536fff417a101724d9529189c95a94263710c
|
||||
React-RCTBlob: 86017e0ba937b94445c5f680fef27ab831700fe7
|
||||
React-RCTImage: 7f5c9bff34905f1bc216be512ba0ae68f872208a
|
||||
React-RCTLinking: d7d7f792e63a8d57380cecbb9b7a3b31f92d1bb6
|
||||
React-RCTNetwork: c8f9d40297f35ea3792ea81866f33e8b45c25935
|
||||
React-RCTPushNotification: acffa8af6a20e6d41b041a8c4cb4bea0de9df0dd
|
||||
React-RCTSettings: dd4009546ce88c3647c32f0b5922459ab313fdca
|
||||
React-RCTTest: 73df09ec226fcad6e7e058a313e5dd16cccf86a8
|
||||
React-RCTText: 9078167d3bc011162326f2d8ef4dd580ec1eca17
|
||||
React-RCTVibration: 63c20d89204937ff8c7bbc1e712383347e6fbd90
|
||||
ReactCommon: 63d1a6355d5810a21a61efda9ac93804571a1b8b
|
||||
yoga: b72aa5b3708cc93c5897f8297122d6eba1331e07
|
||||
RCTRequired: 58b2e00307b037eed686e1c254bffb219c62cbfe
|
||||
RCTTypeSafety: 9dd7892e0a38316828e24c604856a2af28e0e17a
|
||||
React: b7f3b36e580ff5901e40cbc2b173ad5abf5213a1
|
||||
React-ART: cea14346f2818f3313b1da428b0a24159a8e88d2
|
||||
React-Core: bcec296416d2ad3a06d2736d120e0a39b23ff21c
|
||||
React-CoreModules: dc73c57572c1ecd3aea384c8cedeb08334aa14f1
|
||||
React-cxxreact: 336fc75245e991c148e9a0a1854b4c96610e51b2
|
||||
React-jsi: 32a6180d04a685f60d23017faae06d4990af01f9
|
||||
React-jsiexecutor: 47b944387f9ed0150ca844df1bc4fb7469e03d36
|
||||
React-jsinspector: 40beae2c3c855b931dc178f2e9f42f2eb7e3e5d4
|
||||
React-RCTActionSheet: 0cbaa4c0be3ca98fcfe861f0d386cc6eb74b78e7
|
||||
React-RCTAnimation: 42ca568866a71e5946537720f9961f594b92c37a
|
||||
React-RCTBlob: c05d81b7ebe44c71028e66f439adaeddb3c14482
|
||||
React-RCTImage: e01a52f375fb46cd60bca4edb25d444011547908
|
||||
React-RCTLinking: 637fd06bc5240852142a9a1039c31cd826c1d96a
|
||||
React-RCTNetwork: e50c40640a9668e3321ed5d535110113e0aa14d7
|
||||
React-RCTPushNotification: 6c7a17dfb1a6c525f00ec04b140df0205d2efc9f
|
||||
React-RCTSettings: b024097fd8b14802f8b7a74cf172b6ddbf3216d1
|
||||
React-RCTTest: b72a9c3d060d9da7fe3ecc29d027f79ee21ecdf8
|
||||
React-RCTText: 8277a56b481dc3e3407fa8582dba530bb6abaa01
|
||||
React-RCTVibration: 98a53ac8e638fdf5a215a10da9ae94a08bdf1c2a
|
||||
ReactCommon: 0ea9172090c512b2b07e56c0fc9c450d56317bdc
|
||||
Yoga: ec296b22dbed143b218926f1a2652c6a647874db
|
||||
|
||||
PODFILE CHECKSUM: 060903e270072f1e192b064848e6c34528af1c87
|
||||
|
||||
|
||||
@@ -150,13 +150,16 @@ android {
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
|
||||
}
|
||||
packagingOptions {
|
||||
pickFirst '**/armeabi-v7a/libc++_shared.so'
|
||||
pickFirst '**/x86/libc++_shared.so'
|
||||
pickFirst '**/arm64-v8a/libc++_shared.so'
|
||||
pickFirst '**/x86_64/libc++_shared.so'
|
||||
}
|
||||
pickFirst 'lib/x86/libc++_shared.so'
|
||||
pickFirst 'lib/x86_64/libjsc.so'
|
||||
pickFirst 'lib/arm64-v8a/libjsc.so'
|
||||
pickFirst 'lib/arm64-v8a/libc++_shared.so'
|
||||
pickFirst 'lib/x86_64/libc++_shared.so'
|
||||
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
+1
-1
@@ -96,6 +96,6 @@ Pod::Spec.new do |s|
|
||||
s.dependency "React-cxxreact", version
|
||||
s.dependency "React-jsi", version
|
||||
s.dependency "React-jsiexecutor", version
|
||||
s.dependency "yoga", "#{version}.React"
|
||||
s.dependency "Yoga"
|
||||
s.dependency "glog"
|
||||
end
|
||||
|
||||
@@ -93,6 +93,12 @@ NSString *RCTBridgeModuleNameForClass(Class cls)
|
||||
static BOOL turboModuleEnabled = NO;
|
||||
BOOL RCTTurboModuleEnabled(void)
|
||||
{
|
||||
#if RCT_DEBUG
|
||||
// TODO(T53341772): Allow TurboModule for test environment. Right now this breaks RNTester tests if enabled.
|
||||
if (RCTRunningInTestEnvironment()) {
|
||||
return NO;
|
||||
}
|
||||
#endif
|
||||
return turboModuleEnabled;
|
||||
}
|
||||
|
||||
|
||||
@@ -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: @(61),
|
||||
RCTVersionPatch: @(2),
|
||||
RCTVersionPrerelease: [NSNull null],
|
||||
};
|
||||
});
|
||||
return __rnVersion;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* 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 <Foundation/Foundation.h>
|
||||
|
||||
@interface RCTWeakProxy : NSObject
|
||||
|
||||
@property (nonatomic, weak, readonly) id target;
|
||||
|
||||
+ (instancetype)weakProxyWithTarget:(id)target;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* 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 "RCTWeakProxy.h"
|
||||
|
||||
@implementation RCTWeakProxy
|
||||
|
||||
- (instancetype)initWithTarget:(id)target
|
||||
{
|
||||
if (self = [super init]) {
|
||||
_target = target;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
+ (instancetype)weakProxyWithTarget:(id)target
|
||||
{
|
||||
return [[RCTWeakProxy alloc] initWithTarget:target];
|
||||
}
|
||||
|
||||
- (id)forwardingTargetForSelector:(SEL)aSelector
|
||||
{
|
||||
return _target;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -39,6 +39,8 @@ Pod::Spec.new do |s|
|
||||
}
|
||||
|
||||
s.dependency "FBReactNativeSpec", version
|
||||
s.dependency "RCTTypeSafety", version
|
||||
s.dependency "React-RCTImage", version
|
||||
s.dependency "Folly", folly_version
|
||||
s.dependency "React-Core/CoreModulesHeaders", version
|
||||
s.dependency "ReactCommon/turbomodule/core", version
|
||||
|
||||
@@ -14,17 +14,44 @@
|
||||
#if !TARGET_OS_TV
|
||||
@implementation RCTConvert (UIStatusBar)
|
||||
|
||||
RCT_ENUM_CONVERTER(UIStatusBarStyle, (@{
|
||||
@"default": @(UIStatusBarStyleDefault),
|
||||
@"light-content": @(UIStatusBarStyleLightContent),
|
||||
@"dark-content": @(UIStatusBarStyleDefault),
|
||||
}), UIStatusBarStyleDefault, integerValue);
|
||||
+ (UIStatusBarStyle)UIStatusBarStyle:(id)json RCT_DYNAMIC
|
||||
{
|
||||
static NSDictionary *mapping;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
if (@available(iOS 13.0, *)) {
|
||||
mapping = @{
|
||||
@"default" : @(UIStatusBarStyleDefault),
|
||||
@"light-content" : @(UIStatusBarStyleLightContent),
|
||||
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_13_0) && \
|
||||
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0
|
||||
@"dark-content" : @(UIStatusBarStyleDarkContent)
|
||||
#else
|
||||
@"dark-content": @(UIStatusBarStyleDefault)
|
||||
#endif
|
||||
};
|
||||
|
||||
RCT_ENUM_CONVERTER(UIStatusBarAnimation, (@{
|
||||
@"none": @(UIStatusBarAnimationNone),
|
||||
@"fade": @(UIStatusBarAnimationFade),
|
||||
@"slide": @(UIStatusBarAnimationSlide),
|
||||
}), UIStatusBarAnimationNone, integerValue);
|
||||
} else {
|
||||
mapping = @{
|
||||
@"default" : @(UIStatusBarStyleDefault),
|
||||
@"light-content" : @(UIStatusBarStyleLightContent),
|
||||
@"dark-content" : @(UIStatusBarStyleDefault)
|
||||
};
|
||||
}
|
||||
});
|
||||
return _RCT_CAST(
|
||||
type, [RCTConvertEnumValue("UIStatusBarStyle", mapping, @(UIStatusBarStyleDefault), json) integerValue]);
|
||||
}
|
||||
|
||||
RCT_ENUM_CONVERTER(
|
||||
UIStatusBarAnimation,
|
||||
(@{
|
||||
@"none" : @(UIStatusBarAnimationNone),
|
||||
@"fade" : @(UIStatusBarAnimationFade),
|
||||
@"slide" : @(UIStatusBarAnimationSlide),
|
||||
}),
|
||||
UIStatusBarAnimationNone,
|
||||
integerValue);
|
||||
|
||||
@end
|
||||
#endif
|
||||
@@ -36,8 +63,9 @@ static BOOL RCTViewControllerBasedStatusBarAppearance()
|
||||
static BOOL value;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
value = [[[NSBundle mainBundle] objectForInfoDictionaryKey:
|
||||
@"UIViewControllerBasedStatusBarAppearance"] ?: @YES boolValue];
|
||||
value =
|
||||
[[[NSBundle mainBundle] objectForInfoDictionaryKey:@"UIViewControllerBasedStatusBarAppearance"]
|
||||
?: @YES boolValue];
|
||||
});
|
||||
|
||||
return value;
|
||||
@@ -47,8 +75,7 @@ RCT_EXPORT_MODULE()
|
||||
|
||||
- (NSArray<NSString *> *)supportedEvents
|
||||
{
|
||||
return @[@"statusBarFrameDidChange",
|
||||
@"statusBarFrameWillChange"];
|
||||
return @[ @"statusBarFrameDidChange", @"statusBarFrameWillChange" ];
|
||||
}
|
||||
|
||||
#if !TARGET_OS_TV
|
||||
@@ -56,8 +83,14 @@ RCT_EXPORT_MODULE()
|
||||
- (void)startObserving
|
||||
{
|
||||
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
|
||||
[nc addObserver:self selector:@selector(applicationDidChangeStatusBarFrame:) name:UIApplicationDidChangeStatusBarFrameNotification object:nil];
|
||||
[nc addObserver:self selector:@selector(applicationWillChangeStatusBarFrame:) name:UIApplicationWillChangeStatusBarFrameNotification object:nil];
|
||||
[nc addObserver:self
|
||||
selector:@selector(applicationDidChangeStatusBarFrame:)
|
||||
name:UIApplicationDidChangeStatusBarFrameNotification
|
||||
object:nil];
|
||||
[nc addObserver:self
|
||||
selector:@selector(applicationWillChangeStatusBarFrame:)
|
||||
name:UIApplicationWillChangeStatusBarFrameNotification
|
||||
object:nil];
|
||||
}
|
||||
|
||||
- (void)stopObserving
|
||||
@@ -74,11 +107,11 @@ RCT_EXPORT_MODULE()
|
||||
{
|
||||
CGRect frame = [notification.userInfo[UIApplicationStatusBarFrameUserInfoKey] CGRectValue];
|
||||
NSDictionary *event = @{
|
||||
@"frame": @{
|
||||
@"x": @(frame.origin.x),
|
||||
@"y": @(frame.origin.y),
|
||||
@"width": @(frame.size.width),
|
||||
@"height": @(frame.size.height),
|
||||
@"frame" : @{
|
||||
@"x" : @(frame.origin.x),
|
||||
@"y" : @(frame.origin.y),
|
||||
@"width" : @(frame.size.width),
|
||||
@"height" : @(frame.size.height),
|
||||
},
|
||||
};
|
||||
[self sendEventWithName:eventName body:event];
|
||||
@@ -94,15 +127,14 @@ RCT_EXPORT_MODULE()
|
||||
[self emitEvent:@"statusBarFrameWillChange" forNotification:notification];
|
||||
}
|
||||
|
||||
RCT_EXPORT_METHOD(getHeight:(RCTResponseSenderBlock)callback)
|
||||
RCT_EXPORT_METHOD(getHeight : (RCTResponseSenderBlock)callback)
|
||||
{
|
||||
callback(@[@{
|
||||
@"height": @(RCTSharedApplication().statusBarFrame.size.height),
|
||||
}]);
|
||||
callback(@[ @{
|
||||
@"height" : @(RCTSharedApplication().statusBarFrame.size.height),
|
||||
} ]);
|
||||
}
|
||||
|
||||
RCT_EXPORT_METHOD(setStyle:(UIStatusBarStyle)statusBarStyle
|
||||
animated:(BOOL)animated)
|
||||
RCT_EXPORT_METHOD(setStyle : (UIStatusBarStyle)statusBarStyle animated : (BOOL)animated)
|
||||
{
|
||||
if (RCTViewControllerBasedStatusBarAppearance()) {
|
||||
RCTLogError(@"RCTStatusBarManager module requires that the \
|
||||
@@ -110,14 +142,12 @@ RCT_EXPORT_METHOD(setStyle:(UIStatusBarStyle)statusBarStyle
|
||||
} else {
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
[RCTSharedApplication() setStatusBarStyle:statusBarStyle
|
||||
animated:animated];
|
||||
[RCTSharedApplication() setStatusBarStyle:statusBarStyle animated:animated];
|
||||
}
|
||||
#pragma clang diagnostic pop
|
||||
}
|
||||
|
||||
RCT_EXPORT_METHOD(setHidden:(BOOL)hidden
|
||||
withAnimation:(UIStatusBarAnimation)animation)
|
||||
RCT_EXPORT_METHOD(setHidden : (BOOL)hidden withAnimation : (UIStatusBarAnimation)animation)
|
||||
{
|
||||
if (RCTViewControllerBasedStatusBarAppearance()) {
|
||||
RCTLogError(@"RCTStatusBarManager module requires that the \
|
||||
@@ -125,17 +155,16 @@ RCT_EXPORT_METHOD(setHidden:(BOOL)hidden
|
||||
} else {
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
[RCTSharedApplication() setStatusBarHidden:hidden
|
||||
withAnimation:animation];
|
||||
[RCTSharedApplication() setStatusBarHidden:hidden withAnimation:animation];
|
||||
#pragma clang diagnostic pop
|
||||
}
|
||||
}
|
||||
|
||||
RCT_EXPORT_METHOD(setNetworkActivityIndicatorVisible:(BOOL)visible)
|
||||
RCT_EXPORT_METHOD(setNetworkActivityIndicatorVisible : (BOOL)visible)
|
||||
{
|
||||
RCTSharedApplication().networkActivityIndicatorVisible = visible;
|
||||
}
|
||||
|
||||
#endif //TARGET_OS_TV
|
||||
#endif // TARGET_OS_TV
|
||||
|
||||
@end
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#import "RCTBridge.h"
|
||||
#import "RCTModalHostView.h"
|
||||
#import "RCTModalHostViewController.h"
|
||||
#import "RCTModalManager.h"
|
||||
#import "RCTShadowView.h"
|
||||
#import "RCTUtils.h"
|
||||
|
||||
@@ -80,10 +81,15 @@ RCT_EXPORT_MODULE()
|
||||
|
||||
- (void)dismissModalHostView:(RCTModalHostView *)modalHostView withViewController:(RCTModalHostViewController *)viewController animated:(BOOL)animated
|
||||
{
|
||||
dispatch_block_t completionBlock = ^{
|
||||
if (modalHostView.identifier) {
|
||||
[[self.bridge moduleForClass:[RCTModalManager class]] modalDismissed:modalHostView.identifier];
|
||||
}
|
||||
};
|
||||
if (_dismissalBlock) {
|
||||
_dismissalBlock([modalHostView reactViewController], viewController, animated, nil);
|
||||
_dismissalBlock([modalHostView reactViewController], viewController, animated, completionBlock);
|
||||
} else {
|
||||
[viewController.presentingViewController dismissViewControllerAnimated:animated completion:nil];
|
||||
[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
|
||||
@@ -356,7 +356,6 @@ android {
|
||||
|
||||
dependencies {
|
||||
api("com.facebook.infer.annotation:infer-annotation:0.11.2")
|
||||
api("com.facebook.yoga:proguard-annotations:1.14.1")
|
||||
api("javax.inject:javax.inject:1")
|
||||
api("androidx.appcompat:appcompat:1.0.2")
|
||||
api("com.facebook.fresco:fresco:${FRESCO_VERSION}")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
VERSION_NAME=1000.0.0-master
|
||||
VERSION_NAME=0.61.2
|
||||
GROUP=com.facebook.react
|
||||
|
||||
POM_NAME=ReactNative
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
|
||||
* directory of this source tree.
|
||||
*/
|
||||
package com.facebook.proguard.annotations;
|
||||
|
||||
import static java.lang.annotation.RetentionPolicy.CLASS;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
/**
|
||||
* Add this annotation to a class, method, or field to instruct Proguard to not strip it out.
|
||||
*
|
||||
* <p>This is useful for methods called via reflection that could appear as unused to Proguard.
|
||||
*/
|
||||
@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.CONSTRUCTOR})
|
||||
@Retention(CLASS)
|
||||
public @interface DoNotStrip {}
|
||||
@@ -52,7 +52,8 @@ public class NativeModuleRegistryBuilder {
|
||||
+ name
|
||||
+ " tried to override "
|
||||
+ existingNativeModule.getClassName()
|
||||
+ ". Check the getPackages() method in MainApplication.java, it might be that module is being created twice. If this was your intention, set canOverrideExistingModule=true");
|
||||
+ ". Check the getPackages() method in MainApplication.java, it might be that module is being created twice. If this was your intention, set canOverrideExistingModule=true. "
|
||||
+ "This error may also be present if the package is present only once in getPackages() but is also automatically added later during build time by autolinking. Try removing the existing entry and rebuild.");
|
||||
}
|
||||
mModules.remove(existingNativeModule);
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ public class ReactActivityDelegate {
|
||||
}
|
||||
|
||||
protected ReactRootView createRootView() {
|
||||
return mReactDelegate.createRootView();
|
||||
return new ReactRootView(getContext());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -73,7 +73,12 @@ public class ReactActivityDelegate {
|
||||
String mainComponentName = getMainComponentName();
|
||||
mReactDelegate =
|
||||
new ReactDelegate(
|
||||
getPlainActivity(), getReactNativeHost(), mainComponentName, getLaunchOptions());
|
||||
getPlainActivity(), getReactNativeHost(), mainComponentName, getLaunchOptions()) {
|
||||
@Override
|
||||
protected ReactRootView createRootView() {
|
||||
return ReactActivityDelegate.this.createRootView();
|
||||
}
|
||||
};
|
||||
if (mMainComponentName != null) {
|
||||
loadApp(mainComponentName);
|
||||
}
|
||||
|
||||
+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", 61,
|
||||
"patch", 2,
|
||||
"prerelease", null);
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@ package com.facebook.react.views.view;
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.RippleDrawable;
|
||||
import android.os.Build;
|
||||
@@ -28,8 +30,7 @@ public class ReactDrawableHelper {
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
|
||||
public static Drawable createDrawableFromJSDescription(
|
||||
ReactViewGroup view, ReadableMap drawableDescriptionDict) {
|
||||
Context context = view.getContext();
|
||||
Context context, ReadableMap drawableDescriptionDict) {
|
||||
String type = drawableDescriptionDict.getString("type");
|
||||
if ("ThemeAttrAndroid".equals(type)) {
|
||||
String attr = drawableDescriptionDict.getString("attribute");
|
||||
@@ -74,7 +75,7 @@ public class ReactDrawableHelper {
|
||||
if (!drawableDescriptionDict.hasKey("borderless")
|
||||
|| drawableDescriptionDict.isNull("borderless")
|
||||
|| !drawableDescriptionDict.getBoolean("borderless")) {
|
||||
mask = view.getBorderRadiusMask();
|
||||
mask = new ColorDrawable(Color.WHITE);
|
||||
}
|
||||
ColorStateList colorStateList =
|
||||
new ColorStateList(new int[][] {new int[] {}}, new int[] {color});
|
||||
|
||||
@@ -18,15 +18,12 @@ import android.graphics.Rect;
|
||||
import android.graphics.RectF;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.LayerDrawable;
|
||||
import android.graphics.drawable.ShapeDrawable;
|
||||
import android.graphics.drawable.shapes.RoundRectShape;
|
||||
import android.os.Build;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewStructure;
|
||||
import android.view.animation.Animation;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.facebook.common.logging.FLog;
|
||||
import com.facebook.infer.annotation.Assertions;
|
||||
@@ -289,31 +286,6 @@ public class ReactViewGroup extends ViewGroup
|
||||
getOrCreateReactViewBackground().setBorderStyle(style);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public Drawable getBorderRadiusMask() {
|
||||
final float[] outerRadii;
|
||||
if (mReactBackgroundDrawable == null) {
|
||||
outerRadii = null;
|
||||
} else {
|
||||
final float[] borderRadii = getBorderRadii(mReactBackgroundDrawable);
|
||||
outerRadii =
|
||||
new float[] {
|
||||
borderRadii[0],
|
||||
borderRadii[0],
|
||||
borderRadii[1],
|
||||
borderRadii[1],
|
||||
borderRadii[2],
|
||||
borderRadii[2],
|
||||
borderRadii[3],
|
||||
borderRadii[3]
|
||||
};
|
||||
}
|
||||
final ShapeDrawable shapeDrawable =
|
||||
new ShapeDrawable(new RoundRectShape(outerRadii, null, null));
|
||||
shapeDrawable.getPaint().setColor(Color.WHITE);
|
||||
return shapeDrawable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRemoveClippedSubviews(boolean removeClippedSubviews) {
|
||||
if (removeClippedSubviews == mRemoveClippedSubviews) {
|
||||
@@ -760,11 +732,92 @@ public class ReactViewGroup extends ViewGroup
|
||||
bottom -= borderWidth.bottom;
|
||||
}
|
||||
|
||||
final float borderRadii[] = getBorderRadii(mReactBackgroundDrawable);
|
||||
final float topLeftBorderRadius = borderRadii[0];
|
||||
final float topRightBorderRadius = borderRadii[1];
|
||||
final float bottomRightBorderRadius = borderRadii[2];
|
||||
final float bottomLeftBorderRadius = borderRadii[3];
|
||||
final float borderRadius = mReactBackgroundDrawable.getFullBorderRadius();
|
||||
float topLeftBorderRadius =
|
||||
mReactBackgroundDrawable.getBorderRadiusOrDefaultTo(
|
||||
borderRadius, ReactViewBackgroundDrawable.BorderRadiusLocation.TOP_LEFT);
|
||||
float topRightBorderRadius =
|
||||
mReactBackgroundDrawable.getBorderRadiusOrDefaultTo(
|
||||
borderRadius, ReactViewBackgroundDrawable.BorderRadiusLocation.TOP_RIGHT);
|
||||
float bottomLeftBorderRadius =
|
||||
mReactBackgroundDrawable.getBorderRadiusOrDefaultTo(
|
||||
borderRadius, ReactViewBackgroundDrawable.BorderRadiusLocation.BOTTOM_LEFT);
|
||||
float bottomRightBorderRadius =
|
||||
mReactBackgroundDrawable.getBorderRadiusOrDefaultTo(
|
||||
borderRadius, ReactViewBackgroundDrawable.BorderRadiusLocation.BOTTOM_RIGHT);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
||||
final boolean isRTL = mLayoutDirection == View.LAYOUT_DIRECTION_RTL;
|
||||
float topStartBorderRadius =
|
||||
mReactBackgroundDrawable.getBorderRadius(
|
||||
ReactViewBackgroundDrawable.BorderRadiusLocation.TOP_START);
|
||||
float topEndBorderRadius =
|
||||
mReactBackgroundDrawable.getBorderRadius(
|
||||
ReactViewBackgroundDrawable.BorderRadiusLocation.TOP_END);
|
||||
float bottomStartBorderRadius =
|
||||
mReactBackgroundDrawable.getBorderRadius(
|
||||
ReactViewBackgroundDrawable.BorderRadiusLocation.BOTTOM_START);
|
||||
float bottomEndBorderRadius =
|
||||
mReactBackgroundDrawable.getBorderRadius(
|
||||
ReactViewBackgroundDrawable.BorderRadiusLocation.BOTTOM_END);
|
||||
|
||||
if (I18nUtil.getInstance().doLeftAndRightSwapInRTL(getContext())) {
|
||||
if (YogaConstants.isUndefined(topStartBorderRadius)) {
|
||||
topStartBorderRadius = topLeftBorderRadius;
|
||||
}
|
||||
|
||||
if (YogaConstants.isUndefined(topEndBorderRadius)) {
|
||||
topEndBorderRadius = topRightBorderRadius;
|
||||
}
|
||||
|
||||
if (YogaConstants.isUndefined(bottomStartBorderRadius)) {
|
||||
bottomStartBorderRadius = bottomLeftBorderRadius;
|
||||
}
|
||||
|
||||
if (YogaConstants.isUndefined(bottomEndBorderRadius)) {
|
||||
bottomEndBorderRadius = bottomRightBorderRadius;
|
||||
}
|
||||
|
||||
final float directionAwareTopLeftRadius =
|
||||
isRTL ? topEndBorderRadius : topStartBorderRadius;
|
||||
final float directionAwareTopRightRadius =
|
||||
isRTL ? topStartBorderRadius : topEndBorderRadius;
|
||||
final float directionAwareBottomLeftRadius =
|
||||
isRTL ? bottomEndBorderRadius : bottomStartBorderRadius;
|
||||
final float directionAwareBottomRightRadius =
|
||||
isRTL ? bottomStartBorderRadius : bottomEndBorderRadius;
|
||||
|
||||
topLeftBorderRadius = directionAwareTopLeftRadius;
|
||||
topRightBorderRadius = directionAwareTopRightRadius;
|
||||
bottomLeftBorderRadius = directionAwareBottomLeftRadius;
|
||||
bottomRightBorderRadius = directionAwareBottomRightRadius;
|
||||
} else {
|
||||
final float directionAwareTopLeftRadius =
|
||||
isRTL ? topEndBorderRadius : topStartBorderRadius;
|
||||
final float directionAwareTopRightRadius =
|
||||
isRTL ? topStartBorderRadius : topEndBorderRadius;
|
||||
final float directionAwareBottomLeftRadius =
|
||||
isRTL ? bottomEndBorderRadius : bottomStartBorderRadius;
|
||||
final float directionAwareBottomRightRadius =
|
||||
isRTL ? bottomStartBorderRadius : bottomEndBorderRadius;
|
||||
|
||||
if (!YogaConstants.isUndefined(directionAwareTopLeftRadius)) {
|
||||
topLeftBorderRadius = directionAwareTopLeftRadius;
|
||||
}
|
||||
|
||||
if (!YogaConstants.isUndefined(directionAwareTopRightRadius)) {
|
||||
topRightBorderRadius = directionAwareTopRightRadius;
|
||||
}
|
||||
|
||||
if (!YogaConstants.isUndefined(directionAwareBottomLeftRadius)) {
|
||||
bottomLeftBorderRadius = directionAwareBottomLeftRadius;
|
||||
}
|
||||
|
||||
if (!YogaConstants.isUndefined(directionAwareBottomRightRadius)) {
|
||||
bottomRightBorderRadius = directionAwareBottomRightRadius;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (topLeftBorderRadius > 0
|
||||
|| topRightBorderRadius > 0
|
||||
@@ -803,97 +856,6 @@ public class ReactViewGroup extends ViewGroup
|
||||
}
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private float[] getBorderRadii(@NonNull ReactViewBackgroundDrawable backgroundDrawable) {
|
||||
final float borderRadius = backgroundDrawable.getFullBorderRadius();
|
||||
float topLeftBorderRadius =
|
||||
backgroundDrawable.getBorderRadiusOrDefaultTo(
|
||||
borderRadius, ReactViewBackgroundDrawable.BorderRadiusLocation.TOP_LEFT);
|
||||
float topRightBorderRadius =
|
||||
backgroundDrawable.getBorderRadiusOrDefaultTo(
|
||||
borderRadius, ReactViewBackgroundDrawable.BorderRadiusLocation.TOP_RIGHT);
|
||||
float bottomLeftBorderRadius =
|
||||
backgroundDrawable.getBorderRadiusOrDefaultTo(
|
||||
borderRadius, ReactViewBackgroundDrawable.BorderRadiusLocation.BOTTOM_LEFT);
|
||||
float bottomRightBorderRadius =
|
||||
backgroundDrawable.getBorderRadiusOrDefaultTo(
|
||||
borderRadius, ReactViewBackgroundDrawable.BorderRadiusLocation.BOTTOM_RIGHT);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
||||
final boolean isRTL = mLayoutDirection == View.LAYOUT_DIRECTION_RTL;
|
||||
float topStartBorderRadius =
|
||||
backgroundDrawable.getBorderRadius(
|
||||
ReactViewBackgroundDrawable.BorderRadiusLocation.TOP_START);
|
||||
float topEndBorderRadius =
|
||||
backgroundDrawable.getBorderRadius(
|
||||
ReactViewBackgroundDrawable.BorderRadiusLocation.TOP_END);
|
||||
float bottomStartBorderRadius =
|
||||
backgroundDrawable.getBorderRadius(
|
||||
ReactViewBackgroundDrawable.BorderRadiusLocation.BOTTOM_START);
|
||||
float bottomEndBorderRadius =
|
||||
backgroundDrawable.getBorderRadius(
|
||||
ReactViewBackgroundDrawable.BorderRadiusLocation.BOTTOM_END);
|
||||
|
||||
if (I18nUtil.getInstance().doLeftAndRightSwapInRTL(getContext())) {
|
||||
if (YogaConstants.isUndefined(topStartBorderRadius)) {
|
||||
topStartBorderRadius = topLeftBorderRadius;
|
||||
}
|
||||
|
||||
if (YogaConstants.isUndefined(topEndBorderRadius)) {
|
||||
topEndBorderRadius = topRightBorderRadius;
|
||||
}
|
||||
|
||||
if (YogaConstants.isUndefined(bottomStartBorderRadius)) {
|
||||
bottomStartBorderRadius = bottomLeftBorderRadius;
|
||||
}
|
||||
|
||||
if (YogaConstants.isUndefined(bottomEndBorderRadius)) {
|
||||
bottomEndBorderRadius = bottomRightBorderRadius;
|
||||
}
|
||||
|
||||
final float directionAwareTopLeftRadius = isRTL ? topEndBorderRadius : topStartBorderRadius;
|
||||
final float directionAwareTopRightRadius =
|
||||
isRTL ? topStartBorderRadius : topEndBorderRadius;
|
||||
final float directionAwareBottomLeftRadius =
|
||||
isRTL ? bottomEndBorderRadius : bottomStartBorderRadius;
|
||||
final float directionAwareBottomRightRadius =
|
||||
isRTL ? bottomStartBorderRadius : bottomEndBorderRadius;
|
||||
|
||||
topLeftBorderRadius = directionAwareTopLeftRadius;
|
||||
topRightBorderRadius = directionAwareTopRightRadius;
|
||||
bottomLeftBorderRadius = directionAwareBottomLeftRadius;
|
||||
bottomRightBorderRadius = directionAwareBottomRightRadius;
|
||||
} else {
|
||||
final float directionAwareTopLeftRadius = isRTL ? topEndBorderRadius : topStartBorderRadius;
|
||||
final float directionAwareTopRightRadius =
|
||||
isRTL ? topStartBorderRadius : topEndBorderRadius;
|
||||
final float directionAwareBottomLeftRadius =
|
||||
isRTL ? bottomEndBorderRadius : bottomStartBorderRadius;
|
||||
final float directionAwareBottomRightRadius =
|
||||
isRTL ? bottomStartBorderRadius : bottomEndBorderRadius;
|
||||
|
||||
if (!YogaConstants.isUndefined(directionAwareTopLeftRadius)) {
|
||||
topLeftBorderRadius = directionAwareTopLeftRadius;
|
||||
}
|
||||
|
||||
if (!YogaConstants.isUndefined(directionAwareTopRightRadius)) {
|
||||
topRightBorderRadius = directionAwareTopRightRadius;
|
||||
}
|
||||
|
||||
if (!YogaConstants.isUndefined(directionAwareBottomLeftRadius)) {
|
||||
bottomLeftBorderRadius = directionAwareBottomLeftRadius;
|
||||
}
|
||||
|
||||
if (!YogaConstants.isUndefined(directionAwareBottomRightRadius)) {
|
||||
bottomRightBorderRadius = directionAwareBottomRightRadius;
|
||||
}
|
||||
}
|
||||
}
|
||||
return new float[] {
|
||||
topLeftBorderRadius, topRightBorderRadius, bottomRightBorderRadius, bottomLeftBorderRadius
|
||||
};
|
||||
}
|
||||
|
||||
public void setOpacityIfPossible(float opacity) {
|
||||
mBackfaceOpacity = opacity;
|
||||
setBackfaceVisibilityDependantOpacity();
|
||||
|
||||
@@ -52,9 +52,6 @@ public class ReactViewManager extends ViewGroupManager<ReactViewGroup> {
|
||||
private static final int CMD_SET_PRESSED = 2;
|
||||
private static final String HOTSPOT_UPDATE_KEY = "hotspotUpdate";
|
||||
|
||||
private @Nullable ReadableMap mNativeBackground;
|
||||
private @Nullable ReadableMap mNativeForeground;
|
||||
|
||||
@ReactProp(name = "accessible")
|
||||
public void setAccessible(ReactViewGroup view, boolean accessible) {
|
||||
view.setFocusable(accessible);
|
||||
@@ -121,14 +118,6 @@ public class ReactViewManager extends ViewGroupManager<ReactViewGroup> {
|
||||
} else {
|
||||
view.setBorderRadius(borderRadius, index - 1);
|
||||
}
|
||||
|
||||
if (mNativeBackground != null) {
|
||||
setNativeBackground(view, mNativeBackground);
|
||||
}
|
||||
|
||||
if (mNativeForeground != null) {
|
||||
setNativeForeground(view, mNativeForeground);
|
||||
}
|
||||
}
|
||||
|
||||
@ReactProp(name = "borderStyle")
|
||||
@@ -169,17 +158,19 @@ public class ReactViewManager extends ViewGroupManager<ReactViewGroup> {
|
||||
|
||||
@ReactProp(name = "nativeBackgroundAndroid")
|
||||
public void setNativeBackground(ReactViewGroup view, @Nullable ReadableMap bg) {
|
||||
mNativeBackground = bg;
|
||||
view.setTranslucentBackgroundDrawable(
|
||||
bg == null ? null : ReactDrawableHelper.createDrawableFromJSDescription(view, bg));
|
||||
bg == null
|
||||
? null
|
||||
: ReactDrawableHelper.createDrawableFromJSDescription(view.getContext(), bg));
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.M)
|
||||
@ReactProp(name = "nativeForegroundAndroid")
|
||||
public void setNativeForeground(ReactViewGroup view, @Nullable ReadableMap fg) {
|
||||
mNativeForeground = fg;
|
||||
view.setForeground(
|
||||
fg == null ? null : ReactDrawableHelper.createDrawableFromJSDescription(view, fg));
|
||||
fg == null
|
||||
? null
|
||||
: ReactDrawableHelper.createDrawableFromJSDescription(view.getContext(), fg));
|
||||
}
|
||||
|
||||
@ReactProp(
|
||||
|
||||
@@ -630,7 +630,9 @@ jsi::String JSCRuntime::createStringFromUtf8(
|
||||
size_t length) {
|
||||
std::string tmp(reinterpret_cast<const char*>(str), length);
|
||||
JSStringRef stringRef = JSStringCreateWithUTF8CString(tmp.c_str());
|
||||
return createString(stringRef);
|
||||
auto result = createString(stringRef);
|
||||
JSStringRelease(stringRef);
|
||||
return result;
|
||||
}
|
||||
|
||||
std::string JSCRuntime::utf8(const jsi::String& str) {
|
||||
|
||||
@@ -347,7 +347,7 @@ class PropNameID : public Pointer {
|
||||
using Pointer::Pointer;
|
||||
|
||||
PropNameID(Runtime& runtime, const PropNameID& other)
|
||||
: PropNameID(runtime.clonePropNameID(other.ptr_)) {}
|
||||
: Pointer(runtime.clonePropNameID(other.ptr_)) {}
|
||||
|
||||
PropNameID(PropNameID&& other) = default;
|
||||
PropNameID& operator=(PropNameID&& other) = default;
|
||||
|
||||
@@ -15,8 +15,8 @@ else
|
||||
end
|
||||
|
||||
Pod::Spec.new do |spec|
|
||||
spec.name = 'yoga'
|
||||
spec.version = "#{version}.React"
|
||||
spec.name = 'Yoga'
|
||||
spec.version = '1.14.0'
|
||||
spec.license = { :type => 'MIT' }
|
||||
spec.homepage = 'https://yogalayout.com'
|
||||
spec.documentation_url = 'https://yogalayout.com/docs/'
|
||||
@@ -28,6 +28,7 @@ Pod::Spec.new do |spec|
|
||||
spec.source = source
|
||||
|
||||
spec.module_name = 'yoga'
|
||||
spec.header_dir = 'yoga'
|
||||
spec.requires_arc = false
|
||||
spec.compiler_flags = [
|
||||
'-fno-omit-frame-pointer',
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "react-native",
|
||||
"version": "1000.0.0",
|
||||
"version": "0.61.2",
|
||||
"bin": "./cli.js",
|
||||
"description": "A framework for building native apps using React",
|
||||
"license": "MIT",
|
||||
@@ -97,7 +97,7 @@
|
||||
"event-target-shim": "^5.0.1",
|
||||
"fbjs": "^1.0.0",
|
||||
"fbjs-scripts": "^1.1.0",
|
||||
"hermes-engine": "^0.1.1",
|
||||
"hermes-engine": "^0.2.1",
|
||||
"invariant": "^2.2.4",
|
||||
"jsc-android": "^245459.0.0",
|
||||
"metro-babel-register": "^0.56.0",
|
||||
@@ -170,4 +170,4 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -38,7 +38,7 @@ def use_react_native! (options={})
|
||||
pod 'React-jsinspector', :path => "#{prefix}/ReactCommon/jsinspector"
|
||||
pod 'ReactCommon/jscallinvoker', :path => "#{prefix}/ReactCommon"
|
||||
pod 'ReactCommon/turbomodule/core', :path => "#{prefix}/ReactCommon"
|
||||
pod 'yoga', :path => "#{prefix}/ReactCommon/yoga"
|
||||
pod 'Yoga', :path => "#{prefix}/ReactCommon/yoga"
|
||||
|
||||
pod 'DoubleConversion', :podspec => "#{prefix}/third-party-podspecs/DoubleConversion.podspec"
|
||||
pod 'glog', :podspec => "#{prefix}/third-party-podspecs/glog.podspec"
|
||||
|
||||
@@ -91,6 +91,8 @@ grep -E "com.facebook.react:react-native:\\+" "${project_name}/android/app/build
|
||||
|
||||
success "New sample project generated at /tmp/${project_name}"
|
||||
|
||||
cd "/tmp/${project_name}"
|
||||
|
||||
info "Test the following on Android:"
|
||||
info " - Disable Fast Refresh. It might be enabled from last time (the setting is stored on the device)"
|
||||
info " - Verify 'Reload JS' works"
|
||||
@@ -98,7 +100,7 @@ info ""
|
||||
info "Press any key to run the sample in Android emulator/device"
|
||||
info ""
|
||||
read -n 1
|
||||
cd "/tmp/${project_name}" && react-native run-android
|
||||
yarn react-native run-android
|
||||
|
||||
info "Test the following on iOS:"
|
||||
info " - Disable Fast Refresh. It might be enabled from last time (the setting is stored on the device)"
|
||||
@@ -111,7 +113,7 @@ info ""
|
||||
info "Press any key to open the project in Xcode"
|
||||
info ""
|
||||
read -n 1
|
||||
open "/tmp/${project_name}/ios/${project_name}.xcodeproj"
|
||||
yarn react-native run-ios
|
||||
|
||||
cd "$repo_root"
|
||||
|
||||
|
||||
@@ -36,9 +36,9 @@ module.file_ext=.ios.js
|
||||
|
||||
munge_underscores=true
|
||||
|
||||
module.name_mapper='^react-native$' -> '<PROJECT_ROOT>/Libraries/react-native/react-native-implementation'
|
||||
module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/\1'
|
||||
module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/Libraries/Image/RelativeImageStub'
|
||||
module.name_mapper='^react-native$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/react-native/react-native-implementation'
|
||||
module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/node_modules/react-native/\1'
|
||||
module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub'
|
||||
|
||||
suppress_type=$FlowIssue
|
||||
suppress_type=$FlowFixMe
|
||||
|
||||
@@ -20,7 +20,6 @@ DerivedData
|
||||
*.hmap
|
||||
*.ipa
|
||||
*.xcuserstate
|
||||
xcshareddata
|
||||
|
||||
# Android/IntelliJ
|
||||
#
|
||||
|
||||
@@ -176,15 +176,6 @@ android {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
pickFirst '**/armeabi-v7a/libc++_shared.so'
|
||||
pickFirst '**/x86/libc++_shared.so'
|
||||
pickFirst '**/arm64-v8a/libc++_shared.so'
|
||||
pickFirst '**/x86_64/libc++_shared.so'
|
||||
pickFirst '**/x86/libjsc.so'
|
||||
pickFirst '**/armeabi-v7a/libjsc.so'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -28,7 +28,7 @@ target 'HelloWorld' do
|
||||
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
|
||||
pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
|
||||
pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
|
||||
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
|
||||
pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
|
||||
|
||||
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
|
||||
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"react": "16.8.1",
|
||||
"react-native": "1000.0.0"
|
||||
"react-native": "0.61.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.5.0",
|
||||
|
||||
@@ -3464,10 +3464,10 @@ has@^1.0.1, has@^1.0.3:
|
||||
dependencies:
|
||||
function-bind "^1.1.1"
|
||||
|
||||
hermes-engine@^0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.1.1.tgz#33d5da1a3b7289667f121dc1aca3566171e86fd8"
|
||||
integrity sha512-5nPNtJg3ZiUT14SfU5KcETWrDFadn9R0hv2FCihiLZUeNHuLxaoiFy0bAMrXukKPyXG76XZ4zl5iGXr7E7Nhpw==
|
||||
hermes-engine@^0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.2.1.tgz#25c0f1ff852512a92cb5c5cc47cf967e1e722ea2"
|
||||
integrity sha512-eNHUQHuadDMJARpaqvlCZoK/Nitpj6oywq3vQ3wCwEsww5morX34mW5PmKWQTO7aU0ck0hgulxR+EVDlXygGxQ==
|
||||
|
||||
home-or-tmp@^3.0.0:
|
||||
version "3.0.0"
|
||||
|
||||
Reference in New Issue
Block a user