ignore
This commit is contained in:
parent
e0d62f3945
commit
9eeddcab6e
@ -87,9 +87,13 @@ dependencies {
|
|||||||
transitive = false
|
transitive = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
implementation(project(':react-native-restart')) {
|
||||||
|
transitive = false
|
||||||
|
}
|
||||||
|
|
||||||
compile fileTree(dir: "libs", include: ["*.jar"])
|
compile fileTree(dir: "libs", include: ["*.jar"])
|
||||||
compile "com.google.android.gms:play-services-base:$firebaseVersion"
|
compile "com.google.android.gms:play-services-base:$firebaseVersion"
|
||||||
// compile "com.google.firebase:firebase-ads:$firebaseVersion"
|
compile "com.google.firebase:firebase-ads:$firebaseVersion"
|
||||||
compile "com.google.firebase:firebase-auth:$firebaseVersion"
|
compile "com.google.firebase:firebase-auth:$firebaseVersion"
|
||||||
compile "com.google.firebase:firebase-config:$firebaseVersion"
|
compile "com.google.firebase:firebase-config:$firebaseVersion"
|
||||||
compile "com.google.firebase:firebase-core:$firebaseVersion"
|
compile "com.google.firebase:firebase-core:$firebaseVersion"
|
||||||
|
@ -31,7 +31,7 @@ public class MainActivity extends ReactActivity {
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
// checkWindowPerms();
|
checkWindowPerms();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkWindowPerms() {
|
public void checkWindowPerms() {
|
||||||
|
@ -9,7 +9,8 @@ import com.facebook.react.shell.MainReactPackage;
|
|||||||
import com.facebook.soloader.SoLoader;
|
import com.facebook.soloader.SoLoader;
|
||||||
|
|
||||||
import io.invertase.firebase.RNFirebasePackage;
|
import io.invertase.firebase.RNFirebasePackage;
|
||||||
//import io.invertase.firebase.admob.RNFirebaseAdMobPackage;
|
import com.avishayil.rnrestart.ReactNativeRestartPackage;
|
||||||
|
import io.invertase.firebase.admob.RNFirebaseAdMobPackage;
|
||||||
import io.invertase.firebase.analytics.RNFirebaseAnalyticsPackage;
|
import io.invertase.firebase.analytics.RNFirebaseAnalyticsPackage;
|
||||||
import io.invertase.firebase.auth.RNFirebaseAuthPackage;
|
import io.invertase.firebase.auth.RNFirebaseAuthPackage;
|
||||||
import io.invertase.firebase.config.RNFirebaseRemoteConfigPackage;
|
import io.invertase.firebase.config.RNFirebaseRemoteConfigPackage;
|
||||||
@ -25,6 +26,7 @@ import io.invertase.firebase.notifications.RNFirebaseNotificationsPackage;
|
|||||||
import io.invertase.firebase.perf.RNFirebasePerformancePackage;
|
import io.invertase.firebase.perf.RNFirebasePerformancePackage;
|
||||||
import io.invertase.firebase.storage.RNFirebaseStoragePackage;
|
import io.invertase.firebase.storage.RNFirebaseStoragePackage;
|
||||||
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -39,8 +41,9 @@ public class MainApplication extends Application implements ReactApplication {
|
|||||||
protected List<ReactPackage> getPackages() {
|
protected List<ReactPackage> getPackages() {
|
||||||
return Arrays.<ReactPackage>asList(
|
return Arrays.<ReactPackage>asList(
|
||||||
new MainReactPackage(),
|
new MainReactPackage(),
|
||||||
|
new ReactNativeRestartPackage(),
|
||||||
new RNFirebasePackage(),
|
new RNFirebasePackage(),
|
||||||
// new RNFirebaseAdMobPackage(),
|
new RNFirebaseAdMobPackage(),
|
||||||
new RNFirebaseAnalyticsPackage(),
|
new RNFirebaseAnalyticsPackage(),
|
||||||
new RNFirebaseAuthPackage(),
|
new RNFirebaseAuthPackage(),
|
||||||
new RNFirebaseRemoteConfigPackage(),
|
new RNFirebaseRemoteConfigPackage(),
|
||||||
@ -67,6 +70,7 @@ public class MainApplication extends Application implements ReactApplication {
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
super.onCreate();
|
super.onCreate();
|
||||||
|
getReactNativeHost().getReactInstanceManager().getDevSupportManager().getDevSettings().setRemoteJSDebugEnabled(true);
|
||||||
SoLoader.init(this, /* native exopackage */ false);
|
SoLoader.init(this, /* native exopackage */ false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
rootProject.name = 'RNFTests'
|
rootProject.name = 'RNFTests'
|
||||||
|
|
||||||
include ':react-native-firebase'
|
include ':react-native-firebase'
|
||||||
project(':react-native-firebase').projectDir = new File(rootProject.projectDir, './../../android')
|
project(':react-native-firebase').projectDir = new File(rootProject.projectDir, './../../android')
|
||||||
|
|
||||||
|
include ':react-native-restart'
|
||||||
|
project(':react-native-restart').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-restart/android')
|
||||||
|
|
||||||
include ':app'
|
include ':app'
|
||||||
|
|
||||||
include ':detox'
|
include ':detox'
|
||||||
|
@ -4,26 +4,20 @@
|
|||||||
* @flow
|
* @flow
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React, { Component } from 'react';
|
// must import before all else
|
||||||
import rnModule, { AppRegistry, Text, View } from 'react-native';
|
import Bridge from './bridge/env/rn';
|
||||||
|
|
||||||
import testModule from './firebase';
|
import React, { Component } from 'react';
|
||||||
|
import { AppRegistry, Text, View } from 'react-native';
|
||||||
|
|
||||||
|
import firebase from './firebase';
|
||||||
|
|
||||||
class Root extends Component {
|
class Root extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
this.state = {};
|
this.state = {};
|
||||||
}
|
Bridge.provideRoot(this);
|
||||||
|
Bridge.provideModule(firebase);
|
||||||
componentDidMount() {
|
|
||||||
if (global.__initializeEnvironment) {
|
|
||||||
console.log('Initializing environment...');
|
|
||||||
global.__initializeEnvironment({
|
|
||||||
root: this,
|
|
||||||
rnModule,
|
|
||||||
testModule,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
61
tests-new/bridge/env/node/index.js
vendored
Normal file
61
tests-new/bridge/env/node/index.js
vendored
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
const detox = require('detox');
|
||||||
|
const vm = require('./vm');
|
||||||
|
const ws = require('./ws');
|
||||||
|
|
||||||
|
const detoxOriginalInit = detox.init.bind(detox);
|
||||||
|
const detoxOriginalCleanup = detox.cleanup.bind(detox);
|
||||||
|
let detoxOriginalReloadReactNative = null;
|
||||||
|
|
||||||
|
let bridgeReady = false;
|
||||||
|
process.on('rn-ready', () => {
|
||||||
|
// console.log('READY', true);
|
||||||
|
bridgeReady = true;
|
||||||
|
});
|
||||||
|
|
||||||
|
function onceBridgeReady() {
|
||||||
|
if (bridgeReady) return Promise.resolve();
|
||||||
|
return new Promise(resolve => {
|
||||||
|
process.once('rn-ready', resolve);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
detox.init = async (...args) => {
|
||||||
|
bridgeReady = false;
|
||||||
|
console.log('detox.init.start');
|
||||||
|
|
||||||
|
return detoxOriginalInit(...args).then(() => {
|
||||||
|
console.log('detox.init.complete');
|
||||||
|
|
||||||
|
detoxOriginalReloadReactNative = device.reloadReactNative.bind(device);
|
||||||
|
device.reloadReactNative = async () => {
|
||||||
|
console.log('reloadReactNative.start');
|
||||||
|
bridgeReady = false;
|
||||||
|
// return device.launchApp({ newInstance: true }).then(() => {
|
||||||
|
global.bridge.reload();
|
||||||
|
|
||||||
|
return onceBridgeReady();
|
||||||
|
};
|
||||||
|
|
||||||
|
return onceBridgeReady();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
detox.cleanup = async (...args) => {
|
||||||
|
console.log('detox.cleanup');
|
||||||
|
|
||||||
|
return detoxOriginalCleanup(...args).then(() => {
|
||||||
|
console.log('detox.cleanup.end');
|
||||||
|
|
||||||
|
ws.close();
|
||||||
|
process.exit();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
global.bridge = {
|
||||||
|
_ws: null,
|
||||||
|
|
||||||
|
rootSetState(state) {
|
||||||
|
// todo
|
||||||
|
return Promise.resolve();
|
||||||
|
},
|
||||||
|
};
|
158
tests-new/bridge/env/node/vm.js
vendored
Normal file
158
tests-new/bridge/env/node/vm.js
vendored
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
const url = require('url');
|
||||||
|
const http = require('http');
|
||||||
|
const invariant = require('assert');
|
||||||
|
const { createContext, Script } = require('vm');
|
||||||
|
const ws = require('./ws');
|
||||||
|
|
||||||
|
let currentContext = null;
|
||||||
|
let scriptCached = null;
|
||||||
|
|
||||||
|
// this is a dummy file path - without a file name the source map is not used in the vm
|
||||||
|
const TEMP_BUNDLE_PATH = '/tmp/bridge/react-native.js';
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param replyId
|
||||||
|
* @param result
|
||||||
|
*/
|
||||||
|
function sendResult(replyID, result) {
|
||||||
|
ws.send(
|
||||||
|
JSON.stringify({
|
||||||
|
replyID,
|
||||||
|
result,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
*/
|
||||||
|
function sendError(message) {
|
||||||
|
console.error(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param src
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
function getScript(src, callback) {
|
||||||
|
if (scriptCached) return callback(null, scriptCached);
|
||||||
|
return http
|
||||||
|
.get(src, res => {
|
||||||
|
let buff = '';
|
||||||
|
|
||||||
|
res.setEncoding('utf8');
|
||||||
|
|
||||||
|
res.on('data', chunk => {
|
||||||
|
buff += chunk;
|
||||||
|
});
|
||||||
|
|
||||||
|
res.on('end', () => {
|
||||||
|
scriptCached = new Script(buff, {
|
||||||
|
// lineOffset: -1,
|
||||||
|
// columnOffset: -1,
|
||||||
|
timeout: 120000,
|
||||||
|
displayErrors: true,
|
||||||
|
produceCachedData: true,
|
||||||
|
filename: TEMP_BUNDLE_PATH,
|
||||||
|
});
|
||||||
|
|
||||||
|
callback(null, scriptCached);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.on('error', err => {
|
||||||
|
callback(err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
process.on('ws-message', request => {
|
||||||
|
// console.log(request.method);
|
||||||
|
switch (request.method) {
|
||||||
|
case 'prepareJSRuntime':
|
||||||
|
currentContext = undefined;
|
||||||
|
currentContext = createContext({
|
||||||
|
console,
|
||||||
|
__bridgeNode: {
|
||||||
|
ready() {
|
||||||
|
process.emit('rn-ready');
|
||||||
|
},
|
||||||
|
provideReactNativeModule(rnModule) {
|
||||||
|
global.bridge.rn = undefined;
|
||||||
|
global.bridge.rn = rnModule;
|
||||||
|
},
|
||||||
|
provideModule(moduleExports) {
|
||||||
|
global.bridge.module = undefined;
|
||||||
|
global.bridge.module = moduleExports;
|
||||||
|
},
|
||||||
|
provideReload(reloadFn) {
|
||||||
|
global.bridge.reload = undefined;
|
||||||
|
global.bridge.reload = reloadFn;
|
||||||
|
},
|
||||||
|
provideRoot(rootComponent) {
|
||||||
|
global.bridge.root = undefined;
|
||||||
|
global.bridge.root = rootComponent;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
sendResult(request.id);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case 'executeApplicationScript':
|
||||||
|
// Modify the URL to make sure we get the inline source map.
|
||||||
|
const parsedUrl = url.parse(request.url, /* parseQueryString */ true);
|
||||||
|
invariant(parsedUrl.query);
|
||||||
|
parsedUrl.query.inlineSourceMap = true;
|
||||||
|
delete parsedUrl.search;
|
||||||
|
// $FlowIssue url.format() does not accept what url.parse() returns.
|
||||||
|
const scriptUrl = url.format(parsedUrl);
|
||||||
|
|
||||||
|
getScript(scriptUrl, (err, script) => {
|
||||||
|
if (err != null) {
|
||||||
|
sendError(`Failed to get script from packager: ${err.message}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentContext == null) {
|
||||||
|
sendError('JS runtime not prepared');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (request.inject) {
|
||||||
|
for (const name in request.inject) {
|
||||||
|
currentContext[name] = JSON.parse(request.inject[name]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
script.runInContext(currentContext, TEMP_BUNDLE_PATH);
|
||||||
|
} catch (e) {
|
||||||
|
sendError(`Failed to exec script: ${e.message}`);
|
||||||
|
}
|
||||||
|
sendResult(request.id);
|
||||||
|
});
|
||||||
|
|
||||||
|
return;
|
||||||
|
|
||||||
|
default:
|
||||||
|
let returnValue = [[], [], [], 0];
|
||||||
|
try {
|
||||||
|
if (
|
||||||
|
currentContext != null &&
|
||||||
|
typeof currentContext.__fbBatchedBridge === 'object'
|
||||||
|
) {
|
||||||
|
returnValue = currentContext.__fbBatchedBridge[request.method].apply(
|
||||||
|
null,
|
||||||
|
request.arguments
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
sendError(
|
||||||
|
`Failed while making a call ${request.method}:::${e.message}`
|
||||||
|
);
|
||||||
|
} finally {
|
||||||
|
sendResult(request.id, JSON.stringify(returnValue));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
12
tests-new/bridge/env/node/ws.js
vendored
Normal file
12
tests-new/bridge/env/node/ws.js
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
const WebSocket = require('ws');
|
||||||
|
|
||||||
|
const ws = new WebSocket(
|
||||||
|
// todo read url from somewhere
|
||||||
|
'ws://' + 'localhost:8081' + '/debugger-proxy?role=debugger&name=Chrome'
|
||||||
|
);
|
||||||
|
|
||||||
|
ws.onmessage = message => process.emit('ws-message', JSON.parse(message.data));
|
||||||
|
ws.onopen = () => console.log('WS open');
|
||||||
|
ws.onclose = event => (!event.wasClean ? console.log('WS close', event) : '');
|
||||||
|
|
||||||
|
module.exports = ws;
|
28
tests-new/bridge/env/rn.js
vendored
Normal file
28
tests-new/bridge/env/rn.js
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import reactNative, { Platform, NativeModules } from 'react-native';
|
||||||
|
import RNRestart from 'react-native-restart'; // Import package from node modules
|
||||||
|
|
||||||
|
const bridgeNode = global.__bridgeNode;
|
||||||
|
|
||||||
|
// https://github.com/ptmt/react-native-macos/blob/master/React/Modules/RCTDevSettings.mm
|
||||||
|
if (Platform.OS === 'ios' && !bridgeNode) {
|
||||||
|
NativeModules.RCTDevSettings.setIsDebuggingRemotely(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bridgeNode) {
|
||||||
|
bridgeNode.provideReactNativeModule(reactNative);
|
||||||
|
bridgeNode.provideReload(RNRestart.Restart);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
provideModule(moduleExports) {
|
||||||
|
if (bridgeNode) {
|
||||||
|
bridgeNode.provideModule(moduleExports);
|
||||||
|
bridgeNode.ready();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
provideRoot(rootComponent) {
|
||||||
|
if (bridgeNode) {
|
||||||
|
bridgeNode.provideRoot(rootComponent);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
60
tests-new/e2e/bridge.spec.js
Executable file
60
tests-new/e2e/bridge.spec.js
Executable file
@ -0,0 +1,60 @@
|
|||||||
|
// describe('Example', () => {
|
||||||
|
// beforeEach(async () => {
|
||||||
|
// await device.reloadReactNative();
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
// it('should have welcome screen', async () => {
|
||||||
|
// await expect(element(by.id('welcome'))).toBeVisible();
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
// it('should show hello screen after tap', async () => {
|
||||||
|
// await element(by.id('hello_button')).tap();
|
||||||
|
// await expect(element(by.text('Hello!!!'))).toBeVisible();
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
// it('should show world screen after tap', async () => {
|
||||||
|
// await element(by.id('world_button')).tap();
|
||||||
|
// await expect(element(by.text('World!!!'))).toBeVisible();
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
|
||||||
|
describe('should work inside node', () => {
|
||||||
|
beforeEach(async () => {
|
||||||
|
await device.reloadReactNative();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should provide bridge global', () => {
|
||||||
|
const firebase = bridge.module;
|
||||||
|
|
||||||
|
|
||||||
|
return Promise.resolve();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should require 2', () => {
|
||||||
|
const firebase = bridge.module;
|
||||||
|
// const { Platform } = bridge.rnModule;
|
||||||
|
// should.equal(firebase.auth.nativeModuleExists, true);
|
||||||
|
return Promise.resolve();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should require 3', () => {
|
||||||
|
const firebase = bridge.module;
|
||||||
|
// const { Platform } = bridge.rnModule;
|
||||||
|
// should.equal(firebase.auth.nativeModuleExists, true);
|
||||||
|
return Promise.resolve();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should require 4', () => {
|
||||||
|
const firebase = bridge.module;
|
||||||
|
// const { Platform } = bridge.rnModule;
|
||||||
|
// should.equal(firebase.auth.nativeModuleExists, true);
|
||||||
|
return Promise.resolve();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should require 5', () => {
|
||||||
|
const firebase = bridge.module;
|
||||||
|
// const { Platform } = bridge.rnModule;
|
||||||
|
// should.equal(firebase.auth.nativeModuleExists, true);
|
||||||
|
return Promise.resolve();
|
||||||
|
});
|
||||||
|
});
|
@ -25,7 +25,36 @@ describe('should work inside node', () => {
|
|||||||
|
|
||||||
it('should require', () => {
|
it('should require', () => {
|
||||||
const firebase = bridge.module;
|
const firebase = bridge.module;
|
||||||
|
|
||||||
|
|
||||||
|
return Promise.resolve();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should require 2', () => {
|
||||||
|
const firebase = bridge.module;
|
||||||
// const { Platform } = bridge.rnModule;
|
// const { Platform } = bridge.rnModule;
|
||||||
should.equal(firebase.auth.nativeModuleExists, true);
|
// should.equal(firebase.auth.nativeModuleExists, true);
|
||||||
|
return Promise.resolve();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should require 3', () => {
|
||||||
|
const firebase = bridge.module;
|
||||||
|
// const { Platform } = bridge.rnModule;
|
||||||
|
// should.equal(firebase.auth.nativeModuleExists, true);
|
||||||
|
return Promise.resolve();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should require 4', () => {
|
||||||
|
const firebase = bridge.module;
|
||||||
|
// const { Platform } = bridge.rnModule;
|
||||||
|
// should.equal(firebase.auth.nativeModuleExists, true);
|
||||||
|
return Promise.resolve();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should require 5', () => {
|
||||||
|
const firebase = bridge.module;
|
||||||
|
// const { Platform } = bridge.rnModule;
|
||||||
|
// should.equal(firebase.auth.nativeModuleExists, true);
|
||||||
|
return Promise.resolve();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
--delay
|
|
||||||
--recursive
|
--recursive
|
||||||
--timeout 120000
|
--timeout 120000
|
||||||
--bail
|
--bail
|
||||||
--require bridge
|
--require ./bridge/env/node
|
||||||
|
126
tests-new/package-lock.json
generated
126
tests-new/package-lock.json
generated
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "example",
|
"name": "rnfirebase-tests",
|
||||||
"version": "7.2.0",
|
"version": "7.2.0",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
@ -337,8 +337,7 @@
|
|||||||
"aproba": {
|
"aproba": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
|
||||||
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
|
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"arch": {
|
"arch": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
@ -520,6 +519,11 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
"async-limiter": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
|
||||||
|
},
|
||||||
"asynckit": {
|
"asynckit": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
@ -1458,8 +1462,7 @@
|
|||||||
"bluebird": {
|
"bluebird": {
|
||||||
"version": "3.5.1",
|
"version": "3.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
|
||||||
"integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
|
"integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"body-parser": {
|
"body-parser": {
|
||||||
"version": "1.13.3",
|
"version": "1.13.3",
|
||||||
@ -1544,8 +1547,7 @@
|
|||||||
"browser-stdout": {
|
"browser-stdout": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
|
||||||
"integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=",
|
"integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"bser": {
|
"bser": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
@ -1639,7 +1641,6 @@
|
|||||||
"version": "2.2.1",
|
"version": "2.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz",
|
||||||
"integrity": "sha1-RzChHvYQ+tRQuPIjx50x172tgHQ=",
|
"integrity": "sha1-RzChHvYQ+tRQuPIjx50x172tgHQ=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"cross-spawn": "4.0.2",
|
"cross-spawn": "4.0.2",
|
||||||
"node-version": "1.1.3",
|
"node-version": "1.1.3",
|
||||||
@ -1650,7 +1651,6 @@
|
|||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
|
||||||
"integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
|
"integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"lru-cache": "4.1.2",
|
"lru-cache": "4.1.2",
|
||||||
"which": "1.3.0"
|
"which": "1.3.0"
|
||||||
@ -2052,8 +2052,7 @@
|
|||||||
"console-control-strings": {
|
"console-control-strings": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
|
||||||
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
|
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"contains-path": {
|
"contains-path": {
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
@ -2304,7 +2303,6 @@
|
|||||||
"version": "7.2.0",
|
"version": "7.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/detox/-/detox-7.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/detox/-/detox-7.2.0.tgz",
|
||||||
"integrity": "sha512-hj+GgnXJWmNit0lzeDY1KjZZv3nvNWsB3V6oGIvwCe3Jdl2JXqg6Qn2USa137loTpuvdR77Zgl5m3u1iG1Am/Q==",
|
"integrity": "sha512-hj+GgnXJWmNit0lzeDY1KjZZv3nvNWsB3V6oGIvwCe3Jdl2JXqg6Qn2USa137loTpuvdR77Zgl5m3u1iG1Am/Q==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"child-process-promise": "2.2.1",
|
"child-process-promise": "2.2.1",
|
||||||
"commander": "2.15.1",
|
"commander": "2.15.1",
|
||||||
@ -2324,7 +2322,6 @@
|
|||||||
"version": "4.0.3",
|
"version": "4.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
|
||||||
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
|
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"graceful-fs": "4.1.11",
|
"graceful-fs": "4.1.11",
|
||||||
"jsonfile": "4.0.0",
|
"jsonfile": "4.0.0",
|
||||||
@ -2335,7 +2332,6 @@
|
|||||||
"version": "2.7.4",
|
"version": "2.7.4",
|
||||||
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
|
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
|
||||||
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
|
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"aproba": "1.2.0",
|
"aproba": "1.2.0",
|
||||||
"console-control-strings": "1.1.0",
|
"console-control-strings": "1.1.0",
|
||||||
@ -2351,7 +2347,6 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
|
||||||
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
|
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"number-is-nan": "1.0.1"
|
"number-is-nan": "1.0.1"
|
||||||
}
|
}
|
||||||
@ -2360,7 +2355,6 @@
|
|||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
|
||||||
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
|
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"graceful-fs": "4.1.11"
|
"graceful-fs": "4.1.11"
|
||||||
}
|
}
|
||||||
@ -2369,7 +2363,6 @@
|
|||||||
"version": "4.1.2",
|
"version": "4.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
|
||||||
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
|
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"are-we-there-yet": "1.1.4",
|
"are-we-there-yet": "1.1.4",
|
||||||
"console-control-strings": "1.1.0",
|
"console-control-strings": "1.1.0",
|
||||||
@ -2381,12 +2374,20 @@
|
|||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
||||||
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
|
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"code-point-at": "1.1.0",
|
"code-point-at": "1.1.0",
|
||||||
"is-fullwidth-code-point": "1.0.0",
|
"is-fullwidth-code-point": "1.0.0",
|
||||||
"strip-ansi": "3.0.1"
|
"strip-ansi": "3.0.1"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ws": {
|
||||||
|
"version": "1.1.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
|
||||||
|
"integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
|
||||||
|
"requires": {
|
||||||
|
"options": "0.0.6",
|
||||||
|
"ultron": "1.0.2"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -2394,7 +2395,6 @@
|
|||||||
"version": "7.0.0",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/detox-server/-/detox-server-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/detox-server/-/detox-server-7.0.0.tgz",
|
||||||
"integrity": "sha512-zs9ZP/MgeEmaZD/+MCl5PVcYHRjUtFBkBx3xQRPcsjJ/PmpCKy/BvygjLO6tRsR/2SC9UYay6W+BdguEYeft8g==",
|
"integrity": "sha512-zs9ZP/MgeEmaZD/+MCl5PVcYHRjUtFBkBx3xQRPcsjJ/PmpCKy/BvygjLO6tRsR/2SC9UYay6W+BdguEYeft8g==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"lodash": "4.17.5",
|
"lodash": "4.17.5",
|
||||||
"npmlog": "4.1.2",
|
"npmlog": "4.1.2",
|
||||||
@ -2405,7 +2405,6 @@
|
|||||||
"version": "2.7.4",
|
"version": "2.7.4",
|
||||||
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
|
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
|
||||||
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
|
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"aproba": "1.2.0",
|
"aproba": "1.2.0",
|
||||||
"console-control-strings": "1.1.0",
|
"console-control-strings": "1.1.0",
|
||||||
@ -2421,7 +2420,6 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
|
||||||
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
|
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"number-is-nan": "1.0.1"
|
"number-is-nan": "1.0.1"
|
||||||
}
|
}
|
||||||
@ -2430,7 +2428,6 @@
|
|||||||
"version": "4.1.2",
|
"version": "4.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
|
||||||
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
|
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"are-we-there-yet": "1.1.4",
|
"are-we-there-yet": "1.1.4",
|
||||||
"console-control-strings": "1.1.0",
|
"console-control-strings": "1.1.0",
|
||||||
@ -2442,20 +2439,27 @@
|
|||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
||||||
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
|
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"code-point-at": "1.1.0",
|
"code-point-at": "1.1.0",
|
||||||
"is-fullwidth-code-point": "1.0.0",
|
"is-fullwidth-code-point": "1.0.0",
|
||||||
"strip-ansi": "3.0.1"
|
"strip-ansi": "3.0.1"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"ws": {
|
||||||
|
"version": "1.1.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
|
||||||
|
"integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
|
||||||
|
"requires": {
|
||||||
|
"options": "0.0.6",
|
||||||
|
"ultron": "1.0.2"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"diff": {
|
"diff": {
|
||||||
"version": "3.3.1",
|
"version": "3.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz",
|
||||||
"integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==",
|
"integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"doctrine": {
|
"doctrine": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
@ -4214,7 +4218,6 @@
|
|||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/get-port/-/get-port-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/get-port/-/get-port-2.1.0.tgz",
|
||||||
"integrity": "sha1-h4P53OvR7qSVozThpqJR54iHqxo=",
|
"integrity": "sha1-h4P53OvR7qSVozThpqJR54iHqxo=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"pinkie-promise": "2.0.1"
|
"pinkie-promise": "2.0.1"
|
||||||
}
|
}
|
||||||
@ -4311,8 +4314,7 @@
|
|||||||
"growl": {
|
"growl": {
|
||||||
"version": "1.10.3",
|
"version": "1.10.3",
|
||||||
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz",
|
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz",
|
||||||
"integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==",
|
"integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"growly": {
|
"growly": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
@ -4482,8 +4484,7 @@
|
|||||||
"he": {
|
"he": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
|
||||||
"integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
|
"integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"hoek": {
|
"hoek": {
|
||||||
"version": "4.2.1",
|
"version": "4.2.1",
|
||||||
@ -4561,8 +4562,7 @@
|
|||||||
"ini": {
|
"ini": {
|
||||||
"version": "1.3.5",
|
"version": "1.3.5",
|
||||||
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
|
||||||
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
|
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"inquirer": {
|
"inquirer": {
|
||||||
"version": "3.3.0",
|
"version": "3.3.0",
|
||||||
@ -5554,6 +5554,15 @@
|
|||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
||||||
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
|
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
|
||||||
|
},
|
||||||
|
"ws": {
|
||||||
|
"version": "1.1.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
|
||||||
|
"integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
|
||||||
|
"requires": {
|
||||||
|
"options": "0.0.6",
|
||||||
|
"ultron": "1.0.2"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -5675,7 +5684,6 @@
|
|||||||
"version": "4.1.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz",
|
||||||
"integrity": "sha512-0RVnjg1HJsXY2YFDoTNzcc1NKhYuXKRrBAG2gDygmJJA136Cs2QlRliZG1mA0ap7cuaT30mw16luAeln+4RiNA==",
|
"integrity": "sha512-0RVnjg1HJsXY2YFDoTNzcc1NKhYuXKRrBAG2gDygmJJA136Cs2QlRliZG1mA0ap7cuaT30mw16luAeln+4RiNA==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"browser-stdout": "1.3.0",
|
"browser-stdout": "1.3.0",
|
||||||
"commander": "2.11.0",
|
"commander": "2.11.0",
|
||||||
@ -5692,14 +5700,12 @@
|
|||||||
"commander": {
|
"commander": {
|
||||||
"version": "2.11.0",
|
"version": "2.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
|
||||||
"integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==",
|
"integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
||||||
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"ms": "2.0.0"
|
"ms": "2.0.0"
|
||||||
}
|
}
|
||||||
@ -5707,14 +5713,12 @@
|
|||||||
"has-flag": {
|
"has-flag": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
|
||||||
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
|
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
"version": "4.4.0",
|
"version": "4.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz",
|
||||||
"integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==",
|
"integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"has-flag": "2.0.0"
|
"has-flag": "2.0.0"
|
||||||
}
|
}
|
||||||
@ -5862,8 +5866,7 @@
|
|||||||
"node-version": {
|
"node-version": {
|
||||||
"version": "1.1.3",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/node-version/-/node-version-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/node-version/-/node-version-1.1.3.tgz",
|
||||||
"integrity": "sha512-rEwE51JWn0yN3Wl5BXeGn5d52OGbSXzWiiXRjAQeuyvcGKyvuSILW2rb3G7Xh+nexzLwhTpek6Ehxd6IjvHePg==",
|
"integrity": "sha512-rEwE51JWn0yN3Wl5BXeGn5d52OGbSXzWiiXRjAQeuyvcGKyvuSILW2rb3G7Xh+nexzLwhTpek6Ehxd6IjvHePg=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"normalize-package-data": {
|
"normalize-package-data": {
|
||||||
"version": "2.4.0",
|
"version": "2.4.0",
|
||||||
@ -6273,14 +6276,12 @@
|
|||||||
"pinkie": {
|
"pinkie": {
|
||||||
"version": "2.0.4",
|
"version": "2.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
|
||||||
"integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
|
"integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"pinkie-promise": {
|
"pinkie-promise": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
|
||||||
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
|
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"pinkie": "2.0.4"
|
"pinkie": "2.0.4"
|
||||||
}
|
}
|
||||||
@ -6392,8 +6393,7 @@
|
|||||||
"promise-polyfill": {
|
"promise-polyfill": {
|
||||||
"version": "6.1.0",
|
"version": "6.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz",
|
||||||
"integrity": "sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc=",
|
"integrity": "sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"prop-types": {
|
"prop-types": {
|
||||||
"version": "15.6.1",
|
"version": "15.6.1",
|
||||||
@ -6605,8 +6605,22 @@
|
|||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-1.1.1.tgz",
|
||||||
"integrity": "sha1-rDydOfMgxtzlM5lp0FTvQ90zMxk="
|
"integrity": "sha1-rDydOfMgxtzlM5lp0FTvQ90zMxk="
|
||||||
|
},
|
||||||
|
"ws": {
|
||||||
|
"version": "1.1.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
|
||||||
|
"integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
|
||||||
|
"requires": {
|
||||||
|
"options": "0.0.6",
|
||||||
|
"ultron": "1.0.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"react-native-restart": {
|
||||||
|
"version": "0.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-native-restart/-/react-native-restart-0.0.6.tgz",
|
||||||
|
"integrity": "sha512-ysKvNOjCeCS8A4ouQkJ8DZRYH4wgPdPEJqqqSGFuNzK4eAi3VPOeneQ3w0HHYeOui5fc6fV9y9ClOB9LcKbKpQ=="
|
||||||
},
|
},
|
||||||
"react-proxy": {
|
"react-proxy": {
|
||||||
"version": "1.1.8",
|
"version": "1.1.8",
|
||||||
@ -7430,7 +7444,6 @@
|
|||||||
"version": "1.0.9",
|
"version": "1.0.9",
|
||||||
"resolved": "https://registry.npmjs.org/shell-utils/-/shell-utils-1.0.9.tgz",
|
"resolved": "https://registry.npmjs.org/shell-utils/-/shell-utils-1.0.9.tgz",
|
||||||
"integrity": "sha512-JbTHnKpMyj9TUUbL+Us2Rx2iVHFvH5QyQoke9SN1L0pueiZeO2Gzlzopmloi7oqObL4qtvdSuZPE3UfdIzmlag==",
|
"integrity": "sha512-JbTHnKpMyj9TUUbL+Us2Rx2iVHFvH5QyQoke9SN1L0pueiZeO2Gzlzopmloi7oqObL4qtvdSuZPE3UfdIzmlag==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"lodash": "4.17.5"
|
"lodash": "4.17.5"
|
||||||
}
|
}
|
||||||
@ -7906,14 +7919,12 @@
|
|||||||
"tail": {
|
"tail": {
|
||||||
"version": "1.2.3",
|
"version": "1.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/tail/-/tail-1.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/tail/-/tail-1.2.3.tgz",
|
||||||
"integrity": "sha1-sI1vp5+5KIaWMaNBpRwUSXwcQlU=",
|
"integrity": "sha1-sI1vp5+5KIaWMaNBpRwUSXwcQlU="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"telnet-client": {
|
"telnet-client": {
|
||||||
"version": "0.15.3",
|
"version": "0.15.3",
|
||||||
"resolved": "https://registry.npmjs.org/telnet-client/-/telnet-client-0.15.3.tgz",
|
"resolved": "https://registry.npmjs.org/telnet-client/-/telnet-client-0.15.3.tgz",
|
||||||
"integrity": "sha512-GSfdzQV0BKIYsmeXq7bJFJ2wHeJud6icaIxCUf6QCGQUD6R0BBGbT1+yLDhq67JRdgRpwyPwUbV7JxFeRrZomQ==",
|
"integrity": "sha512-GSfdzQV0BKIYsmeXq7bJFJ2wHeJud6icaIxCUf6QCGQUD6R0BBGbT1+yLDhq67JRdgRpwyPwUbV7JxFeRrZomQ==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"bluebird": "3.5.1"
|
"bluebird": "3.5.1"
|
||||||
}
|
}
|
||||||
@ -8522,8 +8533,7 @@
|
|||||||
"universalify": {
|
"universalify": {
|
||||||
"version": "0.1.1",
|
"version": "0.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz",
|
||||||
"integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=",
|
"integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"unpipe": {
|
"unpipe": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
@ -8704,7 +8714,6 @@
|
|||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
|
||||||
"integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
|
"integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"string-width": "1.0.2"
|
"string-width": "1.0.2"
|
||||||
},
|
},
|
||||||
@ -8713,7 +8722,6 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
|
||||||
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
|
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"number-is-nan": "1.0.1"
|
"number-is-nan": "1.0.1"
|
||||||
}
|
}
|
||||||
@ -8722,7 +8730,6 @@
|
|||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
||||||
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
|
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"code-point-at": "1.1.0",
|
"code-point-at": "1.1.0",
|
||||||
"is-fullwidth-code-point": "1.0.0",
|
"is-fullwidth-code-point": "1.0.0",
|
||||||
@ -8798,12 +8805,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ws": {
|
"ws": {
|
||||||
"version": "1.1.5",
|
"version": "5.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-5.1.0.tgz",
|
||||||
"integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
|
"integrity": "sha512-7KU/qkUXtJW9aa5WRKlo0puE1ejEoAgDb0D/Pt+lWpTkKF7Kp+MqFOtwNFwnuiYeeDpFjp0qyMniE84OjKIEqQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"options": "0.0.6",
|
"async-limiter": "1.0.0"
|
||||||
"ultron": "1.0.2"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xcode": {
|
"xcode": {
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
"version": "7.2.0",
|
"version": "7.2.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "REACT_DEBUGGER='todo' node node_modules/react-native/local-cli/cli.js start --platforms ios,android --skipflow",
|
"start-local-debug": "node node_modules/react-native/local-cli/cli.js start --platforms ios,android --skipflow",
|
||||||
|
"start": "REACT_DEBUGGER='echo nope' node node_modules/react-native/local-cli/cli.js start --platforms ios,android --skipflow",
|
||||||
"start-ci": "REACT_DEBUGGER='todo' node node_modules/react-native/local-cli/cli.js start --platforms ios,android --skipflow --nonPersistent",
|
"start-ci": "REACT_DEBUGGER='todo' node node_modules/react-native/local-cli/cli.js start --platforms ios,android --skipflow --nonPersistent",
|
||||||
"android:dev": "react-native run-android",
|
"android:dev": "react-native run-android",
|
||||||
"android:prod": "react-native run-android --configuration=release",
|
"android:prod": "react-native run-android --configuration=release",
|
||||||
@ -12,10 +13,12 @@
|
|||||||
"ios:pod:install": "cd ios && rm -rf ReactNativeFirebaseDemo.xcworkspace && pod install && cd .."
|
"ios:pod:install": "cd ios && rm -rf ReactNativeFirebaseDemo.xcworkspace && pod install && cd .."
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"detox": "^7.2.0",
|
||||||
|
"mocha": "^4.0.1",
|
||||||
"react": "^16.2.0",
|
"react": "^16.2.0",
|
||||||
"react-native": "^0.52.3",
|
"react-native": "^0.52.3",
|
||||||
"detox": "^7.2.0",
|
"react-native-restart": "0.0.6",
|
||||||
"mocha": "^4.0.1"
|
"ws": "^5.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-cli": "^6.24.0",
|
"babel-cli": "^6.24.0",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user