Skip to content

Commit 88fcfaa

Browse files
committed
upgrade example to RN-38
1 parent 39f0cda commit 88fcfaa

File tree

15 files changed

+134
-133
lines changed

15 files changed

+134
-133
lines changed

example/.flowconfig

Lines changed: 26 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,58 @@
11
[ignore]
22

33
# We fork some components by platform.
4-
.*/*.web.js
5-
.*/*.android.js
4+
.*/*[.]android.js
65

7-
# Some modules have their own node_modules with overlap
8-
.*/node_modules/node-haste/.*
6+
# Ignore templates with `@flow` in header
7+
.*/local-cli/generator.*
98

10-
# Ugh
11-
.*/node_modules/babel.*
12-
.*/node_modules/babylon.*
13-
.*/node_modules/invariant.*
9+
# Ignore malformed json
10+
.*/node_modules/y18n/test/.*\.json
1411

15-
# Ignore react and fbjs where there are overlaps, but don't ignore
16-
# anything that react-native relies on
17-
.*/node_modules/fbjs/lib/Map.js
18-
.*/node_modules/fbjs/lib/fetch.js
19-
.*/node_modules/fbjs/lib/ExecutionEnvironment.js
20-
.*/node_modules/fbjs/lib/ErrorUtils.js
12+
# Ignore the website subdir
13+
<PROJECT_ROOT>/website/.*
2114

22-
# Flow has a built-in definition for the 'react' module which we prefer to use
23-
# over the currently-untyped source
24-
.*/node_modules/react/react.js
25-
.*/node_modules/react/lib/React.js
26-
.*/node_modules/react/lib/ReactDOM.js
15+
# Ignore BUCK generated dirs
16+
<PROJECT_ROOT>/\.buckd/
2717

28-
.*/__mocks__/.*
29-
.*/__tests__/.*
18+
# Ignore unexpected extra @providesModule
19+
.*/node_modules/commoner/test/source/widget/share.js
3020

31-
.*/commoner/test/source/widget/share.js
32-
33-
# Ignore commoner tests
34-
.*/node_modules/commoner/test/.*
35-
36-
# See https://github.com/facebook/flow/issues/442
37-
.*/react-tools/node_modules/commoner/lib/reader.js
38-
39-
# Ignore jest
40-
.*/node_modules/jest-cli/.*
41-
42-
# Ignore Website
43-
.*/website/.*
21+
# Ignore duplicate module providers
22+
# For RN Apps installed via npm, "Libraries" folder is inside node_modules/react-native but in the source repo it is in the root
23+
.*/Libraries/react-native/React.js
24+
.*/Libraries/react-native/ReactNative.js
25+
.*/node_modules/jest-runtime/build/__tests__/.*
4426

4527
[include]
4628

4729
[libs]
4830
node_modules/react-native/Libraries/react-native/react-native-interface.js
31+
node_modules/react-native/flow
32+
flow/
4933

5034
[options]
5135
module.system=haste
5236

5337
esproposal.class_static_fields=enable
5438
esproposal.class_instance_fields=enable
5539

40+
experimental.strict_type_args=true
41+
5642
munge_underscores=true
5743

5844
module.name_mapper='^image![a-zA-Z0-9$_-]+$' -> 'GlobalImageStub'
59-
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\)$' -> 'RelativeImageStub'
45+
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\)$' -> 'RelativeImageStub'
6046

6147
suppress_type=$FlowIssue
6248
suppress_type=$FlowFixMe
6349
suppress_type=$FixMe
6450

65-
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(2[0-1]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
66-
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(2[0-1]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+
51+
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(3[0-3]\\|[1-2][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
52+
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(3[0-3]\\|1[0-9]\\|[1-2][0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+
6753
suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
6854

55+
unsafe.enable_getters_and_setters=true
56+
6957
[version]
70-
0.21.0
58+
^0.33.0

example/.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ project.xcworkspace
2424

2525
# Android/IJ
2626
#
27+
*.iml
2728
.idea
2829
.gradle
2930
local.properties
@@ -32,3 +33,9 @@ local.properties
3233
#
3334
node_modules/
3435
npm-debug.log
36+
37+
# BUCK
38+
buck-out/
39+
\.buckd/
40+
android/app/libs
41+
android/keystores/debug.keystore

example/android/app/BUCK

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import re
55
# - install Buck
66
# - `npm start` - to start the packager
77
# - `cd android`
8-
# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US`
8+
# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"`
99
# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck
1010
# - `buck install -r android/app` - compile, install and run application
1111
#

example/android/app/build.gradle

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,13 @@ import com.android.build.OutputFile
5555
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
5656
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
5757
* // for example, you might want to remove it from here.
58-
* inputExcludes: ["android/**", "ios/**"]
58+
* inputExcludes: ["android/**", "ios/**"],
59+
*
60+
* // override which node gets called and with what additional arguments
61+
* nodeExecutableAndArgs: ["node"]
62+
*
63+
* // supply additional arguments to the packager
64+
* extraPackagerArgs: []
5965
* ]
6066
*/
6167

@@ -128,6 +134,6 @@ dependencies {
128134
// Run this once to be able to run the application with BUCK
129135
// puts all compile dependencies into folder libs for BUCK to use
130136
task copyDownloadableDepsToLibs(type: Copy) {
131-
from configurations.compile
132-
into 'libs'
137+
from configurations.compile
138+
into 'libs'
133139
}

example/android/app/proguard-rules.pro

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,14 @@
2626
# See http://sourceforge.net/p/proguard/bugs/466/
2727
-keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip
2828
-keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters
29+
-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
2930

3031
# Do not strip any method/class that is annotated with @DoNotStrip
3132
-keep @com.facebook.proguard.annotations.DoNotStrip class *
33+
-keep @com.facebook.common.internal.DoNotStrip class *
3234
-keepclassmembers class * {
3335
@com.facebook.proguard.annotations.DoNotStrip *;
36+
@com.facebook.common.internal.DoNotStrip *;
3437
}
3538

3639
-keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * {
@@ -51,9 +54,9 @@
5154

5255
-keepattributes Signature
5356
-keepattributes *Annotation*
54-
-keep class com.squareup.okhttp.** { *; }
55-
-keep interface com.squareup.okhttp.** { *; }
56-
-dontwarn com.squareup.okhttp.**
57+
-keep class okhttp3.** { *; }
58+
-keep interface okhttp3.** { *; }
59+
-dontwarn okhttp3.**
5760

5861
# okio
5962

example/android/app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<uses-permission android:name="android.permission.INTERNET" />
55

66
<application
7+
android:name=".MainApplication"
78
android:allowBackup="true"
89
android:label="@string/app_name"
910
android:icon="@mipmap/ic_launcher"
Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
package com.example;
22

33
import com.facebook.react.ReactActivity;
4-
import com.facebook.react.ReactPackage;
5-
import com.facebook.react.shell.MainReactPackage;
6-
7-
import java.util.Arrays;
8-
import java.util.List;
94

105
public class MainActivity extends ReactActivity {
116

@@ -17,24 +12,4 @@ public class MainActivity extends ReactActivity {
1712
protected String getMainComponentName() {
1813
return "example";
1914
}
20-
21-
/**
22-
* Returns whether dev mode should be enabled.
23-
* This enables e.g. the dev menu.
24-
*/
25-
@Override
26-
protected boolean getUseDeveloperSupport() {
27-
return BuildConfig.DEBUG;
28-
}
29-
30-
/**
31-
* A list of packages used by the app. If the app uses additional views
32-
* or modules besides the default ones, add more packages here.
33-
*/
34-
@Override
35-
protected List<ReactPackage> getPackages() {
36-
return Arrays.<ReactPackage>asList(
37-
new MainReactPackage()
38-
);
39-
}
4015
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.example;
2+
3+
import android.app.Application;
4+
import android.util.Log;
5+
6+
import com.facebook.react.ReactApplication;
7+
import com.facebook.react.ReactInstanceManager;
8+
import com.facebook.react.ReactNativeHost;
9+
import com.facebook.react.ReactPackage;
10+
import com.facebook.react.shell.MainReactPackage;
11+
12+
import java.util.Arrays;
13+
import java.util.List;
14+
15+
public class MainApplication extends Application implements ReactApplication {
16+
17+
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
18+
@Override
19+
protected boolean getUseDeveloperSupport() {
20+
return BuildConfig.DEBUG;
21+
}
22+
23+
@Override
24+
protected List<ReactPackage> getPackages() {
25+
return Arrays.<ReactPackage>asList(
26+
new MainReactPackage()
27+
);
28+
}
29+
};
30+
31+
@Override
32+
public ReactNativeHost getReactNativeHost() {
33+
return mReactNativeHost;
34+
}
35+
}

example/android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ allprojects {
1818
jcenter()
1919
maven {
2020
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
21-
url "$projectDir/../../node_modules/react-native/android"
21+
url "$rootDir/../node_modules/react-native/android"
2222
}
2323
}
2424
}

example/index.android.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
* https://github.com/facebook/react-native
44
*/
55

6-
import React, {
6+
import React, {Component} from 'react';
7+
8+
import {
79
AppRegistry,
8-
Component,
910
StyleSheet,
1011
Text,
1112
View

0 commit comments

Comments
 (0)