diff --git a/.babelrc b/.babelrc index a9ce1369..5e935db9 100644 --- a/.babelrc +++ b/.babelrc @@ -1,3 +1,16 @@ { - "presets": ["react-native"] + "env": { + "development": { + "presets": ["react-native"], + "plugins": [ + "transform-flow-strip-types" + ] + }, + "publish": { + "presets": ["react-native-syntax"], + "plugins": [ + "transform-flow-strip-types" + ] + } + } } diff --git a/.flowconfig b/.flowconfig index fb97021d..e3db9bc6 100644 --- a/.flowconfig +++ b/.flowconfig @@ -73,11 +73,14 @@ .*/node_modules/protobufjs/src/bower.json .*/node_modules/grpc/node_modules/protobufjs/src/bower.json +# Ignore dist folder +.*/dist/.* + [include] node_modules/fbjs/lib [libs] -lib/flow.js +lib/types/flow.js node_modules/react-native/Libraries/react-native/react-native-interface.js node_modules/react-native/flow node_modules/fbjs/flow/lib diff --git a/.gitignore b/.gitignore index f65faa29..7a868226 100644 --- a/.gitignore +++ b/.gitignore @@ -76,4 +76,4 @@ local.properties **/ios/Pods/** **/ios/ReactNativeFirebaseDemo.xcworkspace/ - +dist diff --git a/index.js b/index.js deleted file mode 100644 index ffcd3583..00000000 --- a/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import Firebase from './lib/firebase'; - -export const AdMob = require('./lib/modules/admob'); - -export default Firebase; diff --git a/index.d.ts b/lib/index.d.ts similarity index 100% rename from index.d.ts rename to lib/index.d.ts diff --git a/lib/index.js b/lib/index.js new file mode 100644 index 00000000..0d65d53e --- /dev/null +++ b/lib/index.js @@ -0,0 +1,8 @@ +/** + * @flow + */ +import Firebase from './modules/core/firebase'; + +export const AdMob = require('./modules/admob'); + +export default Firebase; diff --git a/lib/modules/auth/PhoneAuthListener.js b/lib/modules/auth/PhoneAuthListener.js index 170aa370..0848b080 100644 --- a/lib/modules/auth/PhoneAuthListener.js +++ b/lib/modules/auth/PhoneAuthListener.js @@ -1,5 +1,5 @@ // @flow -import INTERNALS from './../../internals'; +import INTERNALS from '../../utils/internals'; import { generatePushID, isFunction, isAndroid, isIOS, isString, nativeToJSError } from './../../utils'; import type Auth from './'; diff --git a/lib/modules/auth/User.js b/lib/modules/auth/User.js index 026ce93d..2fc7616e 100644 --- a/lib/modules/auth/User.js +++ b/lib/modules/auth/User.js @@ -2,7 +2,7 @@ * @flow * User representation wrapper */ -import INTERNALS from './../../internals'; +import INTERNALS from '../../utils/internals'; import type Auth from './'; diff --git a/lib/modules/auth/index.js b/lib/modules/auth/index.js index fcd42b59..a13f0e91 100644 --- a/lib/modules/auth/index.js +++ b/lib/modules/auth/index.js @@ -3,8 +3,8 @@ * Auth representation wrapper */ import User from './User'; -import ModuleBase from './../../utils/ModuleBase'; -import INTERNALS from './../../internals'; +import ModuleBase from '../../utils/ModuleBase'; +import INTERNALS from '../../utils/internals'; import ConfirmationResult from './ConfirmationResult'; // providers @@ -17,7 +17,7 @@ import FacebookAuthProvider from './providers/FacebookAuthProvider'; import PhoneAuthListener from './PhoneAuthListener'; -import type FirebaseApp from '../../firebase-app'; +import type FirebaseApp from '../core/firebase-app'; export default class Auth extends ModuleBase { static _NAMESPACE = 'auth'; diff --git a/lib/modules/base.js b/lib/modules/base.js deleted file mode 100644 index f1ea818f..00000000 --- a/lib/modules/base.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @flow - */ - -// todo move out -export class ReferenceBase extends Base { - constructor(path: string) { - super(); - this.path = path || '/'; - } - - /** - * The last part of a Reference's path (after the last '/') - * The key of a root Reference is null. - * @type {String} - * {@link https://firebase.google.com/docs/reference/js/firebase.database.Reference#key} - */ - get key(): string | null { - return this.path === '/' ? null : this.path.substring(this.path.lastIndexOf('/') + 1); - } -} diff --git a/lib/firebase-app.js b/lib/modules/core/firebase-app.js similarity index 85% rename from lib/firebase-app.js rename to lib/modules/core/firebase-app.js index 3fb2f09b..efa40c39 100644 --- a/lib/firebase-app.js +++ b/lib/modules/core/firebase-app.js @@ -3,23 +3,21 @@ */ import { NativeModules } from 'react-native'; -import INTERNALS from './internals'; -import { isObject, isAndroid } from './utils'; +import INTERNALS from '../../utils/internals'; +import { isObject, isAndroid } from '../../utils'; -import AdMob, { statics as AdMobStatics } from './modules/admob'; -import Auth, { statics as AuthStatics } from './modules/auth'; -import Analytics from './modules/analytics'; -import Crash from './modules/crash'; -import Performance from './modules/perf'; -import RemoteConfig from './modules/config'; -import Storage, { statics as StorageStatics } from './modules/storage'; -import Database, { statics as DatabaseStatics } from './modules/database'; -import Messaging, { statics as MessagingStatics } from './modules/messaging'; -import Firestore, { statics as FirestoreStatics } from './modules/firestore'; -import Links, { statics as LinksStatics } from './modules/links'; -import Utils, { statics as UtilsStatics } from './modules/utils'; - -import type { FirebaseOptions } from './firebase'; +import AdMob, { statics as AdMobStatics } from '../admob'; +import Auth, { statics as AuthStatics } from '../auth'; +import Analytics from '../analytics'; +import Crash from '../crash'; +import Performance from '../perf'; +import RemoteConfig from '../config'; +import Storage, { statics as StorageStatics } from '../storage'; +import Database, { statics as DatabaseStatics } from '../database'; +import Messaging, { statics as MessagingStatics } from '../messaging'; +import Firestore, { statics as FirestoreStatics } from '../firestore'; +import Links, { statics as LinksStatics } from '../links'; +import Utils, { statics as UtilsStatics } from '../utils'; const FirebaseCoreModule = NativeModules.RNFirebase; diff --git a/lib/firebase.js b/lib/modules/core/firebase.js similarity index 89% rename from lib/firebase.js rename to lib/modules/core/firebase.js index 917df680..b9a036f9 100644 --- a/lib/firebase.js +++ b/lib/modules/core/firebase.js @@ -4,23 +4,23 @@ */ import { NativeModules, NativeEventEmitter } from 'react-native'; -import INTERNALS from './internals'; +import INTERNALS from '../../utils/internals'; import FirebaseApp from './firebase-app'; -import { isObject, isString } from './utils'; +import { isObject, isString } from '../../utils'; // module imports -import AdMob, { statics as AdMobStatics } from './modules/admob'; -import Auth, { statics as AuthStatics } from './modules/auth'; -import Analytics from './modules/analytics'; -import Crash from './modules/crash'; -import Performance from './modules/perf'; -import Links, { statics as LinksStatics } from './modules/links'; -import RemoteConfig from './modules/config'; -import Storage, { statics as StorageStatics } from './modules/storage'; -import Database, { statics as DatabaseStatics } from './modules/database'; -import Messaging, { statics as MessagingStatics } from './modules/messaging'; -import Firestore, { statics as FirestoreStatics } from './modules/firestore'; -import Utils, { statics as UtilsStatics } from './modules/utils'; +import AdMob, { statics as AdMobStatics } from '../admob'; +import Auth, { statics as AuthStatics } from '../auth'; +import Analytics from '../analytics'; +import Crash from '../crash'; +import Performance from '../perf'; +import Links, { statics as LinksStatics } from '../links'; +import RemoteConfig from '../config'; +import Storage, { statics as StorageStatics } from '../storage'; +import Database, { statics as DatabaseStatics } from '../database'; +import Messaging, { statics as MessagingStatics } from '../messaging'; +import Firestore, { statics as FirestoreStatics } from '../firestore'; +import Utils, { statics as UtilsStatics } from '../utils'; const FirebaseCoreModule = NativeModules.RNFirebase; diff --git a/lib/modules/database/reference.js b/lib/modules/database/reference.js index ffb1af9f..c5ff9e2c 100644 --- a/lib/modules/database/reference.js +++ b/lib/modules/database/reference.js @@ -17,7 +17,7 @@ import { generatePushID, } from './../../utils'; -import INTERNALS from './../../internals'; +import INTERNALS from '../../utils/internals'; // track all event registrations by path let listeners = 0; diff --git a/lib/modules/firestore/index.js b/lib/modules/firestore/index.js index 3161cd03..b1270c97 100644 --- a/lib/modules/firestore/index.js +++ b/lib/modules/firestore/index.js @@ -9,10 +9,10 @@ import FieldValue from './FieldValue'; import GeoPoint from './GeoPoint'; import Path from './Path'; import WriteBatch from './WriteBatch'; -import INTERNALS from './../../internals'; +import INTERNALS from '../../utils/internals'; import type DocumentSnapshot from './DocumentSnapshot'; -import type FirebaseApp from '../../firebase-app'; +import type FirebaseApp from '../core/firebase-app'; import type QuerySnapshot from './QuerySnapshot'; type CollectionSyncEvent = { diff --git a/lib/modules/utils/index.js b/lib/modules/utils/index.js index 942b6af1..4054dc93 100644 --- a/lib/modules/utils/index.js +++ b/lib/modules/utils/index.js @@ -3,9 +3,9 @@ import { NativeModules } from 'react-native'; // import { version as ReactVersion } from 'react'; // import ReactNativeVersion from 'react-native/Libraries/Core/ReactNativeVersion'; -import INTERNALS from './../../internals'; -import { isIOS } from './../../utils'; -import PACKAGE from './../../../package.json'; +import INTERNALS from '../../utils/internals'; +import { isIOS } from '../../utils'; +import PACKAGE from '../../../package.json'; const FirebaseCoreModule = NativeModules.RNFirebase; @@ -128,4 +128,3 @@ export const statics = { // 'react-native-firebase': PACKAGE.version, // }, }; - diff --git a/lib/flow.js b/lib/types/flow.js similarity index 100% rename from lib/flow.js rename to lib/types/flow.js diff --git a/lib/utils/ModuleBase.js b/lib/utils/ModuleBase.js index 12b548c1..bbb0042d 100644 --- a/lib/utils/ModuleBase.js +++ b/lib/utils/ModuleBase.js @@ -3,12 +3,12 @@ */ import { NativeModules } from 'react-native'; -import Log from '../utils/log'; -import INTERNALS from './../internals'; -import FirebaseCore from './../firebase'; -import { nativeWithApp } from './../utils'; +import Log from './log'; +import INTERNALS from './internals'; +import FirebaseCore from '../modules/core/firebase'; +import { nativeWithApp } from '../utils'; -import type FirebaseApp from '../firebase-app'; +import type FirebaseApp from '../modules/core/firebase-app'; const logs = {}; diff --git a/lib/internals.js b/lib/utils/internals.js similarity index 98% rename from lib/internals.js rename to lib/utils/internals.js index ef7f4998..87cd42b2 100644 --- a/lib/internals.js +++ b/lib/utils/internals.js @@ -3,9 +3,9 @@ */ import { Platform, NativeModules } from 'react-native'; -import EventEmitter from './utils/emitter/EventEmitter'; -import ModuleBase from './utils/ModuleBase'; -import SyncTree from './utils/SyncTree'; +import EventEmitter from './emitter/EventEmitter'; +import ModuleBase from './ModuleBase'; +import SyncTree from './SyncTree'; const DEFAULT_APP_NAME = Platform.OS === 'ios' ? '__FIRAPP_DEFAULT' : '[DEFAULT]'; diff --git a/package-lock.json b/package-lock.json index a4207e20..df11263f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=", "dev": true, "requires": { - "mime-types": "2.1.11", + "mime-types": "2.1.17", "negotiator": "0.5.3" } }, @@ -61,17 +61,6 @@ "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", "dev": true }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - } - }, "andlog": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/andlog/-/andlog-1.0.0.tgz", @@ -250,6 +239,12 @@ "lodash": "4.17.4" } }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -277,6 +272,29 @@ "ast-types-flow": "0.0.7" } }, + "babel-cli": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz", + "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-polyfill": "6.26.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "chokidar": "1.7.0", + "commander": "2.11.0", + "convert-source-map": "1.5.0", + "fs-readdir-recursive": "1.1.0", + "glob": "7.1.2", + "lodash": "4.17.4", + "output-file-sync": "1.1.2", + "path-is-absolute": "1.0.1", + "slash": "1.0.0", + "source-map": "0.5.7", + "v8flags": "2.1.1" + } + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -533,6 +551,12 @@ "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", "dev": true }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "dev": true + }, "babel-plugin-syntax-flow": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", @@ -976,6 +1000,20 @@ "react-transform-hmr": "1.0.4" } }, + "babel-preset-react-native-syntax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-react-native-syntax/-/babel-preset-react-native-syntax-1.0.0.tgz", + "integrity": "sha1-5hq/Cmq3PiwN1QPuGtTwezAlNwU=", + "dev": true, + "requires": { + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-plugin-syntax-flow": "6.18.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0" + } + }, "babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", @@ -1116,9 +1154,15 @@ "dev": true }, "big-integer": { - "version": "1.6.25", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.25.tgz", - "integrity": "sha1-HeRan1dUKsIBIcaC+NZCIgo06CM=", + "version": "1.6.26", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.26.tgz", + "integrity": "sha1-OvFnL6Ytry1eyvrPblqg0l4Cwcg=", + "dev": true + }, + "binary-extensions": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz", + "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=", "dev": true }, "body-parser": { @@ -1200,7 +1244,7 @@ "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", "dev": true, "requires": { - "big-integer": "1.6.25" + "big-integer": "1.6.26" } }, "brace-expansion": { @@ -1225,9 +1269,9 @@ } }, "bser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.3.tgz", - "integrity": "sha1-1j2hnuFzMKDiYNKjRCKyGolSAxc=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", + "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "dev": true, "requires": { "node-int64": "0.4.0" @@ -1261,9 +1305,9 @@ "dev": true }, "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "caseless": { @@ -1272,16 +1316,6 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } - }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -1318,6 +1352,23 @@ "lodash.some": "4.6.0" } }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.1.3", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", @@ -1339,22 +1390,14 @@ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" }, "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - } + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "clone": { @@ -1638,12 +1681,13 @@ } }, "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { "lru-cache": "4.1.1", + "shebang-command": "1.2.0", "which": "1.3.0" } }, @@ -1772,7 +1816,7 @@ "object-assign": "4.1.1", "pify": "2.3.0", "pinkie-promise": "2.0.1", - "rimraf": "2.6.1" + "rimraf": "2.6.2" } }, "delayed-stream": { @@ -2021,15 +2065,6 @@ "negotiator": "0.6.1" } }, - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", - "dev": true, - "requires": { - "mime-db": "1.30.0" - } - }, "negotiator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", @@ -2383,6 +2418,21 @@ "merge": "1.2.0" } }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, "exit-hook": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", @@ -2517,17 +2567,6 @@ "dev": true, "requires": { "bser": "2.0.0" - }, - "dependencies": { - "bser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", - "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", - "dev": true, - "requires": { - "node-int64": "0.4.0" - } - } } }, "fbjs": { @@ -2552,59 +2591,19 @@ } }, "fbjs-scripts": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-0.7.1.tgz", - "integrity": "sha1-TxFeIY4kPjrdvw7dqsHjxi9wP6w=", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-0.8.1.tgz", + "integrity": "sha512-hTjqlua9YJupF8shbVRTq20xKPITnDmqBLBQyR9BttZYT+gxGeKboIzPC19T3Erp29Q0+jdMwjUiyTHR61q1Bw==", "dev": true, "requires": { "babel-core": "6.26.0", - "babel-preset-fbjs": "1.0.0", - "core-js": "1.2.7", - "cross-spawn": "3.0.1", + "babel-preset-fbjs": "2.1.4", + "core-js": "2.5.1", + "cross-spawn": "5.1.0", "gulp-util": "3.0.8", "object-assign": "4.1.1", "semver": "5.4.1", "through2": "2.0.3" - }, - "dependencies": { - "babel-preset-fbjs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-1.0.0.tgz", - "integrity": "sha1-yXLlybMB1OyeeXH0rsPhSsAXqLA=", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-flow": "6.18.0", - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-class-properties": "6.24.1", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es3-member-expression-literals": "6.22.0", - "babel-plugin-transform-es3-property-literals": "6.22.0", - "babel-plugin-transform-flow-strip-types": "6.22.0", - "babel-plugin-transform-object-rest-spread": "6.26.0", - "object-assign": "4.1.1" - } - }, - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", - "dev": true - } } }, "figures": { @@ -2709,6 +2708,110 @@ "integrity": "sha1-zkMJIgOjRLqb9jwMq+ldlRRfbK0=", "dev": true }, + "flow-copy-source": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/flow-copy-source/-/flow-copy-source-1.2.1.tgz", + "integrity": "sha512-C3T0OjBOOVd0LWg4wzE3seZOpqddSq5nxMD72iDrGdZ+7WsjbO4rUMEWp4mXErWesD3jPTATxk27HfQdMtZW6g==", + "dev": true, + "requires": { + "chokidar": "1.7.0", + "fs-extra": "3.0.1", + "glob": "7.1.2", + "kefir": "3.8.0", + "yargs": "8.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "fs-extra": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", + "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "3.0.1", + "universalify": "0.1.1" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "jsonfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", + "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } + } + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -2745,17 +2848,6 @@ "asynckit": "0.4.0", "combined-stream": "1.0.5", "mime-types": "2.1.17" - }, - "dependencies": { - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", - "dev": true, - "requires": { - "mime-db": "1.30.0" - } - } } }, "fresh": { @@ -2775,6 +2867,12 @@ "klaw": "1.3.1" } }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -3727,6 +3825,12 @@ "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -3814,6 +3918,12 @@ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, "gulp-util": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", @@ -3877,20 +3987,6 @@ "requires": { "ajv": "5.3.0", "har-schema": "2.0.0" - }, - "dependencies": { - "ajv": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz", - "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=", - "dev": true, - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - } } }, "has": { @@ -4219,6 +4315,15 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.10.0" + } + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -4440,47 +4545,23 @@ "dev": true }, "jest-docblock": { - "version": "20.1.0-delta.4", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-20.1.0-delta.4.tgz", - "integrity": "sha512-apbBKyQ8ET8XQbOnsjIYTvmo2+FRZIsxUkfy75IbG+SH9ILQLjEfPXq3B/iMRCGoTAeI8lwxUQoLKGbw0mrTCQ==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", + "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", "dev": true }, "jest-haste-map": { - "version": "20.1.0-delta.4", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.1.0-delta.4.tgz", - "integrity": "sha512-L95f3nYoxUSzqzJdOq39ggklspwkqOq/FkzvH0SYhXdpv0c0kW8DXLovxfZy5FnK4rUyeVMBI9aNQ+TvZHKT3Q==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-21.2.0.tgz", + "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", "dev": true, "requires": { "fb-watchman": "2.0.0", "graceful-fs": "4.1.11", - "jest-docblock": "20.1.0-delta.4", + "jest-docblock": "21.2.0", "micromatch": "2.3.11", "sane": "2.2.0", "worker-farm": "1.5.2" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "sane": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-2.2.0.tgz", - "integrity": "sha512-OSJxhHO0CgPUw3lUm3GhfREAfza45smvEI9ozuFrxKG10GHVo0ryW9FK5VYlLvxj0SV7HVKHW0voYJIRu27GWg==", - "dev": true, - "requires": { - "anymatch": "1.3.2", - "exec-sh": "0.2.1", - "fb-watchman": "2.0.0", - "fsevents": "1.1.3", - "minimatch": "3.0.4", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" - } - } } }, "js-tokens": { @@ -4588,6 +4669,15 @@ "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", "dev": true }, + "kefir": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/kefir/-/kefir-3.8.0.tgz", + "integrity": "sha512-6jUL1maSYUDNbjKDbGCAcvjwIYpcevE4nDISN0yuow5flhLuQWLQPM/n9iUiz9QA8qa1SaD99SdL/AMzTQTVjw==", + "dev": true, + "requires": { + "symbol-observable": "1.0.4" + } + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -4606,12 +4696,6 @@ "graceful-fs": "4.1.11" } }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true - }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -4622,9 +4706,9 @@ } }, "left-pad": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.1.3.tgz", - "integrity": "sha1-YS9hwDPzqeCOk58crr7qQbbzGZo=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.2.0.tgz", + "integrity": "sha1-0wpzxrggHY99jnlWupYWCHpo4O4=", "dev": true }, "levn": { @@ -4893,12 +4977,6 @@ "lodash.escape": "3.2.0" } }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, "loose-envify": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", @@ -4938,6 +5016,15 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.1.0" + } + }, "merge": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", @@ -4989,9 +5076,9 @@ "dev": true }, "metro-bundler": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/metro-bundler/-/metro-bundler-0.11.0.tgz", - "integrity": "sha512-z1b2HtOa1uJVrp5KOx9bvoYRPD8Gn5x+gyFTIGSev7hbDzyAmUoooFUf8yLAfyIVIb4TZGB+tjkn+Skmn41aNQ==", + "version": "0.20.3", + "resolved": "https://registry.npmjs.org/metro-bundler/-/metro-bundler-0.20.3.tgz", + "integrity": "sha512-rKhIXSUEYbBUB9Ues30GYlcotM/4hPTmriBJGdNW5D+zdlxQUgJuPEo2Woo7khNM7xRG5tN7IRnMkKlzx43/Nw==", "dev": true, "requires": { "absolute-path": "0.0.0", @@ -5001,7 +5088,7 @@ "babel-plugin-external-helpers": "6.22.0", "babel-preset-es2015-node": "6.1.1", "babel-preset-fbjs": "2.1.4", - "babel-preset-react-native": "2.1.0", + "babel-preset-react-native": "4.0.0", "babel-register": "6.26.0", "babylon": "6.18.0", "chalk": "1.1.3", @@ -5009,38 +5096,49 @@ "core-js": "2.5.1", "debug": "2.6.8", "denodeify": "1.2.1", - "fbjs": "0.8.12", + "fbjs": "0.8.16", "graceful-fs": "4.1.11", "image-size": "0.6.1", - "jest-docblock": "20.1.0-chi.1", - "jest-haste-map": "20.1.0-chi.1", + "jest-docblock": "21.2.0", + "jest-haste-map": "21.2.0", "json-stable-stringify": "1.0.1", "json5": "0.4.0", - "left-pad": "1.1.3", + "left-pad": "1.2.0", "lodash": "4.17.4", "merge-stream": "1.0.1", "mime-types": "2.1.11", "mkdirp": "0.5.1", "request": "2.83.0", - "rimraf": "2.6.1", + "rimraf": "2.6.2", "source-map": "0.5.7", "temp": "0.8.3", "throat": "4.1.0", - "uglify-js": "2.7.5", + "uglify-es": "3.1.9", + "wordwrap": "1.0.0", "write-file-atomic": "1.3.4", "xpipe": "1.0.5" }, "dependencies": { + "babel-plugin-react-transform": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-transform/-/babel-plugin-react-transform-3.0.0.tgz", + "integrity": "sha512-4vJGddwPiHAOgshzZdGwYy4zRjjIr5SMY7gkOaCyIASjgpcsyLTlZNuB5rHOFoaTvGlhfo8/g4pobXPyHqm/3w==", + "dev": true, + "requires": { + "lodash": "4.17.4" + } + }, "babel-preset-react-native": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-2.1.0.tgz", - "integrity": "sha1-kBPr2C2hyIECv1iIEP9Z4gnKK4o=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-4.0.0.tgz", + "integrity": "sha512-Wfbo6x244nUbBxjr7hQaNFdjj7FDYU+TVT7cFVPEdVPI68vhN52iLvamm+ErhNdHq6M4j1cMT6AJBYx7Wzdr0g==", "dev": true, "requires": { "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-react-transform": "2.0.2", + "babel-plugin-react-transform": "3.0.0", "babel-plugin-syntax-async-functions": "6.13.0", "babel-plugin-syntax-class-properties": "6.13.0", + "babel-plugin-syntax-dynamic-import": "6.18.0", "babel-plugin-syntax-flow": "6.18.0", "babel-plugin-syntax-jsx": "6.18.0", "babel-plugin-syntax-trailing-function-commas": "6.22.0", @@ -5065,78 +5163,29 @@ "babel-plugin-transform-react-jsx": "6.24.1", "babel-plugin-transform-react-jsx-source": "6.22.0", "babel-plugin-transform-regenerator": "6.26.0", + "babel-template": "6.26.0", "react-transform-hmr": "1.0.4" } }, - "fbjs": { - "version": "0.8.12", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", - "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=", - "dev": true, - "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.17" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", - "dev": true - } - } - }, - "jest-docblock": { - "version": "20.1.0-chi.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-20.1.0-chi.1.tgz", - "integrity": "sha512-zX64LtNgTgphO06akqDxKQhVET3uwjZTRalqG2jJoWyEdSUYGp8yjjqicJ7rRu5ZbwnuaB8yqqP9Exu59oDNaA==", - "dev": true - }, - "jest-haste-map": { - "version": "20.1.0-chi.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.1.0-chi.1.tgz", - "integrity": "sha512-G5Bjy3NoSBOR4T5FGqu6VlUJk7BnGUfRXkPcU26HTE06j5T0HEnVoScUsP1+XHSSw0XKq84N2LquppHbg3buxg==", - "dev": true, - "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "jest-docblock": "20.1.0-chi.1", - "micromatch": "2.3.11", - "sane": "2.2.0", - "worker-farm": "1.5.2" - } - }, "json5": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz", "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0=", "dev": true }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "mime-db": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", + "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk=", "dev": true }, - "sane": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-2.2.0.tgz", - "integrity": "sha512-OSJxhHO0CgPUw3lUm3GhfREAfza45smvEI9ozuFrxKG10GHVo0ryW9FK5VYlLvxj0SV7HVKHW0voYJIRu27GWg==", + "mime-types": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", + "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", "dev": true, "requires": { - "anymatch": "1.3.2", - "exec-sh": "0.2.1", - "fb-watchman": "2.0.0", - "fsevents": "1.1.3", - "minimatch": "3.0.4", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" + "mime-db": "1.23.0" } } } @@ -5175,20 +5224,12 @@ "dev": true }, "mime-types": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", - "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "dev": true, "requires": { - "mime-db": "1.23.0" - }, - "dependencies": { - "mime-db": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", - "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk=", - "dev": true - } + "mime-db": "1.30.0" } }, "mimic-fn": { @@ -5350,6 +5391,18 @@ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", "dev": true }, + "node-notifier": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.1.2.tgz", + "integrity": "sha1-L6nhJgX6EACdRFSdb82KY93g5P8=", + "dev": true, + "requires": { + "growly": "1.3.0", + "semver": "5.4.1", + "shellwords": "0.1.1", + "which": "1.3.0" + } + }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -5371,6 +5424,15 @@ "remove-trailing-separator": "1.1.0" } }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, "npmlog": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", @@ -5735,6 +5797,23 @@ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, + "output-file-sync": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", + "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "object-assign": "4.1.1" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, "p-limit": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", @@ -5798,6 +5877,12 @@ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, "path-parse": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", @@ -6118,63 +6203,43 @@ } }, "react-native": { - "version": "0.48.4", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.48.4.tgz", - "integrity": "sha1-8wXp/vBppbP2pyUN3VD2A88wqy0=", + "version": "0.50.3", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.50.3.tgz", + "integrity": "sha1-kSgr1TVsx9eUlpzcRDzHZDibmvQ=", "dev": true, "requires": { "absolute-path": "0.0.0", "art": "0.10.1", - "async": "2.6.0", "babel-core": "6.26.0", - "babel-generator": "6.26.0", - "babel-plugin-external-helpers": "6.22.0", "babel-plugin-syntax-trailing-function-commas": "6.22.0", "babel-plugin-transform-async-to-generator": "6.16.0", "babel-plugin-transform-class-properties": "6.24.1", "babel-plugin-transform-flow-strip-types": "6.22.0", "babel-plugin-transform-object-rest-spread": "6.26.0", - "babel-polyfill": "6.26.0", - "babel-preset-es2015-node": "6.1.1", - "babel-preset-fbjs": "2.1.4", - "babel-preset-react-native": "2.1.0", "babel-register": "6.26.0", "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", "base64-js": "1.2.1", - "bser": "1.0.3", "chalk": "1.1.3", "commander": "2.11.0", - "concat-stream": "1.6.0", "connect": "2.30.2", - "core-js": "2.5.1", "create-react-class": "15.6.2", "debug": "2.6.8", "denodeify": "1.2.1", "envinfo": "3.9.1", - "errno": "0.1.4", "event-target-shim": "1.1.1", - "fbjs": "0.8.12", - "fbjs-scripts": "0.7.1", - "form-data": "2.3.1", + "fbjs": "0.8.16", + "fbjs-scripts": "0.8.1", "fs-extra": "1.0.0", "glob": "7.1.2", "graceful-fs": "4.1.11", "inquirer": "3.3.0", - "jest-haste-map": "20.1.0-delta.4", - "json-stable-stringify": "1.0.1", - "json5": "0.4.0", - "left-pad": "1.1.3", "lodash": "4.17.4", - "merge-stream": "1.0.1", - "metro-bundler": "0.11.0", + "metro-bundler": "0.20.3", "mime": "1.4.1", - "mime-types": "2.1.11", "minimist": "1.2.0", "mkdirp": "0.5.1", "node-fetch": "1.6.3", + "node-notifier": "5.1.2", "npmlog": "2.0.4", "opn": "3.0.3", "optimist": "0.6.1", @@ -6185,275 +6250,30 @@ "react-clone-referenced-element": "1.0.1", "react-devtools-core": "2.5.2", "react-timer-mixin": "0.13.3", - "react-transform-hmr": "1.0.4", - "rebound": "0.0.13", "regenerator-runtime": "0.9.6", - "request": "2.83.0", - "rimraf": "2.6.1", - "sane": "1.4.1", + "rimraf": "2.6.2", "semver": "5.4.1", "shell-quote": "1.6.1", - "source-map": "0.5.7", "stacktrace-parser": "0.1.4", - "temp": "0.8.3", - "throat": "4.1.0", "whatwg-fetch": "1.1.1", - "wordwrap": "1.0.0", - "write-file-atomic": "1.3.4", "ws": "1.1.5", "xcode": "0.9.3", "xmldoc": "0.4.0", - "xpipe": "1.0.5", - "xtend": "4.0.1", - "yargs": "6.6.0" + "yargs": "9.0.1" }, "dependencies": { - "ansi-escapes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", - "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.1" - } - }, - "babel-preset-react-native": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-2.1.0.tgz", - "integrity": "sha1-kBPr2C2hyIECv1iIEP9Z4gnKK4o=", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-react-transform": "2.0.2", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-plugin-syntax-flow": "6.18.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-class-properties": "6.24.1", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-flow-strip-types": "6.22.0", - "babel-plugin-transform-object-assign": "6.22.0", - "babel-plugin-transform-object-rest-spread": "6.26.0", - "babel-plugin-transform-react-display-name": "6.25.0", - "babel-plugin-transform-react-jsx": "6.24.1", - "babel-plugin-transform-react-jsx-source": "6.22.0", - "babel-plugin-transform-regenerator": "6.26.0", - "react-transform-hmr": "1.0.4" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "2.0.0" - } - }, - "external-editor": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz", - "integrity": "sha512-Msjo64WT5W+NhOpQXh0nOHm+n0RfU1QUwDnKYvJ8dEJ8zlwLrqXNTv5mSUTJpepf41PDJGyhueTw2vNZW+Fr/w==", - "dev": true, - "requires": { - "iconv-lite": "0.4.19", - "jschardet": "1.6.0", - "tmp": "0.0.33" - } - }, - "fbjs": { - "version": "0.8.12", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", - "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=", - "dev": true, - "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.17" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", - "dev": true - } - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5" - } - }, - "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "dev": true, - "requires": { - "ansi-escapes": "3.0.0", - "chalk": "2.3.0", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.0.5", - "figures": "2.0.0", - "lodash": "4.17.4", - "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" - }, - "dependencies": { - "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" - } - } - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "json5": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz", - "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0=", - "dev": true - }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "1.1.0" - } - }, "regenerator-runtime": { "version": "0.9.6", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz", "integrity": "sha1-0z65XQ0gAaS+OWWXB8UbDLcc4Ck=", "dev": true }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "2.1.0" - } - }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "1.0.2" - } - }, "whatwg-fetch": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-1.1.1.tgz", @@ -6535,11 +6355,17 @@ "util-deprecate": "1.0.2" } }, - "rebound": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/rebound/-/rebound-0.0.13.tgz", - "integrity": "sha1-SiJSVMr32nVnl7GcWBe/enlB+sE=", - "dev": true + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.3", + "set-immediate-shim": "1.0.1" + } }, "rechoir": { "version": "0.6.2", @@ -6678,15 +6504,6 @@ "uuid": "3.1.0" }, "dependencies": { - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", - "dev": true, - "requires": { - "mime-db": "1.30.0" - } - }, "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", @@ -6760,19 +6577,10 @@ "onetime": "1.1.0" } }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "requires": { - "align-text": "0.1.4" - } - }, "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { "glob": "7.1.2" @@ -6820,48 +6628,26 @@ "dev": true }, "sane": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sane/-/sane-1.4.1.tgz", - "integrity": "sha1-iPdj10BA9fDCVrYWPbOZvxEKxxU=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.2.0.tgz", + "integrity": "sha512-OSJxhHO0CgPUw3lUm3GhfREAfza45smvEI9ozuFrxKG10GHVo0ryW9FK5VYlLvxj0SV7HVKHW0voYJIRu27GWg==", "dev": true, "requires": { + "anymatch": "1.3.2", "exec-sh": "0.2.1", - "fb-watchman": "1.9.2", + "fb-watchman": "2.0.0", + "fsevents": "1.1.3", "minimatch": "3.0.4", "minimist": "1.2.0", "walker": "1.0.7", - "watch": "0.10.0" + "watch": "0.18.0" }, "dependencies": { - "bser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", - "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", - "dev": true, - "requires": { - "node-int64": "0.4.0" - } - }, - "fb-watchman": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", - "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", - "dev": true, - "requires": { - "bser": "1.0.2" - } - }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true - }, - "watch": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz", - "integrity": "sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw=", - "dev": true } } }, @@ -6963,7 +6749,7 @@ "debug": "2.2.0", "escape-html": "1.0.3", "http-errors": "1.3.1", - "mime-types": "2.1.11", + "mime-types": "2.1.17", "parseurl": "1.3.2" }, "dependencies": { @@ -7001,6 +6787,12 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", @@ -7044,6 +6836,12 @@ "rechoir": "0.6.2" } }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -7290,6 +7088,12 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -7301,6 +7105,12 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, + "symbol-observable": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", + "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=", + "dev": true + }, "sync-exec": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/sync-exec/-/sync-exec-0.6.2.tgz", @@ -7516,17 +7326,6 @@ "requires": { "media-typer": "0.3.0", "mime-types": "2.1.17" - }, - "dependencies": { - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", - "dev": true, - "requires": { - "mime-db": "1.30.0" - } - } } }, "typedarray": { @@ -7540,44 +7339,24 @@ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" }, - "uglify-js": { - "version": "2.7.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz", - "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=", + "uglify-es": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.1.9.tgz", + "integrity": "sha512-wVSiJKHDgDDFmxTVVvnbAH6IpamAFHYDI+5JvwPdaqIMnk8kRTX2JKwq1Fx7gb2+Jj5Dus8kzvIpKkWOMNU51w==", "dev": true, "requires": { - "async": "0.2.10", - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "commander": "2.11.0", + "source-map": "0.6.1" }, "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } } } }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true - }, "uid-safe": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", @@ -7593,6 +7372,12 @@ "integrity": "sha1-sHoualQagV/Go0zNRTO67DB8qGQ=", "dev": true }, + "universalify": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", + "dev": true + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -7605,6 +7390,12 @@ "integrity": "sha1-fx8wIFWz/qDz6B3HjrNnZstl4/E=", "dev": true }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -7629,6 +7420,15 @@ "integrity": "sha1-bIhtAqU9LUDc8l2RoXC0p7JblNA=", "dev": true }, + "v8flags": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", + "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "dev": true, + "requires": { + "user-home": "1.1.1" + } + }, "validate-npm-package-license": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", @@ -7729,12 +7529,6 @@ "semver": "5.4.1" } }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, "wml": { "version": "0.0.82", "resolved": "https://registry.npmjs.org/wml/-/wml-0.0.82.tgz", @@ -7798,7 +7592,7 @@ "jsonfile": "2.4.0", "klaw": "1.3.1", "path-is-absolute": "1.0.1", - "rimraf": "2.6.1" + "rimraf": "2.6.2" } }, "inquirer": { @@ -8078,114 +7872,83 @@ "dev": true }, "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", + "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "dev": true, "requires": { - "camelcase": "3.0.0", + "camelcase": "4.1.0", "cliui": "3.2.0", "decamelize": "1.2.0", "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", "require-directory": "2.1.1", "require-main-filename": "1.0.1", "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", "y18n": "3.2.1", - "yargs-parser": "4.2.1" + "yargs-parser": "7.0.0" }, "dependencies": { - "camelcase": { + "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } - }, - "strip-bom": { + "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "is-utf8": "0.2.1" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true } } }, "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "dev": true, "requires": { - "camelcase": "3.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - } + "camelcase": "4.1.0" } } } diff --git a/package.json b/package.json index 2b7eed60..ac77b3dd 100644 --- a/package.json +++ b/package.json @@ -1,24 +1,28 @@ { "name": "react-native-firebase", - "version": "3.1.0", + "version": "3.1.1-alpha.4", "author": "Invertase (http://invertase.io)", "description": "A well tested, feature rich Firebase implementation for React Native, supporting iOS & Android. Individual module support for Admob, Analytics, Auth, Crash Reporting, Cloud Firestore, Database, Dynamic Links, Messaging (FCM), Remote Config, Storage and Performance.", - "main": "index", + "main": "dist/index.js", "scripts": { + "build": "npm run build-lib && npm run build-flow", + "build-flow": "flow-copy-source -i */__tests__* lib dist", + "build-lib": "BABEL_ENV=publish babel lib -d dist --ignore __tests__", + "clean": "rimraf dist/", "flow": "flow", "lint": "eslint ./src", - "dev": "npm run compile -- --watch", - "build": "./node_modules/.bin/babel --source-maps=true --out-dir=dist .", - "publish_pages": "gh-pages -d public/", - "docs-serve-local": "docsify serve docs", + "prepublish": "npm run clean && npm run build", + "postinstall": "opencollective postinstall", "test-cli": "node ./bin/test.js", "tests-packager": "cd tests && npm run start", "tests-npm-install": "cd tests && npm install", "tests-pod-install": "cd tests && npm run ios:pod:install", "tests-watch-start": "npm run test-cli watch init start", - "tests-watch-stop": "npm run test-cli watch stop", - "postinstall": "opencollective postinstall" + "tests-watch-stop": "npm run test-cli watch stop" }, + "files": [ + "dist" + ], "repository": { "type": "git", "url": "https://github.com/invertase/react-native-firebase.git" @@ -70,9 +74,11 @@ "fbjs": "*" }, "devDependencies": { + "babel-cli": "^6.26.0", "babel-eslint": "^7.0.0", "babel-jest": "^14.1.0", "babel-preset-react-native": "^1.9.0", + "babel-preset-react-native-syntax": "^1.0.0", "debug": "^2.2.0", "enzyme": "^2.4.1", "eslint": "^4.11.0", @@ -82,9 +88,11 @@ "eslint-plugin-jsx-a11y": "^6.0.2", "eslint-plugin-react": "^7.4.0", "flow-bin": "^0.56.0", + "flow-copy-source": "^1.2.1", "react": "^16.0.0", "react-dom": "^16.0.0", - "react-native": "^0.48.0", + "react-native": "^0.50.3", + "rimraf": "^2.6.2", "shelljs": "^0.7.8", "wml": "0.0.82" },