diff --git a/.flowconfig b/.flowconfig
index 34d43bae7..e3f6e8a19 100644
--- a/.flowconfig
+++ b/.flowconfig
@@ -12,7 +12,6 @@
; For RN Apps installed via npm, "Libraries" folder is inside
; "node_modules/react-native" but in the source repo it is in the root
.*/Libraries/react-native/React.js
-.*/Libraries/react-native/ReactNative.js
; Ignore polyfills
.*/Libraries/polyfills/.*
@@ -21,12 +20,12 @@
; seen to cause errors and we have chosen not to fix.
.*/node_modules/@atlassian
.*/node_modules/bower/lib/node_modules/bower-json/test/.*
+.*/node_modules/immutable/dist/immutable.js.flow
.*/node_modules/jsonlint/test/.*
-; FIXME Remove once we update past this commit:
+; FIXME Remove once we update past commit
; https://github.com/facebook/react-native/commit/df8d0d1db9203cc87ad3682e6138b2a9ed714365
.*/node_modules/react-native/local-cli/link/link.js
-
.*/node_modules/react-native-keep-awake/.*
.*/node_modules/styled-components/.*
@@ -36,21 +35,16 @@
[libs]
node_modules/react-native/Libraries/react-native/react-native-interface.js
-node_modules/react-native/flow
+node_modules/react-native/flow/
[options]
emoji=true
module.system=haste
-; FIXME: munge_underscores should be false but right now there are some errors
-; if we change the value to false
-; Treats class properties with underscore as private. Disabled because currently
-; for us "_" can mean protected too.
-; munge_underscores=false
munge_underscores=true
-; FIXME Remove once we update past this commit:
+; FIXME Remove once we update past commit
; https://github.com/facebook/react-native/commit/df8d0d1db9203cc87ad3682e6138b2a9ed714365
module.name_mapper='^./link/link$' -> 'emptyObject'
@@ -62,11 +56,10 @@ suppress_type=$FlowFixMeProps
suppress_type=$FlowFixMeState
suppress_type=$FixMe
-suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(5[0-3]\\|[1-4][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native_oss[a-z,_]*\\)?)\\)
-suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(5[0-3]\\|[1-4][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native_oss[a-z,_]*\\)?)\\)?:? #[0-9]+
+suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(5[0-6]\\|[1-4][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
+suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(5[0-6]\\|[1-4][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+
suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError
-suppress_comment=\\(.\\|\n\\)*\\$FlowDisableNextLine
unsafe.enable_getters_and_setters=true
@@ -83,4 +76,4 @@ module.file_ext=.jsx
module.file_ext=.json
[version]
-^0.53.0
+^0.56.0
diff --git a/.gitignore b/.gitignore
index dcf01412a..df6c7608d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,9 @@ all.css
.remote-sync.json
.sync-config.cson
+# CocoaPods
+Pods/
+
# The following are automatically generated by the react-native command line
# utility (either with the init or upgrade option which pull in the latest
# template files recommended by Facebook for React Native).
@@ -57,14 +60,11 @@ buck-out/
# fastlane
#
-# It is recommended to not store the screenshots in the git repo. Instead, use
-# fastlane to re-generate the screenshots whenever they are needed. For more
-# information about the recommended setup visit:
-# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
-#
-fastlane/report.xml
-fastlane/Preview.html
-fastlane/screenshots
+# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
+# screenshots whenever they are needed.
+# For more information about the recommended setup visit:
+# https://docs.fastlane.tools/best-practices/source-control/
-# CocoaPods
-Pods/
+*/fastlane/report.xml
+*/fastlane/Preview.html
+*/fastlane/screenshots
diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro
index 48361a901..6e8516c8d 100644
--- a/android/app/proguard-rules.pro
+++ b/android/app/proguard-rules.pro
@@ -50,6 +50,10 @@
-dontwarn com.facebook.react.**
+# TextLayoutBuilder uses a non-public Android constructor within StaticLayout.
+# See libs/proxy/src/main/java/com/facebook/fbui/textlayoutbuilder/proxy for details.
+-dontwarn android.text.StaticLayout
+
# okhttp
-keepattributes Signature
diff --git a/android/keystores/BUCK b/android/keystores/BUCK
index 15da20e6b..88e4c31b2 100644
--- a/android/keystores/BUCK
+++ b/android/keystores/BUCK
@@ -1,8 +1,8 @@
keystore(
- name = 'debug',
- store = 'debug.keystore',
- properties = 'debug.keystore.properties',
- visibility = [
- 'PUBLIC',
- ],
+ name = "debug",
+ properties = "debug.keystore.properties",
+ store = "debug.keystore",
+ visibility = [
+ "PUBLIC",
+ ],
)
diff --git a/flow-typed/npm/lodash_v4.x.x.js b/flow-typed/npm/lodash_v4.x.x.js
index 0a7ce632f..9170faa72 100644
--- a/flow-typed/npm/lodash_v4.x.x.js
+++ b/flow-typed/npm/lodash_v4.x.x.js
@@ -1,70 +1,138 @@
-// flow-typed signature: 350011086a8f7f4dfc6c85c33627094c
-// flow-typed version: 30e72b3fd6/lodash_v4.x.x/flow_>=v0.47.x <=v0.54.x
+// flow-typed signature: 554384bc1c2235537d0c15bf2acefe99
+// flow-typed version: c5a8c20937/lodash_v4.x.x/flow_>=v0.55.x
declare module "lodash" {
- declare type __CurriedFunction1 =
- & ((...r: [AA]) => R)
- declare type CurriedFunction1 = __CurriedFunction1
+ declare type __CurriedFunction1 = (...r: [AA]) => R;
+ declare type CurriedFunction1 = __CurriedFunction1;
- declare type __CurriedFunction2 =
- & ((...r: [AA]) => CurriedFunction1)
- & ((...r: [AA, BB]) => R)
- declare type CurriedFunction2 = __CurriedFunction2
+ declare type __CurriedFunction2 = ((
+ ...r: [AA]
+ ) => CurriedFunction1) &
+ ((...r: [AA, BB]) => R);
+ declare type CurriedFunction2 = __CurriedFunction2;
- declare type __CurriedFunction3 =
- & ((...r: [AA]) => CurriedFunction2)
- & ((...r: [AA, BB]) => CurriedFunction1)
- & ((...r: [AA, BB, CC]) => R)
- declare type CurriedFunction3 = __CurriedFunction3
+ declare type __CurriedFunction3 = ((
+ ...r: [AA]
+ ) => CurriedFunction2) &
+ ((...r: [AA, BB]) => CurriedFunction1) &
+ ((...r: [AA, BB, CC]) => R);
+ declare type CurriedFunction3 = __CurriedFunction3<
+ A,
+ B,
+ C,
+ R,
+ *,
+ *,
+ *
+ >;
- declare type __CurriedFunction4 =
- & ((...r: [AA]) => CurriedFunction3)
- & ((...r: [AA, BB]) => CurriedFunction2)
- & ((...r: [AA, BB, CC]) => CurriedFunction1)
- & ((...r: [AA, BB, CC, DD]) => R)
- declare type CurriedFunction4 = __CurriedFunction4
+ declare type __CurriedFunction4<
+ A,
+ B,
+ C,
+ D,
+ R,
+ AA: A,
+ BB: B,
+ CC: C,
+ DD: D
+ > = ((...r: [AA]) => CurriedFunction3) &
+ ((...r: [AA, BB]) => CurriedFunction2) &
+ ((...r: [AA, BB, CC]) => CurriedFunction1) &
+ ((...r: [AA, BB, CC, DD]) => R);
+ declare type CurriedFunction4 = __CurriedFunction4<
+ A,
+ B,
+ C,
+ D,
+ R,
+ *,
+ *,
+ *,
+ *
+ >;
- declare type __CurriedFunction5 =
- & ((...r: [AA]) => CurriedFunction4)
- & ((...r: [AA, BB]) => CurriedFunction3)
- & ((...r: [AA, BB, CC]) => CurriedFunction2)
- & ((...r: [AA, BB, CC, DD]) => CurriedFunction1)
- & ((...r: [AA, BB, CC, DD, EE]) => R)
- declare type CurriedFunction5 = __CurriedFunction5
+ declare type __CurriedFunction5<
+ A,
+ B,
+ C,
+ D,
+ E,
+ R,
+ AA: A,
+ BB: B,
+ CC: C,
+ DD: D,
+ EE: E
+ > = ((...r: [AA]) => CurriedFunction4) &
+ ((...r: [AA, BB]) => CurriedFunction3) &
+ ((...r: [AA, BB, CC]) => CurriedFunction2) &
+ ((...r: [AA, BB, CC, DD]) => CurriedFunction1) &
+ ((...r: [AA, BB, CC, DD, EE]) => R);
+ declare type CurriedFunction5 = __CurriedFunction5<
+ A,
+ B,
+ C,
+ D,
+ E,
+ R,
+ *,
+ *,
+ *,
+ *,
+ *
+ >;
- declare type __CurriedFunction6 =
- & ((...r: [AA]) => CurriedFunction5)
- & ((...r: [AA, BB]) => CurriedFunction4)
- & ((...r: [AA, BB, CC]) => CurriedFunction3)
- & ((...r: [AA, BB, CC, DD]) => CurriedFunction2)
- & ((...r: [AA, BB, CC, DD, EE]) => CurriedFunction1)
- & ((...r: [AA, BB, CC, DD, EE, FF]) => R)
- declare type CurriedFunction6 = __CurriedFunction6
+ declare type __CurriedFunction6<
+ A,
+ B,
+ C,
+ D,
+ E,
+ F,
+ R,
+ AA: A,
+ BB: B,
+ CC: C,
+ DD: D,
+ EE: E,
+ FF: F
+ > = ((...r: [AA]) => CurriedFunction5) &
+ ((...r: [AA, BB]) => CurriedFunction4) &
+ ((...r: [AA, BB, CC]) => CurriedFunction3) &
+ ((...r: [AA, BB, CC, DD]) => CurriedFunction2) &
+ ((...r: [AA, BB, CC, DD, EE]) => CurriedFunction1) &
+ ((...r: [AA, BB, CC, DD, EE, FF]) => R);
+ declare type CurriedFunction6 = __CurriedFunction6<
+ A,
+ B,
+ C,
+ D,
+ E,
+ F,
+ R,
+ *,
+ *,
+ *,
+ *,
+ *,
+ *
+ >;
- declare type Curry =
- & (((...r: [A]) => R) => CurriedFunction1)
- & (((...r: [A, B]) => R) => CurriedFunction2)
- & (((...r: [A, B, C]) => R) => CurriedFunction3)
- & (((...r: [A, B, C, D]) => R) => CurriedFunction4)
- & (((...r: [A, B, C, D, E]) => R) => CurriedFunction5)
- & (((...r: [A, B, C, D, E, F]) => R) => CurriedFunction6)
-
- declare type UnaryFn = (a: A) => R;
-
- declare type Flow = ((ab: UnaryFn, bc: UnaryFn, cd: UnaryFn, de: UnaryFn, ef: UnaryFn, fg: UnaryFn, ...rest: Array) => UnaryFn)
- & ((ab: UnaryFn, bc: UnaryFn, cd: UnaryFn, de: UnaryFn, ef: UnaryFn, ...rest: Array) => UnaryFn)
- & ((ab: UnaryFn, bc: UnaryFn, cd: UnaryFn, de: UnaryFn, ...rest: Array) => UnaryFn)
- & ((ab: UnaryFn, bc: UnaryFn, cd: UnaryFn, ...rest: Array) => UnaryFn)
- & ((ab: UnaryFn, bc: UnaryFn, ...rest: Array) => UnaryFn)
- & ((ab: UnaryFn, ...rest: Array) => UnaryFn)
-
-declare type FlowRight = & ((fg: UnaryFn, ef: UnaryFn, de: UnaryFn, cd: UnaryFn, bc: UnaryFn, ab: UnaryFn, ...rest: Array) => UnaryFn)
- & ((ef: UnaryFn, de: UnaryFn, cd: UnaryFn, bc: UnaryFn, ab: UnaryFn, ...rest: Array) => UnaryFn)
- & ((de: UnaryFn, cd: UnaryFn, bc: UnaryFn, ab: UnaryFn, ...rest: Array) => UnaryFn)
- & ((cd: UnaryFn, bc: UnaryFn, ab: UnaryFn, ...rest: Array) => UnaryFn)
- & ((bc: UnaryFn, ab: UnaryFn, ...rest: Array) => UnaryFn)
- & ((ab: UnaryFn, ...rest: Array) => UnaryFn)
+ declare type Curry = (((...r: [A]) => R) => CurriedFunction1) &
+ (((...r: [A, B]) => R) => CurriedFunction2) &
+ (((...r: [A, B, C]) => R) => CurriedFunction3) &
+ ((
+ (...r: [A, B, C, D]) => R
+ ) => CurriedFunction4) &
+ ((
+ (...r: [A, B, C, D, E]) => R
+ ) => CurriedFunction5) &
+ ((
+ (...r: [A, B, C, D, E, F]) => R
+ ) => CurriedFunction6);
+ declare type UnaryFn = (a: A) => R;
declare type TemplateSettings = {
escape?: RegExp,
@@ -140,361 +208,364 @@ declare type FlowRight = & ((fg: UnaryFn, ef: UnaryFn,
declare class Lodash {
// Array
- chunk(array: ?Array, size?: number): Array>,
- compact(array: Array): Array,
- concat(base: Array, ...elements: Array): Array,
- difference(array: ?Array, values?: Array): Array,
+ chunk(array: ?Array, size?: number): Array>;
+ compact(array: Array): Array;
+ concat(base: Array, ...elements: Array): Array;
+ difference(array: ?Array, values?: Array): Array;
differenceBy(
array: ?Array,
values: Array,
iteratee: ValueOnlyIteratee
- ): T[],
- differenceWith(array: T[], values: T[], comparator?: Comparator): T[],
- drop(array: ?Array, n?: number): Array,
- dropRight(array: ?Array, n?: number): Array,
- dropRightWhile(array: ?Array, predicate?: Predicate): Array,
- dropWhile(array: ?Array, predicate?: Predicate): Array,
+ ): T[];
+ differenceWith(array: T[], values: T[], comparator?: Comparator): T[];
+ drop(array: ?Array, n?: number): Array;
+ dropRight(array: ?Array, n?: number): Array;
+ dropRightWhile(array: ?Array, predicate?: Predicate): Array;
+ dropWhile(array: ?Array, predicate?: Predicate): Array;
fill(
array: ?Array,
value: U,
start?: number,
end?: number
- ): Array,
+ ): Array;
findIndex(
- array: ?Array,
+ array: ?$ReadOnlyArray,
predicate?: Predicate,
fromIndex?: number
- ): number,
+ ): number;
findLastIndex(
- array: ?Array,
+ array: ?$ReadOnlyArray,
predicate?: Predicate,
fromIndex?: number
- ): number,
+ ): number;
// alias of _.head
- first(array: ?Array): T,
- flatten(array: Array | X>): Array,
- flattenDeep(array: any[]): Array,
- flattenDepth(array: any[], depth?: number): any[],
- fromPairs(pairs: Array): Object,
- head(array: ?Array): T,
- indexOf(array: ?Array, value: T, fromIndex?: number): number,
- initial(array: ?Array): Array,
- intersection(...arrays: Array>): Array,
+ first(array: ?Array): T;
+ flatten(array: Array | X>): Array;
+ flattenDeep(array: any[]): Array;
+ flattenDepth(array: any[], depth?: number): any[];
+ fromPairs(pairs: Array<[A, B]>): { [key: A]: B };
+ head(array: ?Array): T;
+ indexOf(array: ?Array, value: T, fromIndex?: number): number;
+ initial(array: ?Array): Array;
+ intersection(...arrays: Array>): Array;
//Workaround until (...parameter: T, parameter2: U) works
- intersectionBy(a1: Array, iteratee?: ValueOnlyIteratee): Array,
+ intersectionBy(a1: Array, iteratee?: ValueOnlyIteratee): Array;
intersectionBy(
a1: Array,
a2: Array,
iteratee?: ValueOnlyIteratee
- ): Array,
+ ): Array;
intersectionBy(
a1: Array,
a2: Array,
a3: Array,
iteratee?: ValueOnlyIteratee
- ): Array,
+ ): Array;
intersectionBy(
a1: Array,
a2: Array,
a3: Array,
a4: Array,
iteratee?: ValueOnlyIteratee
- ): Array,
+ ): Array;
//Workaround until (...parameter: T, parameter2: U) works
- intersectionWith(a1: Array, comparator: Comparator): Array,
+ intersectionWith(a1: Array, comparator: Comparator): Array;
intersectionWith(
a1: Array,
a2: Array