mirror of
https://github.com/status-im/react-native.git
synced 2025-01-12 18:44:25 +00:00
Get back 100% in sync with fb codebase
This commit is contained in:
parent
0044b3c2c3
commit
0d09f22dbf
@ -44,7 +44,7 @@
|
|||||||
* Load from pre-bundled file on disk. To re-generate the static bundle, `cd`
|
* Load from pre-bundled file on disk. To re-generate the static bundle, `cd`
|
||||||
* to your Xcode project folder in the terminal, and run
|
* to your Xcode project folder in the terminal, and run
|
||||||
*
|
*
|
||||||
* $ curl 'http://localhost:8081/Examples/Movies/MoviesApp.ios.includeRequire.runModule.bundle' -o main.jsbundle
|
* $ curl 'http://localhost:8081/Examples/Movies/MoviesApp.includeRequire.runModule.bundle' -o main.jsbundle
|
||||||
*
|
*
|
||||||
* then add the `main.jsbundle` file to your project and uncomment this line:
|
* then add the `main.jsbundle` file to your project and uncomment this line:
|
||||||
*/
|
*/
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
// Temp dummy Java file, shouldn't be exported to github, will be deleted.
|
@ -30,7 +30,6 @@ var ScrollViewSimpleExample = React.createClass({
|
|||||||
title: '<ScrollView>',
|
title: '<ScrollView>',
|
||||||
description: 'Component that enables scrolling through child components.'
|
description: 'Component that enables scrolling through child components.'
|
||||||
},
|
},
|
||||||
|
|
||||||
makeItems: function(nItems: number, styles): Array<any> {
|
makeItems: function(nItems: number, styles): Array<any> {
|
||||||
var items = [];
|
var items = [];
|
||||||
for (var i = 0; i < nItems; i++) {
|
for (var i = 0; i < nItems; i++) {
|
||||||
|
@ -1,15 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* The examples provided by Facebook are for non-commercial testing and
|
* Copyright 2004-present Facebook. All Rights Reserved.
|
||||||
* evaluation purposes only.
|
|
||||||
*
|
|
||||||
* Facebook reserves all rights not expressly granted.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL
|
|
||||||
* FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
|
||||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*/
|
*/
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
@ -23,7 +13,7 @@ var UIExplorerPage = require('UIExplorerPage');
|
|||||||
var SwitchAndroidExample = React.createClass({
|
var SwitchAndroidExample = React.createClass({
|
||||||
statics: {
|
statics: {
|
||||||
title: '<SwitchAndroid>',
|
title: '<SwitchAndroid>',
|
||||||
description: 'Standard Android two-state toggle component'
|
description: 'Standard Android two-state toggle component.'
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState : function() {
|
getInitialState : function() {
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
*
|
*
|
||||||
* @flow
|
* @flow
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var React = require('react-native');
|
var React = require('react-native');
|
||||||
@ -30,7 +31,7 @@ var ToastExample = React.createClass({
|
|||||||
|
|
||||||
statics: {
|
statics: {
|
||||||
title: 'Toast Example',
|
title: 'Toast Example',
|
||||||
description: 'Toast Example',
|
description: 'Example that demostrates the use of an Android Toast to provide feedback.',
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
|
@ -262,7 +262,8 @@ class FormUploader extends React.Component {
|
|||||||
|
|
||||||
exports.framework = 'React';
|
exports.framework = 'React';
|
||||||
exports.title = 'XMLHttpRequest';
|
exports.title = 'XMLHttpRequest';
|
||||||
exports.description = 'XMLHttpRequest';
|
exports.description = 'Example that demostrates upload and download requests ' +
|
||||||
|
'using XMLHttpRequest.';
|
||||||
exports.examples = [{
|
exports.examples = [{
|
||||||
title: 'File Download',
|
title: 'File Download',
|
||||||
render() {
|
render() {
|
||||||
|
@ -45,9 +45,6 @@ type Event = Object;
|
|||||||
* );
|
* );
|
||||||
* },
|
* },
|
||||||
* ```
|
* ```
|
||||||
* > **NOTE**: TouchableOpacity supports only one child
|
|
||||||
* >
|
|
||||||
* > If you wish to have to have several child components, wrap them in a View.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var TouchableOpacity = React.createClass({
|
var TouchableOpacity = React.createClass({
|
||||||
|
@ -183,7 +183,7 @@ var AsyncStorage = {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* multiSet and multiMerge take arrays of key-value array pairs that match
|
* multiSet and multiMerge take arrays of key-value array pairs that match
|
||||||
* the output of multiGet. Returns a `Promise` object.
|
* the output of multiGet, e.g. Returns a `Promise` object.
|
||||||
*
|
*
|
||||||
* multiSet([['k1', 'val1'], ['k2', 'val2']], cb);
|
* multiSet([['k1', 'val1'], ['k2', 'val2']], cb);
|
||||||
*/
|
*/
|
||||||
|
@ -45,7 +45,7 @@ var currentCentroidY = TouchHistoryMath.currentCentroidY;
|
|||||||
*
|
*
|
||||||
* ```
|
* ```
|
||||||
* componentWillMount: function() {
|
* componentWillMount: function() {
|
||||||
* this._panResponder = PanResponder.create({
|
* this._panGesture = PanResponder.create({
|
||||||
* // Ask to be the responder:
|
* // Ask to be the responder:
|
||||||
* onStartShouldSetPanResponder: (evt, gestureState) => true,
|
* onStartShouldSetPanResponder: (evt, gestureState) => true,
|
||||||
* onStartShouldSetPanResponderCapture: (evt, gestureState) => true,
|
* onStartShouldSetPanResponderCapture: (evt, gestureState) => true,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
Pod::Spec.new do |s|
|
Pod::Spec.new do |s|
|
||||||
s.name = "React"
|
s.name = "React"
|
||||||
s.version = "0.11.0-rc"
|
s.version = "0.8.0"
|
||||||
s.summary = "Build high quality mobile apps using React."
|
s.summary = "Build high quality mobile apps using React."
|
||||||
s.description = <<-DESC
|
s.description = <<-DESC
|
||||||
React Native apps are built using the React JS
|
React Native apps are built using the React JS
|
||||||
|
@ -1,246 +1 @@
|
|||||||
// Copyright 2015-present Facebook. All Rights Reserved.
|
// Temp dummy Gradle file, shouldn't be exported to github, will be deleted.
|
||||||
|
|
||||||
apply plugin: 'com.android.library'
|
|
||||||
apply plugin: 'maven'
|
|
||||||
|
|
||||||
apply plugin: 'de.undercouch.download'
|
|
||||||
|
|
||||||
import de.undercouch.gradle.tasks.download.Download
|
|
||||||
import org.apache.tools.ant.taskdefs.condition.Os
|
|
||||||
import org.apache.tools.ant.filters.ReplaceTokens
|
|
||||||
|
|
||||||
// We download various C++ open-source dependencies into downloads.
|
|
||||||
// We then copy both downloaded code and our custom makefiles and headers into third-party-ndk
|
|
||||||
// After that we build native code from src/main/jni with module path pointing at third-party-ndk
|
|
||||||
|
|
||||||
def downloadsDir = new File("$buildDir/downloads")
|
|
||||||
def thirdPartyNdkDir = new File("$buildDir/third-party-ndk")
|
|
||||||
|
|
||||||
task createNativeDepsDirectories {
|
|
||||||
downloadsDir.mkdirs()
|
|
||||||
thirdPartyNdkDir.mkdirs()
|
|
||||||
}
|
|
||||||
|
|
||||||
task downloadBoost(dependsOn: createNativeDepsDirectories, type: Download) {
|
|
||||||
// Use ZIP version as it's faster this way to selectively extract some parts of the archive
|
|
||||||
src 'https://downloads.sourceforge.net/project/boost/boost/1.57.0/boost_1_57_0.zip'
|
|
||||||
onlyIfNewer true
|
|
||||||
overwrite false
|
|
||||||
dest new File(downloadsDir, 'boost_1_57_0.zip')
|
|
||||||
}
|
|
||||||
|
|
||||||
task prepareBoost(dependsOn: downloadBoost, type: Copy) {
|
|
||||||
from zipTree(downloadBoost.dest)
|
|
||||||
from 'src/main/jni/third-party/boost/Android.mk'
|
|
||||||
include 'boost_1_57_0/boost/**/*.hpp', 'Android.mk'
|
|
||||||
into "$thirdPartyNdkDir/boost"
|
|
||||||
}
|
|
||||||
|
|
||||||
task downloadDoubleConversion(dependsOn: createNativeDepsDirectories, type: Download) {
|
|
||||||
src 'https://github.com/google/double-conversion/archive/v1.1.1.tar.gz'
|
|
||||||
onlyIfNewer true
|
|
||||||
overwrite false
|
|
||||||
dest new File(downloadsDir, 'double-conversion-1.1.1.tar.gz')
|
|
||||||
}
|
|
||||||
|
|
||||||
task prepareDoubleConversion(dependsOn: downloadDoubleConversion, type: Copy) {
|
|
||||||
from tarTree(downloadDoubleConversion.dest)
|
|
||||||
from 'src/main/jni/third-party/double-conversion/Android.mk'
|
|
||||||
include 'double-conversion-1.1.1/src/**/*', 'Android.mk'
|
|
||||||
filesMatching('*/src/**/*', {fname -> fname.path = "double-conversion/${fname.name}"})
|
|
||||||
includeEmptyDirs = false
|
|
||||||
into "$thirdPartyNdkDir/double-conversion"
|
|
||||||
}
|
|
||||||
|
|
||||||
task downloadFolly(dependsOn: createNativeDepsDirectories, type: Download) {
|
|
||||||
src 'https://github.com/facebook/folly/archive/v0.50.0.tar.gz'
|
|
||||||
onlyIfNewer true
|
|
||||||
overwrite false
|
|
||||||
dest new File(downloadsDir, 'folly-0.50.0.tar.gz');
|
|
||||||
}
|
|
||||||
|
|
||||||
task prepareFolly(dependsOn: downloadFolly, type: Copy) {
|
|
||||||
from tarTree(downloadFolly.dest)
|
|
||||||
from 'src/main/jni/third-party/folly/Android.mk'
|
|
||||||
include 'folly-0.50.0/folly/**/*', 'Android.mk'
|
|
||||||
eachFile {fname -> fname.path = (fname.path - "folly-0.50.0/")}
|
|
||||||
includeEmptyDirs = false
|
|
||||||
into "$thirdPartyNdkDir/folly"
|
|
||||||
}
|
|
||||||
|
|
||||||
task downloadGlog(dependsOn: createNativeDepsDirectories, type: Download) {
|
|
||||||
src 'https://github.com/google/glog/archive/v0.3.3.tar.gz'
|
|
||||||
onlyIfNewer true
|
|
||||||
overwrite false
|
|
||||||
dest new File(downloadsDir, 'glog-0.3.3.tar.gz')
|
|
||||||
}
|
|
||||||
|
|
||||||
// Prepare glog sources to be compiled, this task will perform steps that normally shoudl've been
|
|
||||||
// executed by automake. This way we can avoid dependencies on make/automake
|
|
||||||
task prepareGlog(dependsOn: downloadGlog, type: Copy) {
|
|
||||||
from tarTree(downloadGlog.dest)
|
|
||||||
from 'src/main/jni/third-party/glog/'
|
|
||||||
include 'glog-0.3.3/src/**/*', 'Android.mk', 'config.h'
|
|
||||||
includeEmptyDirs = false
|
|
||||||
filesMatching('**/*.h.in') {
|
|
||||||
filter(ReplaceTokens, tokens: [
|
|
||||||
ac_cv_have_unistd_h: '1',
|
|
||||||
ac_cv_have_stdint_h: '1',
|
|
||||||
ac_cv_have_systypes_h: '1',
|
|
||||||
ac_cv_have_inttypes_h: '1',
|
|
||||||
ac_cv_have_libgflags: '0',
|
|
||||||
ac_google_start_namespace: 'namespace google {',
|
|
||||||
ac_cv_have_uint16_t: '1',
|
|
||||||
ac_cv_have_u_int16_t: '1',
|
|
||||||
ac_cv_have___uint16: '0',
|
|
||||||
ac_google_end_namespace: '}',
|
|
||||||
ac_cv_have___builtin_expect: '1',
|
|
||||||
ac_google_namespace: 'google',
|
|
||||||
ac_cv___attribute___noinline: '__attribute__ ((noinline))',
|
|
||||||
ac_cv___attribute___noreturn: '__attribute__ ((noreturn))',
|
|
||||||
ac_cv___attribute___printf_4_5: '__attribute__((__format__ (__printf__, 4, 5)))'
|
|
||||||
])
|
|
||||||
it.path = (it.name - '.in')
|
|
||||||
}
|
|
||||||
into "$thirdPartyNdkDir/glog"
|
|
||||||
}
|
|
||||||
|
|
||||||
task downloadJSCHeaders(type: Download) {
|
|
||||||
def jscAPIBaseURL = 'https://svn.webkit.org/repository/webkit/!svn/bc/174650/trunk/Source/JavaScriptCore/API/'
|
|
||||||
def jscHeaderFiles = ['JSBase.h', 'JSContextRef.h', 'JSObjectRef.h', 'JSRetainPtr.h', 'JSStringRef.h', 'JSValueRef.h', 'WebKitAvailability.h']
|
|
||||||
def output = new File(downloadsDir, 'jsc')
|
|
||||||
output.mkdirs()
|
|
||||||
src(jscHeaderFiles.collect { headerName -> "$jscAPIBaseURL$headerName" })
|
|
||||||
onlyIfNewer true
|
|
||||||
overwrite false
|
|
||||||
dest output
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create Android.mk library module based on so files from mvn + include headers fetched from webkit.org
|
|
||||||
task prepareJSC(dependsOn: downloadJSCHeaders) << {
|
|
||||||
copy {
|
|
||||||
from zipTree(configurations.compile.fileCollection { dep -> dep.name == 'android-jsc' }.singleFile)
|
|
||||||
from {downloadJSCHeaders.dest}
|
|
||||||
from 'src/main/jni/third-party/jsc/Android.mk'
|
|
||||||
include 'jni/**/*.so', '*.h', 'Android.mk'
|
|
||||||
filesMatching('*.h', { fname -> fname.path = "JavaScriptCore/${fname.path}"})
|
|
||||||
into "$thirdPartyNdkDir/jsc";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def getNdkBuildName() {
|
|
||||||
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
|
|
||||||
return "ndk-build.cmd"
|
|
||||||
} else {
|
|
||||||
return "ndk-build"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def findNdkBuildFullPath() {
|
|
||||||
// we allow to provide full path to ndk-build tool
|
|
||||||
if (hasProperty('ndk.command')) {
|
|
||||||
return property('ndk.command')
|
|
||||||
}
|
|
||||||
// or just a path to the containing directory
|
|
||||||
if (hasProperty('ndk.path')) {
|
|
||||||
def ndkDir = property('ndk.path')
|
|
||||||
return new File(ndkDir, getNdkBuildName()).getAbsolutePath()
|
|
||||||
}
|
|
||||||
if (System.getenv('ANDROID_NDK') != null) {
|
|
||||||
def ndkDir = System.getenv('ANDROID_NDK')
|
|
||||||
return new File(ndkDir, getNdkBuildName()).getAbsolutePath()
|
|
||||||
}
|
|
||||||
def ndkDir = android.hasProperty('plugin') ? android.plugin.ndkFolder :
|
|
||||||
plugins.getPlugin('com.android.library').sdkHandler.getNdkFolder()
|
|
||||||
if (ndkDir) {
|
|
||||||
return new File(ndkDir, getNdkBuildName()).getAbsolutePath()
|
|
||||||
}
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
|
|
||||||
def getNdkBuildFullPath() {
|
|
||||||
def ndkBuildFullPath = findNdkBuildFullPath()
|
|
||||||
if (ndkBuildFullPath == null || !new File(ndkBuildFullPath).canExecute()) {
|
|
||||||
throw new GradleScriptException(
|
|
||||||
"ndk-build binary cannot be found, check if you've set " +
|
|
||||||
"\$ANDROID_NDK environment variable correctly or if ndk.dir is " +
|
|
||||||
"setup in local.properties",
|
|
||||||
null)
|
|
||||||
}
|
|
||||||
return ndkBuildFullPath
|
|
||||||
}
|
|
||||||
|
|
||||||
task buildReactNdkLib(dependsOn: [prepareJSC, prepareBoost, prepareDoubleConversion, prepareFolly, prepareGlog], type: Exec) {
|
|
||||||
inputs.file('src/main/jni/react')
|
|
||||||
outputs.dir("$buildDir/react-ndk/all")
|
|
||||||
commandLine getNdkBuildFullPath(),
|
|
||||||
'NDK_PROJECT_PATH=null',
|
|
||||||
"NDK_APPLICATION_MK=$projectDir/src/main/jni/Application.mk",
|
|
||||||
'NDK_OUT=' + temporaryDir,
|
|
||||||
"NDK_LIBS_OUT=$buildDir/react-ndk/all",
|
|
||||||
"THIRD_PARTY_NDK_DIR=$buildDir/third-party-ndk",
|
|
||||||
'-C', file('src/main/jni/react/jni').absolutePath,
|
|
||||||
'--jobs', Runtime.runtime.availableProcessors()
|
|
||||||
}
|
|
||||||
|
|
||||||
task cleanReactNdkLib(type: Exec) {
|
|
||||||
commandLine getNdkBuildFullPath(),
|
|
||||||
'-C', file('src/main/jni/react/jni').absolutePath,
|
|
||||||
'clean'
|
|
||||||
}
|
|
||||||
|
|
||||||
task packageReactNdkLibs(dependsOn: buildReactNdkLib, type: Copy) {
|
|
||||||
from "$buildDir/react-ndk/all"
|
|
||||||
exclude '**/libjsc.so'
|
|
||||||
into "$buildDir/react-ndk/exported"
|
|
||||||
}
|
|
||||||
|
|
||||||
android {
|
|
||||||
compileSdkVersion 22
|
|
||||||
buildToolsVersion "22.0.1"
|
|
||||||
|
|
||||||
defaultConfig {
|
|
||||||
minSdkVersion 16
|
|
||||||
targetSdkVersion 22
|
|
||||||
versionCode 1
|
|
||||||
versionName "1.0"
|
|
||||||
|
|
||||||
ndk {
|
|
||||||
moduleName "reactnativejni"
|
|
||||||
}
|
|
||||||
|
|
||||||
buildConfigField 'boolean', 'IS_INTERNAL_BUILD', 'false'
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceSets.main {
|
|
||||||
jni.srcDirs = []
|
|
||||||
jniLibs.srcDir "$buildDir/react-ndk/exported"
|
|
||||||
res.srcDirs = ['src/main/res/devsupport', 'src/main/res/shell']
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.withType(JavaCompile) {
|
|
||||||
compileTask -> compileTask.dependsOn packageReactNdkLibs
|
|
||||||
}
|
|
||||||
|
|
||||||
clean.dependsOn cleanReactNdkLib
|
|
||||||
|
|
||||||
lintOptions {
|
|
||||||
abortOnError false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
|
||||||
compile 'com.android.support:appcompat-v7:22.2.0'
|
|
||||||
compile 'com.facebook.fresco:fresco:0.6.1'
|
|
||||||
compile 'com.facebook.fresco:imagepipeline-okhttp:0.6.1'
|
|
||||||
compile 'com.fasterxml.jackson.core:jackson-core:2.2.3'
|
|
||||||
compile 'com.google.code.findbugs:jsr305:3.0.0'
|
|
||||||
compile 'com.squareup.okhttp:okhttp:2.4.0'
|
|
||||||
compile 'com.squareup.okhttp:okhttp-ws:2.4.0'
|
|
||||||
compile 'com.squareup.okio:okio:1.5.0'
|
|
||||||
compile 'org.webkit:android-jsc:r174650'
|
|
||||||
}
|
|
||||||
|
|
||||||
apply from: 'release.gradle'
|
|
||||||
|
|
1
ReactAndroid/settings.gradle
Normal file
1
ReactAndroid/settings.gradle
Normal file
@ -0,0 +1 @@
|
|||||||
|
// Temp dummy Gradle file, shouldn't be exported to github, will be deleted.
|
1
ReactAndroid/src/main/java/Dummy.java
Normal file
1
ReactAndroid/src/main/java/Dummy.java
Normal file
@ -0,0 +1 @@
|
|||||||
|
// Temp dummy Java file, shouldn't be exported to github, will be deleted.
|
@ -8,7 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
window.__DEV__ = true;
|
global.__DEV__ = true;
|
||||||
window.Env = {};
|
global.setImmediate = global.setImmediate || function(fn) {
|
||||||
|
return setTimeout(fn, 0);
|
||||||
require.requireActual('./setupEnvPolyfills');
|
};
|
||||||
|
17
jestSupport/preprocessor.js
Normal file
17
jestSupport/preprocessor.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2015-present, Facebook, Inc.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the BSD-style license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree. An additional grant
|
||||||
|
* of patent rights can be found in the PATENTS file in the same directory.
|
||||||
|
*/
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var transformer = require('../packager/transformer.js');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
process(src, file) {
|
||||||
|
return transformer.transform(src, file).code;
|
||||||
|
}
|
||||||
|
};
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "react-native",
|
"name": "react-native",
|
||||||
"version": "0.11.0-rc",
|
"version": "0.8.0",
|
||||||
"description": "A framework for building native apps using React",
|
"description": "A framework for building native apps using React",
|
||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
@ -19,8 +19,8 @@ namely the node module format. We want to even go further, and let you
|
|||||||
choose your own packager and asset pipeline or even integrate into
|
choose your own packager and asset pipeline or even integrate into
|
||||||
your existing infrastructure.
|
your existing infrastructure.
|
||||||
|
|
||||||
React Native users need not understand how the packager works.
|
React Native users need not to understand how the packager work,
|
||||||
However, this documentation might be useful for advanced users and
|
however, this documentation might be useful for advanced users and
|
||||||
people who want to fix bugs or add features to the packager (patches
|
people who want to fix bugs or add features to the packager (patches
|
||||||
welcome!).
|
welcome!).
|
||||||
|
|
||||||
|
@ -13,8 +13,7 @@ jest
|
|||||||
.dontMock('underscore')
|
.dontMock('underscore')
|
||||||
.dontMock('../../lib/ModuleTransport')
|
.dontMock('../../lib/ModuleTransport')
|
||||||
.setMock('uglify-js')
|
.setMock('uglify-js')
|
||||||
.dontMock('../')
|
.dontMock('../');
|
||||||
.setMock('chalk', { dim: function(s) { return s; } });
|
|
||||||
|
|
||||||
jest.mock('fs');
|
jest.mock('fs');
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user