Compare commits

..
22 Commits
Author SHA1 Message Date
Emin Khateeb e79a558d9d Merge pull request #78 from react-native-community/fix/global-error
Fix issue with global.HermesIternal
2019-09-27 08:15:57 +02:00
Radek Czemerys 66b6b39976 chore: fix typo 2019-09-26 13:53:58 +02:00
Radek Czemerys 7ddce71e49 Fix issue with global.HermesIternal
Fixes #71
2019-09-26 13:47:29 +02:00
Emin Khateeb da00aff48c Merge pull request #77 from react-native-community/rn60-usage
Add RN 0.60 usage to readme
2019-09-26 13:06:15 +02:00
Radek Czemerys f65950c30b Remove version from init command 2019-09-26 12:56:15 +02:00
Radek Czemerys 93f8d1fdd1 Add RN 0.60 usage to readme 2019-09-26 10:58:47 +02:00
Radek Czemerys 8269288eff Merge pull request #76 from react-native-community/rn-0.61
Upgrade to RN 0.61.1
2019-09-26 10:13:13 +02:00
Emin Khateeb 5188e833f7 matched typing definition versions to libraries versions 2019-09-26 07:46:21 +02:00
Emin Khateeb 59890d9356 added changes from 0.61.1 2019-09-25 13:28:47 +02:00
Emin Khateeb 00e6dc4976 upgraded dependencies 2019-09-25 10:54:47 +02:00
Emin Khateeb 78c616b12c added latest template 2019-09-25 10:52:44 +02:00
Radek Czemerys 557e791f30 Merge pull request #75 from react-native-community/readme-cli-clarification
added further notes on the legacy CLI
2019-09-25 10:50:44 +02:00
Emin Khateeb 21d749ea5a added further notes on the legacy CLI 2019-09-25 10:30:23 +02:00
Emin Khateeb f6a43f79e3 Merge pull request #65 from mrbrentkelly/master
README - Adding note on uninstalling react-native-cli
2019-09-13 20:22:27 +02:00
Emin Khateeb 7a67df3553 Merge pull request #67 from react-native-community/fix-wrong-url
fixed wrong credit url
2019-09-13 20:22:01 +02:00
Emin Khateeb bf73361250 fixed wrong credit url 2019-09-13 20:01:48 +02:00
Emin Khateeb 67e68eac5d Merge pull request #66 from react-native-community/upgrade-to-rn0.60.5
Updated template to RN 0.60.5
2019-09-13 19:44:23 +02:00
Emin Khateeb 75c713815e updated template to match latest rn version 2019-09-13 15:54:29 +02:00
Brent Kelly 61320b5a1f 👌 addressing CR comments 2019-09-13 14:38:35 +01:00
Brent Kelly 778ba9a17e 📝 Updating README with note on uninstalling react-native-cli 2019-09-13 12:13:12 +01:00
Emin Khateeb 104470da8c Merge pull request #63 from react-native-community/revert-62-master
Revert "fix(readme): init script"
2019-09-11 22:18:32 +02:00
Radek Czemerys 7a1a1857da Revert "fix(readme): init script" 2019-09-11 22:08:42 +02:00
14 changed files with 121 additions and 130 deletions

No files matched your search

+13 -2
View File
@@ -25,12 +25,23 @@
## :arrow_forward: Usage
### React Native >= 0.60
> `react-native@0.61.0` or higher
```sh
npx react-native init MyApp --template typescript
npx react-native init MyApp --template react-native-template-typescript
```
> `react-native@0.60.x`
```sh
npx react-native init MyApp --template react-native-template-typescript@6.2.0
```
### Note on the legacy CLI
There seems to be quite some confusion about the legacy CLI. This template only works with the new CLI. Make sure you have uninstalled the legacy `react-native-cli` first (`npm uninstall -g react-native-cli`), for the above command to work. If you wish to not use `npx`, you can also install the new CLI globally (`npm i -g @react-native-community/cli` or `yarn global add @react-native-community/cli`).
Further information can be found here: https://github.com/react-native-community/cli#about
## :computer: Contributing
Contributions are very welcome. Please check out the [contributing document](CONTRIBUTING.md).
-60
View File
@@ -1,60 +0,0 @@
# OSX
#
.DS_Store
# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
project.xcworkspace
# Android/IntelliJ
#
build/
.idea
.gradle
local.properties
*.iml
# Visual Studio Code
#
.vscode/
# node.js
#
node_modules/
npm-debug.log
yarn-error.log
# BUCK
buck-out/
\.buckd/
*.keystore
# 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://docs.fastlane.tools/best-practices/source-control/
*/fastlane/report.xml
*/fastlane/Preview.html
*/fastlane/screenshots
# Bundle artifact
*.jsbundle
+6 -5
View File
@@ -3,12 +3,12 @@
* https://github.com/facebook/react-native
*
* Generated with the TypeScript template
* https://github.com/emin93/react-native-template-typescript
* https://github.com/react-native-community/react-native-template-typescript
*
* @format
*/
import React, {Fragment} from 'react';
import React from 'react';
import {
SafeAreaView,
StyleSheet,
@@ -27,15 +27,16 @@ import {
} from 'react-native/Libraries/NewAppScreen';
const App = () => {
const usingHermes = typeof HermesInternal === 'object' && HermesInternal !== null;
return (
<Fragment>
<>
<StatusBar barStyle="dark-content" />
<SafeAreaView>
<ScrollView
contentInsetAdjustmentBehavior="automatic"
style={styles.scrollView}>
<Header />
{global.HermesInternal == null ? null : (
{!usingHermes ? null : (
<View style={styles.engine}>
<Text style={styles.footer}>Engine: Hermes</Text>
</View>
@@ -70,7 +71,7 @@ const App = () => {
</View>
</ScrollView>
</SafeAreaView>
</Fragment>
</>
);
};
+5
View File
@@ -30,6 +30,10 @@ build/
local.properties
*.iml
# Visual Studio Code
#
.vscode/
# node.js
#
node_modules/
@@ -40,6 +44,7 @@ yarn-error.log
buck-out/
\.buckd/
*.keystore
!debug.keystore
# fastlane
#
+6
View File
@@ -0,0 +1,6 @@
module.exports = {
bracketSpacing: false,
jsxBracketSameLine: true,
singleQuote: true,
trailingComma: 'all',
};
+4 -13
View File
@@ -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 {
@@ -192,11 +183,11 @@ dependencies {
implementation "com.facebook.react:react-native:+" // From node_modules
if (enableHermes) {
def hermesPath = "../../node_modules/hermesvm/android/";
debugImplementation files(hermesPath + "hermes-debug.aar")
releaseImplementation files(hermesPath + "hermes-release.aar")
def hermesPath = "../../node_modules/hermes-engine/android/";
debugImplementation files(hermesPath + "hermes-debug.aar")
releaseImplementation files(hermesPath + "hermes-release.aar")
} else {
implementation jscFlavor
implementation jscFlavor
}
}
View File
File mode changed.
@@ -4,12 +4,12 @@ import com.facebook.react.ReactActivity;
public class MainActivity extends ReactActivity {
/**
* Returns the name of the main component registered from JavaScript.
* This is used to schedule rendering of the component.
*/
@Override
protected String getMainComponentName() {
return "HelloWorld";
}
/**
* Returns the name of the main component registered from JavaScript. This is used to schedule
* rendering of the component.
*/
@Override
protected String getMainComponentName() {
return "HelloWorld";
}
}
@@ -1,40 +1,38 @@
package com.helloworld;
import android.app.Application;
import android.util.Log;
import android.content.Context;
import com.facebook.react.PackageList;
import com.facebook.hermes.reactexecutor.HermesExecutorFactory;
import com.facebook.react.bridge.JavaScriptExecutorFactory;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.soloader.SoLoader;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
private final ReactNativeHost mReactNativeHost =
new ReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage());
return packages;
}
@Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage());
return packages;
}
@Override
protected String getJSMainModuleName() {
return "index";
}
};
@Override
protected String getJSMainModuleName() {
return "index";
}
};
@Override
public ReactNativeHost getReactNativeHost() {
@@ -45,5 +43,32 @@ public class MainApplication extends Application implements ReactApplication {
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
initializeFlipper(this); // Remove this line if you don't want Flipper enabled
}
/**
* Loads Flipper in React Native templates.
*
* @param context
*/
private static void initializeFlipper(Context context) {
if (BuildConfig.DEBUG) {
try {
/*
We use reflection here to pick up the class that initializes Flipper,
since Flipper library is not available in release mode
*/
Class<?> aClass = Class.forName("com.facebook.flipper.ReactNativeFlipper");
aClass.getMethod("initializeFlipper", Context.class).invoke(null, context);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
}
+2 -2
View File
@@ -6,14 +6,13 @@ buildscript {
minSdkVersion = 16
compileSdkVersion = 28
targetSdkVersion = 28
supportLibVersion = "28.0.0"
}
repositories {
google()
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:3.4.1")
classpath("com.android.tools.build:gradle:3.4.2")
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
@@ -34,5 +33,6 @@ allprojects {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
@@ -12,7 +12,7 @@
#import <React/RCTRootView.h>
#define TIMEOUT_SECONDS 600
#define TEXT_TO_LOOK_FOR @"Welcome to React Native!"
#define TEXT_TO_LOOK_FOR @"Welcome to React"
@interface HelloWorldTests : XCTestCase
@@ -40,11 +40,13 @@
BOOL foundElement = NO;
__block NSString *redboxError = nil;
#ifdef DEBUG
RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {
if (level >= RCTLogLevelError) {
redboxError = message;
}
});
#endif
while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) {
[[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
@@ -57,8 +59,10 @@
return NO;
}];
}
#ifdef DEBUG
RCTSetLogFunction(RCTDefaultLogFunction);
#endif
XCTAssertNil(redboxError, @"RedBox error: %@", redboxError);
XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);
+11 -5
View File
@@ -3,10 +3,14 @@ require_relative '../node_modules/@react-native-community/cli-platform-ios/nativ
target 'HelloWorld' do
# Pods for HelloWorld
pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
pod 'React', :path => '../node_modules/react-native/'
pod 'React-Core', :path => '../node_modules/react-native/React'
pod 'React-DevSupport', :path => '../node_modules/react-native/React'
pod 'React-fishhook', :path => '../node_modules/react-native/Libraries/fishhook'
pod 'React-Core', :path => '../node_modules/react-native/'
pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
@@ -16,13 +20,15 @@ target 'HelloWorld' do
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket'
pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
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 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
+11 -9
View File
@@ -3,26 +3,28 @@
"version": "0.0.1",
"private": true,
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"start": "react-native start",
"test": "jest"
},
"dependencies": {
"react": "16.8.6",
"react-native": "0.60.3"
"react": "16.8.1",
"react-native": "0.61.1"
},
"devDependencies": {
"@babel/core": "^7.5.0",
"@babel/runtime": "^7.5.0",
"@react-native-community/eslint-config": "^0.0.3",
"@types/jest": "^24.0.15",
"@types/react": "^16.8.23",
"@types/react-native": "^0.60.1",
"@types/react-test-renderer": "^16.8.2",
"@types/jest": "^24.0.18",
"@types/react": "16.8.19",
"@types/react-native": "0.60.15",
"@types/react-test-renderer": "16.8.1",
"babel-jest": "^24.1.0",
"jest": "^24.1.0",
"metro-react-native-babel-preset": "^0.54.1",
"react-test-renderer": "16.8.6",
"typescript": "^3.5.3"
"metro-react-native-babel-preset": "^0.51.1",
"react-test-renderer": "16.8.1",
"typescript": "^3.6.3"
},
"jest": {
"preset": "react-native",