' error)
+ playSound: false, // (optional) default: true
+ soundName: "default", // (optional) Sound to play when the notification is shown. Value of 'default' plays the default sound. It can be set to a custom sound such as 'android.resource://com.xyz/raw/my_sound'. It will look for the 'my_sound' audio file in 'res/raw' directory and play it. default: 'default' (default sound is played)
+ number: 10, // (optional) Valid 32 bit integer specified as string. default: none (Cannot be zero)
+ repeatType: "day", // (optional) Repeating interval. Check 'Repeating Notifications' section for more info.
});
```
## Scheduled Notifications
-`PushNotification.localNotificationSchedule(details: Object)`
+
+```js
+PushNotification.localNotificationSchedule(details: Object)
+```
EXAMPLE:
+
```javascript
PushNotification.localNotificationSchedule({
//... You can use all the options from localNotifications
message: "My Notification Message", // (required)
- date: new Date(Date.now() + (60 * 1000)) // in 60 secs
+ date: new Date(Date.now() + 60 * 1000), // in 60 secs
+ allowWhileIdle: false, // (optional) set notification to work while on doze, default: false
+
+ /* Android Only Properties */
+ repeatTime: 1, // (optional) Increment of configured repeatType. Check 'Repeating Notifications' section for more info.
+});
+```
+
+## Get the initial notification
+
+```js
+PushNotification.popInitialNotification(callback)
+```
+
+EXAMPLE:
+
+```javascript
+PushNotification.popInitialNotification((notification) => {
+ console.log('Initial Notification', notification);
});
```
@@ -288,155 +407,415 @@ In the location notification json specify the full file name:
soundName: 'my_sound.mp3'
+## Channel Management (Android)
+
+To use channels, create them at startup and pass the matching `channelId` through to `PushNotification.localNotification` or `PushNotification.localNotificationSchedule`.
+
+```javascript
+import PushNotification, {Importance} from 'react-native-push-notification';
+...
+ PushNotification.createChannel(
+ {
+ channelId: "channel-id", // (required)
+ channelName: "My channel", // (required)
+ channelDescription: "A channel to categorise your notifications", // (optional) default: undefined.
+ playSound: false, // (optional) default: true
+ soundName: "default", // (optional) See `soundName` parameter of `localNotification` function
+ importance: Importance.HIGH, // (optional) default: Importance.HIGH. Int value of the Android notification importance
+ vibrate: true, // (optional) default: true. Creates the default vibration pattern if true.
+ },
+ (created) => console.log(`createChannel returned '${created}'`) // (optional) callback returns whether the channel was created, false means it already existed.
+ );
+```
+
+**NOTE: Without channel, notifications don't work**
+
+In the notifications options, you must provide a channel id with `channelId: "your-channel-id"`, if the channel doesn't exist the notification might not be triggered. Once the channel is created, the channel cannot be updated. Make sure your `channelId` is different if you change these options. If you have created a channel in another way, it will apply options of the channel.
+
+If you want to use a different default channel for remote notification, refer to the documentation of Firebase:
+
+[Set up a Firebase Cloud Messaging client app on Android](https://firebase.google.com/docs/cloud-messaging/android/client?hl=fr)
+
+```xml
+
+```
+
+For local notifications, the same kind of option is available:
+
+- you can use:
+ ```xml
+
+ ```
+- If not defined, fallback to the Firebase value defined in the `AndroidManifest`:
+ ```xml
+
+ ```
+- If not defined, fallback to the default Firebase channel id `fcm_fallback_notification_channel`
+
+### List channels
+
+You can list available channels with:
+
+```js
+PushNotification.getChannels(function (channel_ids) {
+ console.log(channel_ids); // ['channel_id_1']
+});
+```
+
+### Channel exists
+
+You can check if a channel exists with:
+
+```js
+PushNotification.channelExists(channel_id, function (exists) {
+ console.log(exists); // true/false
+});
+```
+
+### Channel blocked
+
+You can check if a channel blocked with:
+
+```js
+PushNotification.channelBlocked(channel_id, function (blocked) {
+ console.log(blocked); // true/false
+});
+```
+
+### Delete channel
+
+You can delete a channel with:
+
+```js
+PushNotification.deleteChannel(channel_id);
+```
+
## Cancelling notifications
-### 1) cancelLocalNotifications
+### 1) cancelLocalNotification
-#### Android
The `id` parameter for `PushNotification.localNotification` is required for this operation. The id supplied will then be used for the cancel operation.
```javascript
-// Android
PushNotification.localNotification({
...
id: '123'
...
});
-PushNotification.cancelLocalNotifications({id: '123'});
+PushNotification.cancelLocalNotification('123');
```
+### 2) cancelAllLocalNotifications
+
+```javascript
+PushNotification.cancelAllLocalNotifications()
+```
+
+Cancels all scheduled notifications AND clears the notifications alerts that are in the notification centre.
+
+### 3) removeAllDeliveredNotifications
+
+```javascript
+PushNotification.removeAllDeliveredNotifications();
+```
+
+Remove all delivered notifications from Notification Center
+
+### 4) getDeliveredNotifications
+
+```javascript
+PushNotification.getDeliveredNotifications(callback);
+```
+
+Provides you with a list of the app’s notifications that are still displayed in Notification Center
+
+**Parameters:**
+
+| Name | Type | Required | Description |
+| -------- | -------- | -------- | ----------------------------------------------------------- |
+| callback | function | Yes | Function which receive an array of delivered notifications. |
-## Notification priority ##
+A delivered notification is an object containing:
+
+- `identifier` : The identifier of this notification.
+- `title` : The title of this notification.
+- `body` : The body of this notification.
+- `category` : The category of this notification (optional).
+- `userInfo` : An object containing additional notification data (optional).
+- `thread-id` : The thread identifier of this notification, if has one.
+
+### 5) removeDeliveredNotifications
+
+```javascript
+PushNotification.removeDeliveredNotifications(identifiers);
+```
+
+Removes the specified notifications from Notification Center
+
+**Parameters:**
+
+| Name | Type | Required | Description |
+| ----------- | ----- | -------- | ---------------------------------- |
+| identifiers | array | Yes | Array of notification identifiers. |
+
+### 6) getScheduledLocalNotifications
+
+```javascript
+PushNotification.getScheduledLocalNotifications(callback);
+```
+
+Provides you with a list of the app’s scheduled local notifications that are yet to be displayed
+
+**Parameters:**
+
+| Name | Type | Required | Description |
+| -------- | -------- | -------- | ----------------------------------------------------------- |
+| callback | function | Yes | Function which receive an array of delivered notifications. |
+
+Returns an array of local scheduled notification objects containing:
+
+| Name | Type | Description |
+| -------------- | ------ | -------------------------------------------------------- |
+| id | number | The identifier of this notification. |
+| date | Date | The fire date of this notification. |
+| title | string | The title of this notification. |
+| message | string | The message body of this notification. |
+| soundName | string | The sound name of this notification. |
+| repeatInterval | number | (Android only) The repeat interval of this notification. |
+| number | number | App notification badge count number. |
+| data | any | The user info of this notification. |
+
+## Abandon Permissions
+
+```js
+PushNotification.abandonPermissions()
+```
+Revokes the current token and unregister for all remote notifications received via APNS or FCM.
+
+## Notification priority
(optional) Specify `priority` to set priority of notification. Default value: "high"
Available options:
-"max" = NotficationCompat.PRIORITY_MAX
-"high" = NotficationCompat.PRIORITY_HIGH
-"low" = NotficationCompat.PRIORITY_LOW
-"min" = NotficationCompat.PRIORITY_MIN
-"default" = NotficationCompat.PRIORITY_DEFAULT
+```
+"max" = NotficationCompat.PRIORITY_MAX\
+"high" = NotficationCompat.PRIORITY_HIGH\
+"low" = NotficationCompat.PRIORITY_LOW\
+"min" = NotficationCompat.PRIORITY_MIN\
+"default" = NotficationCompat.PRIORITY_DEFAULT
+```
More information: https://developer.android.com/reference/android/app/Notification.html#PRIORITY_DEFAULT
-## Notification visibility ##
+## Notification visibility
(optional) Specify `visibility` to set visibility of notification. Default value: "private"
Available options:
-"private" = NotficationCompat.VISIBILITY_PRIVATE
-"public" = NotficationCompat.VISIBILITY_PUBLIC
-"secret" = NotficationCompat.VISIBILITY_SECRET
-
+```
+"private" = NotficationCompat.VISIBILITY_PRIVATE\
+"public" = NotficationCompat.VISIBILITY_PUBLIC\
+"secret" = NotficationCompat.VISIBILITY_SECRET
+```
More information: https://developer.android.com/reference/android/app/Notification.html#VISIBILITY_PRIVATE
-## Notification importance ##
+## Notification importance
-(optional) Specify `importance` to set importance of notification. Default value: "high"
+(optional) Specify `importance` to set importance of notification. Default value: Importance.HIGH
+Constants available on the `Importance` object. `import PushNotification, {Importance} from 'react-native-push-notification';`
Available options:
-
-"default" = NotificationManager.IMPORTANCE_DEFAULT
-"max" = NotificationManager.IMPORTANCE_MAX
-"high" = NotificationManager.IMPORTANCE_HIGH
-"low" = NotificationManager.IMPORTANCE_LOW
-"min" = NotificationManager.IMPORTANCE_MIN
-"none" = NotificationManager.IMPORTANCE_NONE
-"unspecified" = NotificationManager.IMPORTANCE_UNSPECIFIED
+```
+Importance.DEFAULT = NotificationManager.IMPORTANCE_DEFAULT\
+Importance.HIGH = NotificationManager.IMPORTANCE_HIGH\
+Importance.LOW = NotificationManager.IMPORTANCE_LOW\
+Importance.MIN = NotificationManager.IMPORTANCE_MIN\
+Importance.NONE= NotificationManager.IMPORTANCE_NONE\
+Importance.UNSPECIFIED = NotificationManager.IMPORTANCE_UNSPECIFIED
+```
More information: https://developer.android.com/reference/android/app/NotificationManager#IMPORTANCE_DEFAULT
-#### IOS
-The `userInfo` parameter for `PushNotification.localNotification` is required for this operation and must contain an `id` parameter. The id supplied will then be used for the cancel operation.
+## Show notifications while the app is in foreground
+
+If you want a consistent results in Android & iOS with the most flexibility, it is best to handle it manually by prompting a local notification when `onNotification` is triggered by a remote push notification on foreground (check `notification.foreground` prop).
+
+Watch out for an infinite loop triggering `onNotification` - remote & local notification will trigger it. You can overcome this by marking local notifications' data.
+
+## Notification while idle
+
+(optional) Specify `allowWhileIdle` to set if the notification should be allowed to execute even when the system is on low-power idle modes.
+
+On Android 6.0 (API level 23) and forward, the Doze was introduced to reduce battery consumption when the device is unused for long periods of time. But while on Doze the AlarmManager alarms (used to show scheduled notifications) are deferred to the next maintenance window. This may cause the notification to be delayed while on Doze.
+
+This can significantly impact the power use of the device when idle. So it must only be used when the notification is required to go off on a exact time, for example on a calendar notification.
+
+More information:
+https://developer.android.com/training/monitoring-device-state/doze-standby
+
+## Repeating Notifications
+
+(optional) Specify `repeatType` and optionally `repeatTime` (Android-only) while scheduling the local notification. Check the local notification example above.
+
+### iOS
+Property `repeatType` can only be `month`, `week`, `day`, `hour`, `minute`.
+
+NOTE: `repeatTime` do not work with iOS.
+
+### Android
+Property `repeatType` could be one of `month`, `week`, `day`, `hour`, `minute`, `time`.
+
+The interval used can be configured to a different interval using `repeatTime`. If `repeatType` is `time`, `repeatTime` must be specified as the number of milliseconds between each interval.
+For example, to configure a notification every other day
+
```javascript
-// IOS
-PushNotification.localNotification({
+PushNotification.localNotificationSchedule({
...
- userInfo: { id: '123' }
+ repeatType: 'day',
+ repeatTime: 2,
...
});
-PushNotification.cancelLocalNotifications({id: '123'});
```
+## Notification Actions
-### 2) cancelAllLocalNotifications
-
-`PushNotification.cancelAllLocalNotifications()`
-
-Cancels all scheduled notifications AND clears the notifications alerts that are in the notification centre.
+(Android Only)
-*NOTE: there is currently no api for removing specific notification alerts from the notification centre.*
+This is done by specifying an `actions` parameters while configuring the local notification. This is an array of strings where each string is a notification action that will be presented with the notification.
-## Repeating Notifications ##
+For e.g. `actions: ['Accept', 'Reject']`
-(optional) Specify `repeatType` and optionally `repeatTime` while scheduling the local notification. Check the local notification example above.
+When you handle actions in background (`invokeApp: false`), you can open the application and pass the initial notification by using use `PushNotification.invokeApp(notification)`.
-Property `repeatType` could be one of `week`, `day`, `hour`, `minute`, `time`. If specified as time, it should be accompanied by one more parameter `repeatTime` which should the number of milliseconds between each interval.
+Make sure you have the receiver in `AndroidManifest.xml`:
-## Notification Actions ##
+```xml
+
+```
-(Android only) [Refer](https://github.com/zo0r/react-native-push-notification/issues/151) to this issue to see an example of a notification action.
+Notifications with inline reply:
-Two things are required to setup notification actions.
+You must register an action as "ReplyInput", this will show in the notifications an input to write in.
-### 1) Specify notification actions for a notification
-This is done by specifying an `actions` parameters while configuring the local notification. This is an array of strings where each string is a notification action that will be presented with the notification.
+EXAMPLE:
+```javascript
+PushNotification.localNotificationSchedule({
+ message: "My Notification Message", // (required)
+ date: new Date(Date.now() + (60 * 1000)), // in 60 secs
+ actions: ["ReplyInput"],
+ reply_placeholder_text: "Write your response...", // (required)
+ reply_button_text: "Reply" // (required)
+});
+```
-For e.g. `actions: '["Accept", "Reject"]' // Must be in string format`
+To get the text from the notification:
-The array itself is specified in string format to circumvent some problems because of the way JSON arrays are handled by react-native android bridge.
+```javascript
+...
+if(notification.action === "ReplyInput"){
+ console.log("texto", notification.reply_text)// this will contain the inline reply text.
+}
+...
+```
-### 2) Specify handlers for the notification actions
-For each action specified in the `actions` field, we need to add a handler that is called when the user clicks on the action. This can be done in the `componentWillMount` of your main app file or in a separate file which is imported in your main app file. Notification actions handlers can be configured as below:
+For iOS, you can use:
+```javascript
+PushNotification.setNotificationCategories(categories);
```
-import PushNotificationAndroid from 'react-native-push-notification'
-(function() {
- // Register all the valid actions for notifications here and add the action handler for each action
- PushNotificationAndroid.registerNotificationActions(['Accept','Reject','Yes','No']);
- DeviceEventEmitter.addListener('notificationActionReceived', function(action){
- console.log ('Notification action received: ' + action);
- const info = JSON.parse(action.dataJSON);
- if (info.action == 'Accept') {
- // Do work pertaining to Accept action here
- } else if (info.action == 'Reject') {
- // Do work pertaining to Reject action here
- }
- // Add all the required actions handlers
- });
-})();
-```
+And use the `category` field in the notification.
-For iOS, you can use this [package](https://github.com/holmesal/react-native-ios-notification-actions) to add notification actions.
+Documentation [here](https://github.com/react-native-push-notification-ios/push-notification-ios#how-to-perform-different-action-based-on-user-selected-action) to add notification actions.
## Set application badge icon
-`PushNotification.setApplicationIconBadgeNumber(number: number)`
+```js
+PushNotification.setApplicationIconBadgeNumber(number: number)
+```
Works natively in iOS.
Uses the [ShortcutBadger](https://github.com/leolin310148/ShortcutBadger) on Android, and as such will not work on all Android devices.
-## Sending Notification Data From Server
-Same parameters as `PushNotification.localNotification()`
-
## Android Only Methods
-`PushNotification.subscribeToTopic(topic: string)` Subscribe to a topic (works only with Firebase)
+```js
+PushNotification.subscribeToTopic(topic: string)
+```
+Subscribe to a topic (works only with Firebase)
+
+```js
+PushNotification.unsubscribeFromTopic(topic: string)
+```
+Unsubscribe from a topic (works only with Firebase)
+
+## Android Custom Notification Handling
+
+Unlike iOS, Android apps handle the creation of their own notifications. React Native Push Notifications does a "best guess" to create and handle incoming notifications. However, when using 3rd party notification platforms and tools, the initial notification creation process may need to be customized.
+
+### Customizing Notification Creation
+
+If your notification service uses a custom data payload format, React Native Push Notifications will not be able to parse the data correctly to create an initial notification.
+
+For these cases, you should:
+
+1. Remove the intent handler configuration for React Native Push Notifications from your `android/app/src/main/AndroidManifest.xml`.
+2. Implement initial notification creation as per the instructions from your Provider.
+
+### Handling Custom Payloads
+
+Data payloads of notifications from 3rd party services may not match the format expected by React Native Push Notification. When tapped, these notifications will not pass the details and data to the `onNotification()` event handler. Custom `IntentHandlers` allow you to fix this so that correct `notification` objects are sent to your `onNotification()` method.
+
+Custom handlers are added in Application init or `MainActivity.onCreate()` methods:
+
+```java
+RNPushNotification.IntentHandlers.add(new RNPushNotification.RNIntentHandler() {
+ @Override
+ public void onNewIntent(Intent intent) {
+ // If your provider requires some parsing on the intent before the data can be
+ // used, add that code here. Otherwise leave empty.
+ }
+
+ @Nullable
+ @Override
+ public Bundle getBundleFromIntent(Intent intent) {
+ // This should return the bundle data that will be serialized to the `notification.data`
+ // property sent to the `onNotification()` handler. Return `null` if there is no data
+ // or this is not an intent from your provider.
+
+ // Example:
+ if (intent.hasExtra("MY_NOTIFICATION_PROVIDER_DATA_KEY")) {
+ return intent.getBundleExtra("MY_NOTIFICATION_PROVIDER_DATA_KEY");
+ }
+ return null;
+ }
+});
+```
## Checking Notification Permissions
-`PushNotification.checkPermissions(callback: Function)` Check permissions
+
+```js
+PushNotification.checkPermissions(callback: Function) //Check permissions
+```
`callback` will be invoked with a `permissions` object:
+
- `alert`: boolean
- `badge`: boolean
- `sound`: boolean
## iOS Only Methods
-`PushNotification.getApplicationIconBadgeNumber(callback: Function)` Get badge number
+```js
+PushNotification.getApplicationIconBadgeNumber(callback: Function) //Get badge number
+```
-`PushNotification.abandonPermissions()` Abandon permissions
diff --git a/android/.classpath b/android/.classpath
new file mode 100644
index 000000000..eb19361b5
--- /dev/null
+++ b/android/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/android/.project b/android/.project
new file mode 100644
index 000000000..3865e0fa4
--- /dev/null
+++ b/android/.project
@@ -0,0 +1,23 @@
+
+
+ android
+ Project android created by Buildship.
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.buildship.core.gradleprojectbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.buildship.core.gradleprojectnature
+
+
diff --git a/android/.settings/org.eclipse.buildship.core.prefs b/android/.settings/org.eclipse.buildship.core.prefs
new file mode 100644
index 000000000..342e81ef5
--- /dev/null
+++ b/android/.settings/org.eclipse.buildship.core.prefs
@@ -0,0 +1,13 @@
+arguments=
+auto.sync=false
+build.scans.enabled=false
+connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
+connection.project.dir=
+eclipse.preferences.version=1
+gradle.user.home=
+java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
+jvm.arguments=
+offline.mode=false
+override.workspace.settings=true
+show.console.view=true
+show.executions.view=true
diff --git a/android/build.gradle b/android/build.gradle
index efb9fc66b..d6019f61c 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -1,34 +1,40 @@
buildscript {
repositories {
+ mavenCentral()
+ google()
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.1.3'
+ classpath 'com.android.tools.build:gradle:3.2.0'
}
}
allprojects {
repositories {
+ mavenCentral()
+ google()
jcenter()
}
}
apply plugin: 'com.android.library'
-def DEFAULT_COMPILE_SDK_VERSION = 27
-def DEFAULT_BUILD_TOOLS_VERSION = "27.0.3"
-def DEFAULT_TARGET_SDK_VERSION = 27
-def DEFAULT_SUPPORT_LIB_VERSION = "27.1.1"
-def DEFAULT_GOOGLE_PLAY_SERVICES_VERSION = "+"
-def DEFAULT_FIREBASE_MESSAGING_VERSION = "+"
+def safeExtGet(prop, fallback) {
+ rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
+}
android {
- compileSdkVersion project.hasProperty('compileSdkVersion') ? project.compileSdkVersion : DEFAULT_COMPILE_SDK_VERSION
- buildToolsVersion project.hasProperty('buildToolsVersion') ? project.buildToolsVersion : DEFAULT_BUILD_TOOLS_VERSION
+ compileSdkVersion safeExtGet('compileSdkVersion', 28)
+ buildToolsVersion safeExtGet('buildToolsVersion', '28.0.3')
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
defaultConfig {
- minSdkVersion 16
- targetSdkVersion project.hasProperty('targetSdkVersion') ? project.targetSdkVersion : DEFAULT_TARGET_SDK_VERSION
+ minSdkVersion safeExtGet('minSdkVersion', 16)
+ targetSdkVersion safeExtGet('targetSdkVersion', 28)
versionCode 1
versionName "1.0"
ndk {
@@ -44,15 +50,15 @@ android {
}
dependencies {
- def supportLibVersion = project.hasProperty('supportLibVersion') ? project.supportLibVersion : DEFAULT_SUPPORT_LIB_VERSION
- def googlePlayServicesVersion = project.hasProperty('googlePlayServicesVersion') ? project.googlePlayServicesVersion : DEFAULT_GOOGLE_PLAY_SERVICES_VERSION
- def firebaseVersion = project.hasProperty('firebaseVersion') ? project.firebaseVersion : DEFAULT_FIREBASE_MESSAGING_VERSION
-
- compile fileTree(dir: 'libs', include: ['*.jar'])
- testCompile 'junit:junit:4.12'
- compile "com.android.support:appcompat-v7:$supportLibVersion"
- compile 'com.facebook.react:react-native:+'
- compile "com.google.android.gms:play-services-gcm:$googlePlayServicesVersion"
- compile 'me.leolin:ShortcutBadger:1.1.8@aar'
- compile "com.google.firebase:firebase-messaging:$firebaseVersion"
+ // Use either AndroidX library names or old/support library names based on major version of support lib
+ def supportLibVersion = safeExtGet('supportLibVersion', '27.1.1')
+ def supportLibMajorVersion = supportLibVersion.split('\\.')[0] as int
+ def appCompatLibName = (supportLibMajorVersion < 20) ? "androidx.appcompat:appcompat" : "com.android.support:appcompat-v7"
+
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+ testImplementation 'junit:junit:4.12'
+ implementation "$appCompatLibName:$supportLibVersion"
+ implementation 'com.facebook.react:react-native:+'
+ implementation 'me.leolin:ShortcutBadger:1.1.22@aar'
+ implementation "com.google.firebase:firebase-messaging:${safeExtGet('firebaseMessagingVersion', '21.1.0')}"
}
diff --git a/android/proguard-rules.pro b/android/proguard-rules.pro
deleted file mode 100644
index f7e855c93..000000000
--- a/android/proguard-rules.pro
+++ /dev/null
@@ -1,17 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in /usr/local/Cellar/android-sdk/24.4.1/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
diff --git a/android/react-native-notifications.iml b/android/react-native-notifications.iml
deleted file mode 100644
index 0851c6ed0..000000000
--- a/android/react-native-notifications.iml
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- generateDebugAndroidTestSources
- generateDebugSources
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/react-native-push-notification.iml b/android/react-native-push-notification.iml
deleted file mode 100644
index 9e5592ced..000000000
--- a/android/react-native-push-notification.iml
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- generateDebugAndroidTestSources
- generateDebugSources
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/helpers/ApplicationBadgeHelper.java b/android/src/main/java/com/dieam/reactnativepushnotification/helpers/ApplicationBadgeHelper.java
index ad7538761..e97ebae5a 100644
--- a/android/src/main/java/com/dieam/reactnativepushnotification/helpers/ApplicationBadgeHelper.java
+++ b/android/src/main/java/com/dieam/reactnativepushnotification/helpers/ApplicationBadgeHelper.java
@@ -10,26 +10,18 @@
import me.leolin.shortcutbadger.Badger;
import me.leolin.shortcutbadger.ShortcutBadger;
-import me.leolin.shortcutbadger.impl.SamsungHomeBadger;
/**
* Helper for setting application launcher icon badge counts.
- *
- * This is a wrapper around {@link ShortcutBadger}, with a couple enhancements:
- *
- * - If the first attempt fails, don't retry. This keeps logs clean, as failed attempts are noisy.
- * - Test and apply a separate method for older Samsung devices, which ShortcutBadger has
- * (perhaps over-aggressively) deprecated. ref: https://github.com/leolin310148/ShortcutBadger/issues/40
+ * This is a wrapper around {@link ShortcutBadger}:
*/
public class ApplicationBadgeHelper {
public static final ApplicationBadgeHelper INSTANCE = new ApplicationBadgeHelper();
private static final String LOG_TAG = "ApplicationBadgeHelper";
- private static final Badger LEGACY_SAMSUNG_BADGER = new SamsungHomeBadger();
private Boolean applyAutomaticBadger;
- private Boolean applySamsungBadger;
private ComponentName componentName;
private ApplicationBadgeHelper() {
@@ -40,7 +32,6 @@ public void setApplicationIconBadgeNumber(Context context, int number) {
componentName = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()).getComponent();
}
tryAutomaticBadge(context, number);
- tryLegacySamsungBadge(context, number);
}
private void tryAutomaticBadge(Context context, int number) {
@@ -57,43 +48,4 @@ private void tryAutomaticBadge(Context context, int number) {
}
ShortcutBadger.applyCount(context, number);
}
-
- private void tryLegacySamsungBadge(Context context, int number) {
- // First attempt to apply legacy samsung badge. Check if eligible, then attempt it.
- if (null == applySamsungBadger) {
- applySamsungBadger = isLegacySamsungLauncher(context) && applyLegacySamsungBadge(context, number);
- if (applySamsungBadger) {
- FLog.i(LOG_TAG, "First attempt to use legacy Samsung badger succeeded; permanently enabling method.");
- } else {
- FLog.w(LOG_TAG, "First attempt to use legacy Samsung badger failed; permanently disabling method.");
- }
- return;
- } else if (!applySamsungBadger) {
- return;
- }
- applyLegacySamsungBadge(context, number);
- }
-
- private boolean isLegacySamsungLauncher(Context context) {
- Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.addCategory(Intent.CATEGORY_HOME);
- ResolveInfo resolveInfo = context.getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
-
- if (resolveInfo == null || resolveInfo.activityInfo.name.toLowerCase().contains("resolver")) {
- return false;
- }
-
- String currentHomePackage = resolveInfo.activityInfo.packageName;
- return LEGACY_SAMSUNG_BADGER.getSupportLaunchers().contains(currentHomePackage);
- }
-
- private boolean applyLegacySamsungBadge(Context context, int number) {
- try {
- LEGACY_SAMSUNG_BADGER.executeBadge(context, componentName, number);
- return true;
- } catch (Exception e) {
- FLog.w(LOG_TAG, "Legacy Samsung badger failed", e);
- return false;
- }
- }
}
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java
index bb58bd2b9..d16268059 100644
--- a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java
+++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java
@@ -8,33 +8,51 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
-import android.support.v4.app.NotificationManagerCompat;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.core.app.NotificationManagerCompat;
import com.dieam.reactnativepushnotification.helpers.ApplicationBadgeHelper;
import com.facebook.react.bridge.ActivityEventListener;
import com.facebook.react.bridge.Arguments;
+import com.facebook.react.bridge.Callback;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.ReadableArray;
+import com.facebook.react.bridge.WritableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.bridge.WritableMap;
+import java.io.IOException;
+import java.security.SecureRandom;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
-import java.util.Random;
import android.util.Log;
+import com.google.android.gms.tasks.OnCompleteListener;
+import com.google.android.gms.tasks.Task;
import com.google.firebase.messaging.FirebaseMessaging;
public class RNPushNotification extends ReactContextBaseJavaModule implements ActivityEventListener {
public static final String LOG_TAG = "RNPushNotification";// all logging should use this tag
+ public static final String KEY_TEXT_REPLY = "key_text_reply";
+
+ public interface RNIntentHandler {
+ void onNewIntent(Intent intent);
+
+ @Nullable
+ Bundle getBundleFromIntent(Intent intent);
+ }
+
+ public static ArrayList IntentHandlers = new ArrayList();
private RNPushNotificationHelper mRNPushNotificationHelper;
- private final Random mRandomNumberGenerator = new Random(System.currentTimeMillis());
+ private final SecureRandom mRandomNumberGenerator = new SecureRandom();
private RNPushNotificationJsDelivery mJsDelivery;
public RNPushNotification(ReactApplicationContext reactContext) {
@@ -48,13 +66,11 @@ public RNPushNotification(ReactApplicationContext reactContext) {
mRNPushNotificationHelper = new RNPushNotificationHelper(applicationContext);
// This is used to delivery callbacks to JS
mJsDelivery = new RNPushNotificationJsDelivery(reactContext);
-
- registerNotificationsRegistration();
}
@Override
public String getName() {
- return "RNPushNotification";
+ return "ReactNativePushNotification";
}
@Override
@@ -69,55 +85,45 @@ private Bundle getBundleFromIntent(Intent intent) {
if (intent.hasExtra("notification")) {
bundle = intent.getBundleExtra("notification");
} else if (intent.hasExtra("google.message_id")) {
- bundle = intent.getExtras();
+ bundle = new Bundle();
+
+ bundle.putBundle("data", intent.getExtras());
+ }
+
+ if (bundle == null) {
+ for (RNIntentHandler handler : IntentHandlers) {
+ bundle = handler.getBundleFromIntent(intent);
+ }
}
+
+ if(null != bundle && !bundle.getBoolean("foreground", false) && !bundle.containsKey("userInteraction")) {
+ bundle.putBoolean("userInteraction", true);
+ }
+
return bundle;
}
+
+ @Override
public void onNewIntent(Intent intent) {
+ for (RNIntentHandler handler : IntentHandlers) {
+ handler.onNewIntent(intent);
+ }
+
Bundle bundle = this.getBundleFromIntent(intent);
if (bundle != null) {
- bundle.putBoolean("foreground", false);
- intent.putExtra("notification", bundle);
mJsDelivery.notifyNotification(bundle);
}
}
- private void registerNotificationsRegistration() {
- IntentFilter intentFilter = new IntentFilter(getReactApplicationContext().getPackageName() + ".RNPushNotificationRegisteredToken");
-
- getReactApplicationContext().registerReceiver(new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- String token = intent.getStringExtra("token");
- WritableMap params = Arguments.createMap();
- params.putString("deviceToken", token);
-
- mJsDelivery.sendEvent("remoteNotificationsRegistered", params);
- }
- }, intentFilter);
- }
+ @ReactMethod
+ public void invokeApp(ReadableMap data) {
+ Bundle bundle = null;
- private void registerNotificationsReceiveNotificationActions(ReadableArray actions) {
- IntentFilter intentFilter = new IntentFilter();
- // Add filter for each actions.
- for (int i = 0; i < actions.size(); i++) {
- String action = actions.getString(i);
- intentFilter.addAction(getReactApplicationContext().getPackageName() + "." + action);
+ if (data != null) {
+ bundle = Arguments.toBundle(data);
}
- getReactApplicationContext().registerReceiver(new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- Bundle bundle = intent.getBundleExtra("notification");
-
- // Notify the action.
- mJsDelivery.notifyNotificationAction(bundle);
-
- // Dismiss the notification popup.
- NotificationManager manager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
- int notificationID = Integer.parseInt(bundle.getString("id"));
- manager.cancel(notificationID);
- }
- }, intentFilter);
+
+ mRNPushNotificationHelper.invokeApp(bundle);
}
@ReactMethod
@@ -128,23 +134,34 @@ public void checkPermissions(Promise promise) {
}
@ReactMethod
- public void requestPermissions(String senderID) {
- ReactContext reactContext = getReactApplicationContext();
-
- Intent GCMService = new Intent(reactContext, RNPushNotificationRegistrationService.class);
-
- try {
- GCMService.putExtra("senderID", senderID);
- reactContext.startService(GCMService);
- } catch (Exception e) {
- Log.d("EXCEPTION SERVICE::::::", "requestPermissions: " + e);
- }
+ public void requestPermissions() {
+ final RNPushNotificationJsDelivery fMjsDelivery = mJsDelivery;
+
+ FirebaseMessaging.getInstance().getToken()
+ .addOnCompleteListener(new OnCompleteListener() {
+ @Override
+ public void onComplete(@NonNull Task task) {
+ if (!task.isSuccessful()) {
+ Log.e(LOG_TAG, "exception", task.getException());
+ return;
+ }
+
+ WritableMap params = Arguments.createMap();
+ params.putString("deviceToken", task.getResult());
+ fMjsDelivery.sendEvent("remoteNotificationsRegistered", params);
+ }
+ });
}
@ReactMethod
public void subscribeToTopic(String topic) {
FirebaseMessaging.getInstance().subscribeToTopic(topic);
}
+
+ @ReactMethod
+ public void unsubscribeFromTopic(String topic) {
+ FirebaseMessaging.getInstance().unsubscribeFromTopic(topic);
+ }
@ReactMethod
public void presentLocalNotification(ReadableMap details) {
@@ -201,10 +218,6 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
* Cancels all scheduled local notifications, and removes all entries from the notification
* centre.
*
- * We're attempting to keep feature parity with the RN iOS implementation in
- * RCTPushNotificationManager .
- *
- * @see RN docs
*/
public void cancelAllLocalNotifications() {
mRNPushNotificationHelper.cancelAllScheduledNotifications();
@@ -213,27 +226,117 @@ public void cancelAllLocalNotifications() {
@ReactMethod
/**
- * Cancel scheduled notifications, and removes notifications from the notification centre.
+ * Cancel scheduled notification, and remove notification from the notification centre.
*
- * Note - as we are trying to achieve feature parity with iOS, this method cannot be used
- * to remove specific alerts from the notification centre.
- *
- * @see RN docs
*/
- public void cancelLocalNotifications(ReadableMap userInfo) {
- mRNPushNotificationHelper.cancelScheduledNotification(userInfo);
+ public void cancelLocalNotification(String notification_id) {
+ mRNPushNotificationHelper.cancelScheduledNotification(notification_id);
}
@ReactMethod
/**
* Clear notification from the notification centre.
*/
- public void clearLocalNotification(int notificationID) {
- mRNPushNotificationHelper.clearNotification(notificationID);
+ public void clearLocalNotification(String tag, int notificationID) {
+ mRNPushNotificationHelper.clearNotification(tag, notificationID);
+ }
+
+ @ReactMethod
+ /**
+ * Clears all notifications from the notification center
+ *
+ */
+ public void removeAllDeliveredNotifications() {
+ mRNPushNotificationHelper.clearNotifications();
+ }
+
+ @ReactMethod
+ /**
+ * Returns a list of all notifications currently in the Notification Center
+ */
+ public void getDeliveredNotifications(Callback callback) {
+ callback.invoke(mRNPushNotificationHelper.getDeliveredNotifications());
}
@ReactMethod
- public void registerNotificationActions(ReadableArray actions) {
- registerNotificationsReceiveNotificationActions(actions);
+ /**
+ * Returns a list of all currently scheduled notifications
+ */
+ public void getScheduledLocalNotifications(Callback callback) {
+ callback.invoke(mRNPushNotificationHelper.getScheduledLocalNotifications());
+ }
+
+ @ReactMethod
+ /**
+ * Removes notifications from the Notification Center, whose id matches
+ * an element in the provided array
+ */
+ public void removeDeliveredNotifications(ReadableArray identifiers) {
+ mRNPushNotificationHelper.clearDeliveredNotifications(identifiers);
+ }
+
+ @ReactMethod
+ /**
+ * Unregister for all remote notifications received
+ */
+ public void abandonPermissions() {
+ FirebaseMessaging.getInstance().deleteToken();
+ Log.i(LOG_TAG, "InstanceID deleted");
+ }
+
+ @ReactMethod
+ /**
+ * List all channels id
+ */
+ public void getChannels(Callback callback) {
+ WritableArray array = Arguments.fromList(mRNPushNotificationHelper.listChannels());
+
+ if(callback != null) {
+ callback.invoke(array);
+ }
+ }
+
+ @ReactMethod
+ /**
+ * Check if channel exists with a given id
+ */
+ public void channelExists(String channel_id, Callback callback) {
+ boolean exists = mRNPushNotificationHelper.channelExists(channel_id);
+
+ if(callback != null) {
+ callback.invoke(exists);
+ }
+ }
+
+ @ReactMethod
+ /**
+ * Creates a channel if it does not already exist. Returns whether the channel was created.
+ */
+ public void createChannel(ReadableMap channelInfo, Callback callback) {
+ boolean created = mRNPushNotificationHelper.createChannel(channelInfo);
+
+ if(callback != null) {
+ callback.invoke(created);
+ }
+ }
+
+ @ReactMethod
+ /**
+ * Check if channel is blocked with a given id
+ */
+ public void channelBlocked(String channel_id, Callback callback) {
+ boolean blocked = mRNPushNotificationHelper.channelBlocked(channel_id);
+
+ if(callback != null) {
+ callback.invoke(blocked);
+ }
+ }
+
+ @ReactMethod
+ /**
+ * Delete channel with a given id
+ */
+ public void deleteChannel(String channel_id) {
+ mRNPushNotificationHelper.deleteChannel(channel_id);
}
}
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationActions.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationActions.java
new file mode 100644
index 000000000..ada960388
--- /dev/null
+++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationActions.java
@@ -0,0 +1,102 @@
+package com.dieam.reactnativepushnotification.modules;
+
+import android.app.Application;
+import android.app.NotificationManager;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
+import android.util.Log;
+
+import com.facebook.react.ReactApplication;
+import com.facebook.react.ReactInstanceManager;
+import com.facebook.react.bridge.ReactContext;
+import androidx.core.app.RemoteInput;
+
+import static com.dieam.reactnativepushnotification.modules.RNPushNotification.LOG_TAG;
+import static com.dieam.reactnativepushnotification.modules.RNPushNotification.KEY_TEXT_REPLY;
+
+public class RNPushNotificationActions extends BroadcastReceiver {
+ @Override
+ public void onReceive(final Context context, Intent intent) {
+ String intentActionPrefix = context.getPackageName() + ".ACTION_";
+
+ Log.i(LOG_TAG, "RNPushNotificationBootEventReceiver loading scheduled notifications");
+
+ if (null == intent.getAction() || !intent.getAction().startsWith(intentActionPrefix)) {
+ return;
+ }
+
+ final Bundle bundle = intent.getBundleExtra("notification");
+ Bundle remoteInput = null;
+
+ if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT_WATCH){
+ remoteInput = RemoteInput.getResultsFromIntent(intent);
+ }
+ if (remoteInput != null) {
+ // Add to reply_text the text written by the user in the notification
+ bundle.putCharSequence("reply_text", remoteInput.getCharSequence(KEY_TEXT_REPLY));
+ }
+ // Dismiss the notification popup.
+ NotificationManager manager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
+ int notificationID = Integer.parseInt(bundle.getString("id"));
+
+ boolean autoCancel = bundle.getBoolean("autoCancel", true);
+
+ if(autoCancel) {
+ if (bundle.containsKey("tag")) {
+ String tag = bundle.getString("tag");
+ manager.cancel(tag, notificationID);
+ } else {
+ manager.cancel(notificationID);
+ }
+ }
+
+ boolean invokeApp = bundle.getBoolean("invokeApp", true);
+
+ // Notify the action.
+ if(invokeApp) {
+ RNPushNotificationHelper helper = new RNPushNotificationHelper((Application) context.getApplicationContext());
+
+ helper.invokeApp(bundle);
+
+ context.sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
+ } else {
+
+ // We need to run this on the main thread, as the React code assumes that is true.
+ // Namely, DevServerHelper constructs a Handler() without a Looper, which triggers:
+ // "Can't create handler inside thread that has not called Looper.prepare()"
+ Handler handler = new Handler(Looper.getMainLooper());
+ handler.post(new Runnable() {
+ public void run() {
+ // Construct and load our normal React JS code bundle
+ final ReactInstanceManager mReactInstanceManager = ((ReactApplication) context.getApplicationContext()).getReactNativeHost().getReactInstanceManager();
+ ReactContext context = mReactInstanceManager.getCurrentReactContext();
+ // If it's constructed, send a notification
+ if (context != null) {
+ RNPushNotificationJsDelivery mJsDelivery = new RNPushNotificationJsDelivery(context);
+
+ mJsDelivery.notifyNotificationAction(bundle);
+ } else {
+ // Otherwise wait for construction, then send the notification
+ mReactInstanceManager.addReactInstanceEventListener(new ReactInstanceManager.ReactInstanceEventListener() {
+ public void onReactContextInitialized(ReactContext context) {
+ RNPushNotificationJsDelivery mJsDelivery = new RNPushNotificationJsDelivery(context);
+
+ mJsDelivery.notifyNotificationAction(bundle);
+
+ mReactInstanceManager.removeReactInstanceEventListener(this);
+ }
+ });
+ if (!mReactInstanceManager.hasStartedCreatingInitialContext()) {
+ // Construct it in the background
+ mReactInstanceManager.createReactContextInBackground();
+ }
+ }
+ }
+ });
+ }
+ }
+}
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationAttributes.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationAttributes.java
index 25357af3b..1602daa0d 100644
--- a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationAttributes.java
+++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationAttributes.java
@@ -1,7 +1,7 @@
package com.dieam.reactnativepushnotification.modules;
import android.os.Bundle;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.util.Log;
import com.facebook.react.bridge.ReadableMap;
@@ -10,6 +10,8 @@
import org.json.JSONException;
import org.json.JSONObject;
+import java.util.Iterator;
+
import static com.dieam.reactnativepushnotification.modules.RNPushNotification.LOG_TAG;
public class RNPushNotificationAttributes {
@@ -18,48 +20,80 @@ public class RNPushNotificationAttributes {
private static final String FIRE_DATE = "fireDate";
private static final String TITLE = "title";
private static final String TICKER = "ticker";
+ private static final String SHOW_WHEN = "showWhen";
private static final String AUTO_CANCEL = "autoCancel";
private static final String LARGE_ICON = "largeIcon";
+ private static final String LARGE_ICON_URL = "largeIconUrl";
private static final String SMALL_ICON = "smallIcon";
private static final String BIG_TEXT = "bigText";
private static final String SUB_TEXT = "subText";
+ private static final String BIG_PICTURE_URL = "bigPictureUrl";
+ private static final String SHORTCUT_ID = "shortcutId";
+ private static final String CHANNEL_ID = "channelId";
private static final String NUMBER = "number";
private static final String SOUND = "sound";
private static final String COLOR = "color";
private static final String GROUP = "group";
- private static final String USER_INTERACTION = "userInteraction";
+ private static final String GROUP_SUMMARY = "groupSummary";
+ private static final String MESSAGE_ID = "messageId";
private static final String PLAY_SOUND = "playSound";
private static final String VIBRATE = "vibrate";
private static final String VIBRATION = "vibration";
private static final String ACTIONS = "actions";
+ private static final String INVOKE_APP = "invokeApp";
private static final String TAG = "tag";
private static final String REPEAT_TYPE = "repeatType";
private static final String REPEAT_TIME = "repeatTime";
+ private static final String WHEN = "when";
+ private static final String USES_CHRONOMETER = "usesChronometer";
+ private static final String TIMEOUT_AFTER = "timeoutAfter";
+ private static final String ONLY_ALERT_ONCE = "onlyAlertOnce";
private static final String ONGOING = "ongoing";
+ private static final String REPLY_BUTTON_TEXT = "reply_button_text";
+ private static final String REPLAY_PLACEHOLDER_TEXT = "reply_placeholder_text";
+ private static final String ALLOW_WHILE_IDLE = "allowWhileIdle";
+ private static final String IGNORE_IN_FOREGROUND = "ignoreInForeground";
+ private static final String USER_INFO = "userInfo";
private final String id;
private final String message;
private final double fireDate;
private final String title;
private final String ticker;
+ private final boolean showWhen;
private final boolean autoCancel;
private final String largeIcon;
+ private final String largeIconUrl;
private final String smallIcon;
private final String bigText;
private final String subText;
+ private final String bigPictureUrl;
+ private final String shortcutId;
private final String number;
+ private final String channelId;
private final String sound;
private final String color;
private final String group;
- private final boolean userInteraction;
+ private final boolean groupSummary;
+ private final String messageId;
private final boolean playSound;
private final boolean vibrate;
private final double vibration;
private final String actions;
+ private final boolean invokeApp;
private final String tag;
private final String repeatType;
private final double repeatTime;
+ private final double when;
+ private final boolean usesChronometer;
+ private final double timeoutAfter;
+ private final boolean onlyAlertOnce;
private final boolean ongoing;
+ private final String reply_button_text;
+ private final String reply_placeholder_text;
+ private final boolean allowWhileIdle;
+ private final boolean ignoreInForeground;
+ private final String userInfo;
public RNPushNotificationAttributes(Bundle bundle) {
id = bundle.getString(ID);
@@ -67,24 +101,40 @@ public RNPushNotificationAttributes(Bundle bundle) {
fireDate = bundle.getDouble(FIRE_DATE);
title = bundle.getString(TITLE);
ticker = bundle.getString(TICKER);
+ showWhen = bundle.getBoolean(SHOW_WHEN);
autoCancel = bundle.getBoolean(AUTO_CANCEL);
largeIcon = bundle.getString(LARGE_ICON);
+ largeIconUrl = bundle.getString(LARGE_ICON_URL);
smallIcon = bundle.getString(SMALL_ICON);
bigText = bundle.getString(BIG_TEXT);
subText = bundle.getString(SUB_TEXT);
+ bigPictureUrl= bundle.getString(BIG_PICTURE_URL);
+ shortcutId = bundle.getString(SHORTCUT_ID);
number = bundle.getString(NUMBER);
+ channelId = bundle.getString(CHANNEL_ID);
sound = bundle.getString(SOUND);
color = bundle.getString(COLOR);
group = bundle.getString(GROUP);
- userInteraction = bundle.getBoolean(USER_INTERACTION);
+ groupSummary = bundle.getBoolean(GROUP_SUMMARY);
+ messageId = bundle.getString(MESSAGE_ID);
playSound = bundle.getBoolean(PLAY_SOUND);
vibrate = bundle.getBoolean(VIBRATE);
vibration = bundle.getDouble(VIBRATION);
actions = bundle.getString(ACTIONS);
+ invokeApp = bundle.getBoolean(INVOKE_APP);
tag = bundle.getString(TAG);
repeatType = bundle.getString(REPEAT_TYPE);
repeatTime = bundle.getDouble(REPEAT_TIME);
+ when = bundle.getDouble(WHEN);
+ usesChronometer = bundle.getBoolean(USES_CHRONOMETER);
+ timeoutAfter = bundle.getDouble(TIMEOUT_AFTER);
+ onlyAlertOnce = bundle.getBoolean(ONLY_ALERT_ONCE);
ongoing = bundle.getBoolean(ONGOING);
+ reply_button_text = bundle.getString(REPLY_BUTTON_TEXT);
+ reply_placeholder_text = bundle.getString(REPLAY_PLACEHOLDER_TEXT);
+ allowWhileIdle = bundle.getBoolean(ALLOW_WHILE_IDLE);
+ ignoreInForeground = bundle.getBoolean(IGNORE_IN_FOREGROUND);
+ userInfo = bundle.getString(USER_INFO);
}
private RNPushNotificationAttributes(JSONObject jsonObject) {
@@ -94,24 +144,40 @@ private RNPushNotificationAttributes(JSONObject jsonObject) {
fireDate = jsonObject.has(FIRE_DATE) ? jsonObject.getDouble(FIRE_DATE) : 0.0;
title = jsonObject.has(TITLE) ? jsonObject.getString(TITLE) : null;
ticker = jsonObject.has(TICKER) ? jsonObject.getString(TICKER) : null;
+ showWhen = jsonObject.has(SHOW_WHEN) ? jsonObject.getBoolean(SHOW_WHEN) : true;
autoCancel = jsonObject.has(AUTO_CANCEL) ? jsonObject.getBoolean(AUTO_CANCEL) : true;
largeIcon = jsonObject.has(LARGE_ICON) ? jsonObject.getString(LARGE_ICON) : null;
+ largeIconUrl = jsonObject.has(LARGE_ICON_URL) ? jsonObject.getString(LARGE_ICON_URL) : null;
smallIcon = jsonObject.has(SMALL_ICON) ? jsonObject.getString(SMALL_ICON) : null;
bigText = jsonObject.has(BIG_TEXT) ? jsonObject.getString(BIG_TEXT) : null;
subText = jsonObject.has(SUB_TEXT) ? jsonObject.getString(SUB_TEXT) : null;
+ bigPictureUrl = jsonObject.has(BIG_PICTURE_URL) ? jsonObject.getString(BIG_PICTURE_URL) : null;
+ shortcutId = jsonObject.has(SHORTCUT_ID) ? jsonObject.getString(SHORTCUT_ID) : null;
number = jsonObject.has(NUMBER) ? jsonObject.getString(NUMBER) : null;
+ channelId = jsonObject.has(CHANNEL_ID) ? jsonObject.getString(CHANNEL_ID) : null;
sound = jsonObject.has(SOUND) ? jsonObject.getString(SOUND) : null;
color = jsonObject.has(COLOR) ? jsonObject.getString(COLOR) : null;
group = jsonObject.has(GROUP) ? jsonObject.getString(GROUP) : null;
- userInteraction = jsonObject.has(USER_INTERACTION) ? jsonObject.getBoolean(USER_INTERACTION) : false;
+ groupSummary = jsonObject.has(GROUP_SUMMARY) ? jsonObject.getBoolean(GROUP_SUMMARY) : false;
+ messageId = jsonObject.has(MESSAGE_ID) ? jsonObject.getString(MESSAGE_ID) : null;
playSound = jsonObject.has(PLAY_SOUND) ? jsonObject.getBoolean(PLAY_SOUND) : true;
vibrate = jsonObject.has(VIBRATE) ? jsonObject.getBoolean(VIBRATE) : true;
vibration = jsonObject.has(VIBRATION) ? jsonObject.getDouble(VIBRATION) : 1000;
actions = jsonObject.has(ACTIONS) ? jsonObject.getString(ACTIONS) : null;
+ invokeApp = jsonObject.has(INVOKE_APP) ? jsonObject.getBoolean(INVOKE_APP) : true;
tag = jsonObject.has(TAG) ? jsonObject.getString(TAG) : null;
repeatType = jsonObject.has(REPEAT_TYPE) ? jsonObject.getString(REPEAT_TYPE) : null;
repeatTime = jsonObject.has(REPEAT_TIME) ? jsonObject.getDouble(REPEAT_TIME) : 0.0;
+ when = jsonObject.has(WHEN) ? jsonObject.getDouble(WHEN) : -1;
+ usesChronometer = jsonObject.has(USES_CHRONOMETER) ? jsonObject.getBoolean(USES_CHRONOMETER) : false;
+ timeoutAfter = jsonObject.has(TIMEOUT_AFTER) ? jsonObject.getDouble(TIMEOUT_AFTER) : -1;
+ onlyAlertOnce = jsonObject.has(ONLY_ALERT_ONCE) ? jsonObject.getBoolean(ONLY_ALERT_ONCE) : false;
ongoing = jsonObject.has(ONGOING) ? jsonObject.getBoolean(ONGOING) : false;
+ reply_button_text = jsonObject.has(REPLY_BUTTON_TEXT) ? jsonObject.getString(REPLY_BUTTON_TEXT) : null;
+ reply_placeholder_text = jsonObject.has(REPLAY_PLACEHOLDER_TEXT) ? jsonObject.getString(REPLAY_PLACEHOLDER_TEXT) : null;
+ allowWhileIdle = jsonObject.has(ALLOW_WHILE_IDLE) ? jsonObject.getBoolean(ALLOW_WHILE_IDLE) : false;
+ ignoreInForeground = jsonObject.has(IGNORE_IN_FOREGROUND) ? jsonObject.getBoolean(IGNORE_IN_FOREGROUND) : false;
+ userInfo = jsonObject.has(USER_INFO) ? jsonObject.getString(USER_INFO) : null;
} catch (JSONException e) {
throw new IllegalStateException("Exception while initializing RNPushNotificationAttributes from JSON", e);
}
@@ -120,58 +186,10 @@ private RNPushNotificationAttributes(JSONObject jsonObject) {
@NonNull
public static RNPushNotificationAttributes fromJson(String notificationAttributesJson) throws JSONException {
JSONObject jsonObject = new JSONObject(notificationAttributesJson);
+
return new RNPushNotificationAttributes(jsonObject);
}
- /**
- * User to find notifications:
- *
- * https://github.com/facebook/react-native/blob/master/Libraries/PushNotificationIOS/RCTPushNotificationManager.m#L294
- *
- * @param userInfo map of fields to match
- * @return true all fields in userInfo object match, false otherwise
- */
- public boolean matches(ReadableMap userInfo) {
- Bundle bundle = toBundle();
-
- ReadableMapKeySetIterator iterator = userInfo.keySetIterator();
- while (iterator.hasNextKey()) {
- String key = iterator.nextKey();
-
- if (!bundle.containsKey(key))
- return false;
-
- switch (userInfo.getType(key)) {
- case Null: {
- if (bundle.get(key) != null)
- return false;
- break;
- }
- case Boolean: {
- if (userInfo.getBoolean(key) != bundle.getBoolean(key))
- return false;
- break;
- }
- case Number: {
- if ((userInfo.getDouble(key) != bundle.getDouble(key)) && (userInfo.getInt(key) != bundle.getInt(key)))
- return false;
- break;
- }
- case String: {
- if (!userInfo.getString(key).equals(bundle.getString(key)))
- return false;
- break;
- }
- case Map:
- return false;//there are no maps in the bundle
- case Array:
- return false;//there are no arrays in the bundle
- }
- }
-
- return true;
- }
-
public Bundle toBundle() {
Bundle bundle = new Bundle();
bundle.putString(ID, id);
@@ -179,24 +197,40 @@ public Bundle toBundle() {
bundle.putDouble(FIRE_DATE, fireDate);
bundle.putString(TITLE, title);
bundle.putString(TICKER, ticker);
+ bundle.putBoolean(SHOW_WHEN, showWhen);
bundle.putBoolean(AUTO_CANCEL, autoCancel);
bundle.putString(LARGE_ICON, largeIcon);
+ bundle.putString(LARGE_ICON_URL, largeIconUrl);
bundle.putString(SMALL_ICON, smallIcon);
bundle.putString(BIG_TEXT, bigText);
bundle.putString(SUB_TEXT, subText);
+ bundle.putString(BIG_PICTURE_URL, bigPictureUrl);
+ bundle.putString(SHORTCUT_ID, shortcutId);
bundle.putString(NUMBER, number);
+ bundle.putString(CHANNEL_ID, channelId);
bundle.putString(SOUND, sound);
bundle.putString(COLOR, color);
bundle.putString(GROUP, group);
- bundle.putBoolean(USER_INTERACTION, userInteraction);
+ bundle.putBoolean(GROUP_SUMMARY, groupSummary);
+ bundle.putString(MESSAGE_ID, messageId);
bundle.putBoolean(PLAY_SOUND, playSound);
bundle.putBoolean(VIBRATE, vibrate);
bundle.putDouble(VIBRATION, vibration);
bundle.putString(ACTIONS, actions);
+ bundle.putBoolean(INVOKE_APP, invokeApp);
bundle.putString(TAG, tag);
bundle.putString(REPEAT_TYPE, repeatType);
bundle.putDouble(REPEAT_TIME, repeatTime);
+ bundle.putDouble(WHEN, when);
+ bundle.putBoolean(USES_CHRONOMETER, usesChronometer);
+ bundle.putDouble(TIMEOUT_AFTER, timeoutAfter);
+ bundle.putBoolean(ONLY_ALERT_ONCE, onlyAlertOnce);
bundle.putBoolean(ONGOING, ongoing);
+ bundle.putString(REPLY_BUTTON_TEXT, reply_button_text);
+ bundle.putString(REPLAY_PLACEHOLDER_TEXT, reply_placeholder_text);
+ bundle.putBoolean(ALLOW_WHILE_IDLE, allowWhileIdle);
+ bundle.putBoolean(IGNORE_IN_FOREGROUND, ignoreInForeground);
+ bundle.putString(USER_INFO, userInfo);
return bundle;
}
@@ -208,24 +242,40 @@ public JSONObject toJson() {
jsonObject.put(FIRE_DATE, fireDate);
jsonObject.put(TITLE, title);
jsonObject.put(TICKER, ticker);
+ jsonObject.put(SHOW_WHEN, showWhen);
jsonObject.put(AUTO_CANCEL, autoCancel);
jsonObject.put(LARGE_ICON, largeIcon);
+ jsonObject.put(LARGE_ICON_URL, largeIconUrl);
jsonObject.put(SMALL_ICON, smallIcon);
jsonObject.put(BIG_TEXT, bigText);
+ jsonObject.put(BIG_PICTURE_URL, bigPictureUrl);
jsonObject.put(SUB_TEXT, subText);
+ jsonObject.put(SHORTCUT_ID, shortcutId);
jsonObject.put(NUMBER, number);
+ jsonObject.put(CHANNEL_ID, channelId);
jsonObject.put(SOUND, sound);
jsonObject.put(COLOR, color);
jsonObject.put(GROUP, group);
- jsonObject.put(USER_INTERACTION, userInteraction);
+ jsonObject.put(GROUP_SUMMARY, groupSummary);
+ jsonObject.put(MESSAGE_ID, messageId);
jsonObject.put(PLAY_SOUND, playSound);
jsonObject.put(VIBRATE, vibrate);
jsonObject.put(VIBRATION, vibration);
jsonObject.put(ACTIONS, actions);
+ jsonObject.put(INVOKE_APP, invokeApp);
jsonObject.put(TAG, tag);
jsonObject.put(REPEAT_TYPE, repeatType);
jsonObject.put(REPEAT_TIME, repeatTime);
+ jsonObject.put(WHEN, when);
+ jsonObject.put(USES_CHRONOMETER, usesChronometer);
+ jsonObject.put(TIMEOUT_AFTER, timeoutAfter);
+ jsonObject.put(ONLY_ALERT_ONCE, onlyAlertOnce);
jsonObject.put(ONGOING, ongoing);
+ jsonObject.put(REPLY_BUTTON_TEXT, reply_button_text);
+ jsonObject.put(REPLAY_PLACEHOLDER_TEXT, reply_placeholder_text);
+ jsonObject.put(ALLOW_WHILE_IDLE, allowWhileIdle);
+ jsonObject.put(IGNORE_IN_FOREGROUND, ignoreInForeground);
+ jsonObject.put(USER_INFO, userInfo);
} catch (JSONException e) {
Log.e(LOG_TAG, "Exception while converting RNPushNotificationAttributes to " +
"JSON. Returning an empty object", e);
@@ -243,24 +293,40 @@ public String toString() {
", fireDate=" + fireDate +
", title='" + title + '\'' +
", ticker='" + ticker + '\'' +
+ ", showWhen=" + showWhen +
", autoCancel=" + autoCancel +
", largeIcon='" + largeIcon + '\'' +
+ ", largeIconUrl='" + largeIconUrl + '\'' +
", smallIcon='" + smallIcon + '\'' +
", bigText='" + bigText + '\'' +
", subText='" + subText + '\'' +
+ ", bigPictureUrl='" + bigPictureUrl + '\'' +
+ ", shortcutId='" + shortcutId + '\'' +
", number='" + number + '\'' +
+ ", channelId='" + channelId + '\'' +
", sound='" + sound + '\'' +
", color='" + color + '\'' +
", group='" + group + '\'' +
- ", userInteraction=" + userInteraction +
+ ", groupSummary='" + groupSummary + '\'' +
+ ", messageId='" + messageId + '\'' +
", playSound=" + playSound +
", vibrate=" + vibrate +
", vibration=" + vibration +
", actions='" + actions + '\'' +
+ ", invokeApp=" + invokeApp +
", tag='" + tag + '\'' +
", repeatType='" + repeatType + '\'' +
", repeatTime=" + repeatTime +
+ ", when=" + when +
+ ", usesChronometer=" + usesChronometer +
+ ", timeoutAfter=" + timeoutAfter +
+ ", onlyAlertOnce=" + onlyAlertOnce +
", ongoing=" + ongoing +
+ ", reply_button_text=" + reply_button_text +
+ ", reply_placeholder_text=" + reply_placeholder_text +
+ ", allowWhileIdle=" + allowWhileIdle +
+ ", ignoreInForeground=" + ignoreInForeground +
+ ", userInfo=" + userInfo +
'}';
}
@@ -268,8 +334,31 @@ public String getId() {
return id;
}
+ public String getSound() {
+ return sound;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public String getNumber() {
+ return number;
+ }
+
+ public String getUserInfo() {
+ return userInfo;
+ }
+
+ public String getRepeatType() {
+ return repeatType;
+ }
+
public double getFireDate() {
return fireDate;
}
-
}
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationBootEventReceiver.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationBootEventReceiver.java
index 82a575883..6552a87ec 100644
--- a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationBootEventReceiver.java
+++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationBootEventReceiver.java
@@ -20,32 +20,30 @@ public class RNPushNotificationBootEventReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Log.i(LOG_TAG, "RNPushNotificationBootEventReceiver loading scheduled notifications");
- if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
- SharedPreferences sharedPreferences = context.getSharedPreferences(RNPushNotificationHelper.PREFERENCES_KEY, Context.MODE_PRIVATE);
- Set ids = sharedPreferences.getAll().keySet();
-
- Application applicationContext = (Application) context.getApplicationContext();
- RNPushNotificationHelper rnPushNotificationHelper = new RNPushNotificationHelper(applicationContext);
-
- for (String id : ids) {
- try {
- String notificationAttributesJson = sharedPreferences.getString(id, null);
- if (notificationAttributesJson != null) {
- RNPushNotificationAttributes notificationAttributes = RNPushNotificationAttributes.fromJson(notificationAttributesJson);
-
- if (notificationAttributes.getFireDate() < System.currentTimeMillis()) {
- Log.i(LOG_TAG, "RNPushNotificationBootEventReceiver: Showing notification for " +
- notificationAttributes.getId());
- rnPushNotificationHelper.sendToNotificationCentre(notificationAttributes.toBundle());
- } else {
- Log.i(LOG_TAG, "RNPushNotificationBootEventReceiver: Scheduling notification for " +
- notificationAttributes.getId());
- rnPushNotificationHelper.sendNotificationScheduledCore(notificationAttributes.toBundle());
- }
+ SharedPreferences sharedPreferences = context.getSharedPreferences(RNPushNotificationHelper.PREFERENCES_KEY, Context.MODE_PRIVATE);
+ Set ids = sharedPreferences.getAll().keySet();
+
+ Application applicationContext = (Application) context.getApplicationContext();
+ RNPushNotificationHelper rnPushNotificationHelper = new RNPushNotificationHelper(applicationContext);
+
+ for (String id : ids) {
+ try {
+ String notificationAttributesJson = sharedPreferences.getString(id, null);
+ if (notificationAttributesJson != null) {
+ RNPushNotificationAttributes notificationAttributes = RNPushNotificationAttributes.fromJson(notificationAttributesJson);
+
+ if (notificationAttributes.getFireDate() < System.currentTimeMillis()) {
+ Log.i(LOG_TAG, "RNPushNotificationBootEventReceiver: Showing notification for " +
+ notificationAttributes.getId());
+ rnPushNotificationHelper.sendToNotificationCentre(notificationAttributes.toBundle());
+ } else {
+ Log.i(LOG_TAG, "RNPushNotificationBootEventReceiver: Scheduling notification for " +
+ notificationAttributes.getId());
+ rnPushNotificationHelper.sendNotificationScheduledCore(notificationAttributes.toBundle());
}
- } catch (Exception e) {
- Log.e(LOG_TAG, "Problem with boot receiver loading notification " + id, e);
}
+ } catch (Exception e) {
+ Log.e(LOG_TAG, "Problem with boot receiver loading notification " + id, e);
}
}
}
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationConfig.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationConfig.java
index 4be035262..e17927753 100644
--- a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationConfig.java
+++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationConfig.java
@@ -3,13 +3,14 @@
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
-import android.support.v4.content.res.ResourcesCompat;
+import androidx.core.content.res.ResourcesCompat;
import android.os.Bundle;
import android.util.Log;
class RNPushNotificationConfig {
- private static final String KEY_CHANNEL_NAME = "com.dieam.reactnativepushnotification.notification_channel_name";
- private static final String KEY_CHANNEL_DESCRIPTION = "com.dieam.reactnativepushnotification.notification_channel_description";
+ private static final String KEY_NOTIFICATION_FIREBASE_DEFAULT_CHANNEL_ID = "com.google.firebase.messaging.default_notification_channel_id";
+ private static final String KEY_NOTIFICATION_DEFAULT_CHANNEL_ID = "com.dieam.reactnativepushnotification.default_notification_channel_id";
+ private static final String KEY_NOTIFICATION_FOREGROUND = "com.dieam.reactnativepushnotification.notification_foreground";
private static final String KEY_NOTIFICATION_COLOR = "com.dieam.reactnativepushnotification.notification_color";
private static Bundle metadata;
@@ -29,24 +30,21 @@ public RNPushNotificationConfig(Context context) {
}
}
- public String getChannelName() {
+ private String getStringValue(String key, String defaultValue) {
try {
- return metadata.getString(KEY_CHANNEL_NAME);
- } catch (Exception e) {
- Log.w(RNPushNotification.LOG_TAG, "Unable to find " + KEY_CHANNEL_NAME + " in manifest. Falling back to default");
- }
- // Default
- return "rn-push-notification-channel";
- }
- public String getChannelDescription() {
- try {
- return metadata.getString(KEY_CHANNEL_DESCRIPTION);
+ final String value = metadata.getString(key);
+
+ if (value != null && value.length() > 0) {
+ return value;
+ }
} catch (Exception e) {
- Log.w(RNPushNotification.LOG_TAG, "Unable to find " + KEY_CHANNEL_DESCRIPTION + " in manifest. Falling back to default");
+ Log.w(RNPushNotification.LOG_TAG, "Unable to find " + key + " in manifest. Falling back to default");
}
+
// Default
- return "";
+ return defaultValue;
}
+
public int getNotificationColor() {
try {
int resourceId = metadata.getInt(KEY_NOTIFICATION_COLOR);
@@ -57,4 +55,26 @@ public int getNotificationColor() {
// Default
return -1;
}
+
+ public boolean getNotificationForeground() {
+ try {
+ return metadata.getBoolean(KEY_NOTIFICATION_FOREGROUND, false);
+ } catch (Exception e) {
+ Log.w(RNPushNotification.LOG_TAG, "Unable to find " + KEY_NOTIFICATION_FOREGROUND + " in manifest. Falling back to default");
+ }
+ // Default
+ return false;
+ }
+
+ public String getNotificationDefaultChannelId() {
+ try {
+ return getStringValue(KEY_NOTIFICATION_DEFAULT_CHANNEL_ID,
+ getStringValue(KEY_NOTIFICATION_FIREBASE_DEFAULT_CHANNEL_ID, "fcm_fallback_notification_channel")
+ );
+ } catch (Exception e) {
+ Log.w(RNPushNotification.LOG_TAG, "Unable to find " + KEY_NOTIFICATION_DEFAULT_CHANNEL_ID + " in manifest. Falling back to default");
+ }
+ // Default
+ return "fcm_fallback_notification_channel";
+ }
}
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationHelper.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationHelper.java
index 4a45b46e3..248ff0825 100644
--- a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationHelper.java
+++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationHelper.java
@@ -1,6 +1,7 @@
package com.dieam.reactnativepushnotification.modules;
-
+import android.app.ActivityManager;
+import android.app.ActivityManager.RunningAppProcessInfo;
import android.app.AlarmManager;
import android.app.Application;
import android.app.Notification;
@@ -15,34 +16,46 @@
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
+import android.media.AudioAttributes;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
-import android.support.v4.app.NotificationCompat;
+import android.service.notification.StatusBarNotification;
+import android.text.Spanned;
import android.util.Log;
+import androidx.core.app.RemoteInput;
+
+import androidx.annotation.RequiresApi;
+import androidx.core.app.NotificationCompat;
+import androidx.core.text.HtmlCompat;
+import com.facebook.react.bridge.Arguments;
+import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
+import com.facebook.react.bridge.WritableArray;
+import com.facebook.react.bridge.WritableMap;
import org.json.JSONArray;
import org.json.JSONException;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Calendar;
+import java.util.List;
+import java.util.Map;
import static com.dieam.reactnativepushnotification.modules.RNPushNotification.LOG_TAG;
import static com.dieam.reactnativepushnotification.modules.RNPushNotificationAttributes.fromJson;
+import static com.dieam.reactnativepushnotification.modules.RNPushNotification.KEY_TEXT_REPLY;
public class RNPushNotificationHelper {
public static final String PREFERENCES_KEY = "rn_push_notification";
private static final long DEFAULT_VIBRATION = 300L;
- private static final String NOTIFICATION_CHANNEL_ID = "rn-push-notification-channel-id";
private Context context;
private RNPushNotificationConfig config;
private final SharedPreferences scheduledNotificationsPersistence;
- private static final int ONE_MINUTE = 60 * 1000;
- private static final long ONE_HOUR = 60 * ONE_MINUTE;
- private static final long ONE_DAY = 24 * ONE_HOUR;
public RNPushNotificationHelper(Application context) {
this.context = context;
@@ -66,14 +79,44 @@ private AlarmManager getAlarmManager() {
return (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
}
+ public void invokeApp(Bundle bundle) {
+ String packageName = context.getPackageName();
+ Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);
+ String className = launchIntent.getComponent().getClassName();
+
+ try {
+ Class> activityClass = Class.forName(className);
+ Intent activityIntent = new Intent(context, activityClass);
+
+ if(bundle != null) {
+ activityIntent.putExtra("notification", bundle);
+ }
+
+ activityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+
+ context.startActivity(activityIntent);
+ } catch(Exception e) {
+ Log.e(LOG_TAG, "Class not found", e);
+ return;
+ }
+ }
+
private PendingIntent toScheduleNotificationIntent(Bundle bundle) {
- int notificationID = Integer.parseInt(bundle.getString("id"));
+ try {
+ int notificationID = Integer.parseInt(bundle.getString("id"));
+
+ Intent notificationIntent = new Intent(context, RNPushNotificationPublisher.class);
+ notificationIntent.putExtra(RNPushNotificationPublisher.NOTIFICATION_ID, notificationID);
+ notificationIntent.putExtras(bundle);
- Intent notificationIntent = new Intent(context, RNPushNotificationPublisher.class);
- notificationIntent.putExtra(RNPushNotificationPublisher.NOTIFICATION_ID, notificationID);
- notificationIntent.putExtras(bundle);
+ int flags = Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ? PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE : PendingIntent.FLAG_UPDATE_CURRENT;
- return PendingIntent.getBroadcast(context, notificationID, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
+ return PendingIntent.getBroadcast(context, notificationID, notificationIntent, flags);
+ } catch (Exception e) {
+ Log.e(LOG_TAG, "Unable to parse Notification ID", e);
+ }
+
+ return null;
}
public void sendNotificationScheduled(Bundle bundle) {
@@ -106,7 +149,7 @@ public void sendNotificationScheduled(Bundle bundle) {
SharedPreferences.Editor editor = scheduledNotificationsPersistence.edit();
editor.putString(id, notificationAttributes.toJson().toString());
- commit(editor);
+ editor.apply();
boolean isSaved = scheduledNotificationsPersistence.contains(id);
if (!isSaved) {
@@ -118,21 +161,43 @@ public void sendNotificationScheduled(Bundle bundle) {
public void sendNotificationScheduledCore(Bundle bundle) {
long fireDate = (long) bundle.getDouble("fireDate");
+ boolean allowWhileIdle = bundle.getBoolean("allowWhileIdle");
// If the fireDate is in past, this will fire immediately and show the
// notification to the user
PendingIntent pendingIntent = toScheduleNotificationIntent(bundle);
+ if (pendingIntent == null) {
+ return;
+ }
+
Log.d(LOG_TAG, String.format("Setting a notification with id %s at time %s",
bundle.getString("id"), Long.toString(fireDate)));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
- getAlarmManager().setExact(AlarmManager.RTC_WAKEUP, fireDate, pendingIntent);
+ if (allowWhileIdle && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+ getAlarmManager().setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, fireDate, pendingIntent);
+ } else {
+ getAlarmManager().setExact(AlarmManager.RTC_WAKEUP, fireDate, pendingIntent);
+ }
} else {
getAlarmManager().set(AlarmManager.RTC_WAKEUP, fireDate, pendingIntent);
}
}
- public void sendToNotificationCentre(Bundle bundle) {
+
+ public void sendToNotificationCentre(final Bundle bundle) {
+ RNPushNotificationPicturesAggregator aggregator = new RNPushNotificationPicturesAggregator(new RNPushNotificationPicturesAggregator.Callback() {
+ public void call(Bitmap largeIconImage, Bitmap bigPictureImage, Bitmap bigLargeIconImage) {
+ sendToNotificationCentreWithPicture(bundle, largeIconImage, bigPictureImage, bigLargeIconImage);
+ }
+ });
+
+ aggregator.setLargeIconUrl(context, bundle.getString("largeIconUrl"));
+ aggregator.setBigLargeIconUrl(context, bundle.getString("bigLargeIconUrl"));
+ aggregator.setBigPictureUrl(context, bundle.getString("bigPictureUrl"));
+ }
+
+ public void sendToNotificationCentreWithPicture(Bundle bundle, Bitmap largeIconBitmap, Bitmap bigPictureBitmap, Bitmap bigLargeIconBitmap) {
try {
Class intentClass = getMainActivityClass();
if (intentClass == null) {
@@ -142,7 +207,7 @@ public void sendToNotificationCentre(Bundle bundle) {
if (bundle.getString("message") == null) {
// this happens when a 'data' notification is received - we do not synthesize a local notification in this case
- Log.d(LOG_TAG, "Cannot send to notification centre because there is no 'message' field in: " + bundle);
+ Log.d(LOG_TAG, "Ignore this message if you sent data-only notification. Cannot send to notification centre because there is no 'message' field in: " + bundle);
return;
}
@@ -165,7 +230,7 @@ public void sendToNotificationCentre(Bundle bundle) {
final String priorityString = bundle.getString("priority");
if (priorityString != null) {
- switch(priorityString.toLowerCase()) {
+ switch (priorityString.toLowerCase()) {
case "max":
priority = NotificationCompat.PRIORITY_MAX;
break;
@@ -190,7 +255,7 @@ public void sendToNotificationCentre(Bundle bundle) {
final String visibilityString = bundle.getString("visibility");
if (visibilityString != null) {
- switch(visibilityString.toLowerCase()) {
+ switch (visibilityString.toLowerCase()) {
case "private":
visibility = NotificationCompat.VISIBILITY_PRIVATE;
break;
@@ -204,42 +269,63 @@ public void sendToNotificationCentre(Bundle bundle) {
visibility = NotificationCompat.VISIBILITY_PRIVATE;
}
}
+
+ String channel_id = bundle.getString("channelId");
- NotificationCompat.Builder notification = new NotificationCompat.Builder(context, NOTIFICATION_CHANNEL_ID)
+ if(channel_id == null) {
+ channel_id = this.config.getNotificationDefaultChannelId();
+ }
+
+ NotificationCompat.Builder notification = new NotificationCompat.Builder(context, channel_id)
.setContentTitle(title)
.setTicker(bundle.getString("ticker"))
.setVisibility(visibility)
.setPriority(priority)
- .setAutoCancel(bundle.getBoolean("autoCancel", true));
-
- String group = bundle.getString("group");
- if (group != null) {
- notification.setGroup(group);
+ .setAutoCancel(bundle.getBoolean("autoCancel", true))
+ .setOnlyAlertOnce(bundle.getBoolean("onlyAlertOnce", false));
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { // API 24 and higher
+ // Restore showing timestamp on Android 7+
+ // Source: https://developer.android.com/reference/android/app/Notification.Builder.html#setShowWhen(boolean)
+ boolean showWhen = bundle.getBoolean("showWhen", true);
+
+ notification.setShowWhen(showWhen);
}
- notification.setContentText(bundle.getString("message"));
-
- String largeIcon = bundle.getString("largeIcon");
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { // API 26 and higher
+ // Changing Default mode of notification
+ notification.setDefaults(Notification.DEFAULT_LIGHTS);
+ }
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) { // API 20 and higher
+ String group = bundle.getString("group");
- String subText = bundle.getString("subText");
+ if (group != null) {
+ notification.setGroup(group);
+ }
- if (subText != null) {
- notification.setSubText(subText);
+ if (bundle.containsKey("groupSummary") || bundle.getBoolean("groupSummary")) {
+ notification.setGroupSummary(bundle.getBoolean("groupSummary"));
+ }
}
String numberString = bundle.getString("number");
+
if (numberString != null) {
notification.setNumber(Integer.parseInt(numberString));
}
- int smallIconResId;
- int largeIconResId;
+ // Small icon
+ int smallIconResId = 0;
String smallIcon = bundle.getString("smallIcon");
- if (smallIcon != null) {
- smallIconResId = res.getIdentifier(smallIcon, "mipmap", packageName);
- } else {
+ if (smallIcon != null && !smallIcon.isEmpty()) {
+ smallIconResId = res.getIdentifier(smallIcon, "drawable", packageName);
+ if (smallIconResId == 0) {
+ smallIconResId = res.getIdentifier(smallIcon, "mipmap", packageName);
+ }
+ } else if(smallIcon == null) {
smallIconResId = res.getIdentifier("ic_notification", "mipmap", packageName);
}
@@ -251,56 +337,106 @@ public void sendToNotificationCentre(Bundle bundle) {
}
}
- if (largeIcon != null) {
- largeIconResId = res.getIdentifier(largeIcon, "mipmap", packageName);
- } else {
- largeIconResId = res.getIdentifier("ic_launcher", "mipmap", packageName);
+ notification.setSmallIcon(smallIconResId);
+
+ // Large icon
+ if(largeIconBitmap == null) {
+ int largeIconResId = 0;
+
+ String largeIcon = bundle.getString("largeIcon");
+
+ if (largeIcon != null && !largeIcon.isEmpty()) {
+ largeIconResId = res.getIdentifier(largeIcon, "drawable", packageName);
+ if (largeIconResId == 0) {
+ largeIconResId = res.getIdentifier(largeIcon, "mipmap", packageName);
+ }
+ } else if(largeIcon == null) {
+ largeIconResId = res.getIdentifier("ic_launcher", "mipmap", packageName);
+ }
+
+ // Before Lolipop there was no large icon for notifications.
+ if (largeIconResId != 0 && (largeIcon != null || Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)) {
+ largeIconBitmap = BitmapFactory.decodeResource(res, largeIconResId);
+ }
}
+
+ if (largeIconBitmap != null){
+ notification.setLargeIcon(largeIconBitmap);
+ }
+
+ String message = bundle.getString("message");
- Bitmap largeIconBitmap = BitmapFactory.decodeResource(res, largeIconResId);
+ notification.setContentText(message);
- if (largeIconResId != 0 && (largeIcon != null || Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)) {
- notification.setLargeIcon(largeIconBitmap);
+ String subText = bundle.getString("subText");
+
+ if (subText != null) {
+ notification.setSubText(subText);
}
- notification.setSmallIcon(smallIconResId);
- String bigText = bundle.getString("bigText");
+ NotificationCompat.Style style;
+
+ if(bigPictureBitmap != null) {
- if (bigText == null) {
- bigText = bundle.getString("message");
+ // Big large icon
+ if(bigLargeIconBitmap == null) {
+ int bigLargeIconResId = 0;
+
+ String bigLargeIcon = bundle.getString("bigLargeIcon");
+
+ if (bigLargeIcon != null && !bigLargeIcon.isEmpty()) {
+ bigLargeIconResId = res.getIdentifier(bigLargeIcon, "mipmap", packageName);
+ if (bigLargeIconResId != 0) {
+ bigLargeIconBitmap = BitmapFactory.decodeResource(res, bigLargeIconResId);
+ }
+ }
+ }
+
+ style = new NotificationCompat.BigPictureStyle()
+ .bigPicture(bigPictureBitmap)
+ .setBigContentTitle(title)
+ .setSummaryText(message)
+ .bigLargeIcon(bigLargeIconBitmap);
+ }
+ else {
+ String bigText = bundle.getString("bigText");
+
+ if (bigText == null) {
+ style = new NotificationCompat.BigTextStyle().bigText(message);
+ } else {
+ Spanned styledText = HtmlCompat.fromHtml(bigText, HtmlCompat.FROM_HTML_MODE_LEGACY);
+ style = new NotificationCompat.BigTextStyle().bigText(styledText);
+ }
}
- notification.setStyle(new NotificationCompat.BigTextStyle().bigText(bigText));
+ notification.setStyle(style);
Intent intent = new Intent(context, intentClass);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
+ bundle.putBoolean("foreground", this.isApplicationInForeground());
bundle.putBoolean("userInteraction", true);
intent.putExtra("notification", bundle);
+ // Add message_id to intent so react-native-firebase/messaging can identify it
+ String messageId = bundle.getString("messageId");
+ if (messageId != null) {
+ intent.putExtra("message_id", messageId);
+ }
+
+ Uri soundUri = null;
+
if (!bundle.containsKey("playSound") || bundle.getBoolean("playSound")) {
- Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
String soundName = bundle.getString("soundName");
- if (soundName != null) {
- if (!"default".equalsIgnoreCase(soundName)) {
-
- // sound name can be full filename, or just the resource name.
- // So the strings 'my_sound.mp3' AND 'my_sound' are accepted
- // The reason is to make the iOS and android javascript interfaces compatible
- int resId;
- if (context.getResources().getIdentifier(soundName, "raw", context.getPackageName()) != 0) {
- resId = context.getResources().getIdentifier(soundName, "raw", context.getPackageName());
- } else {
- soundName = soundName.substring(0, soundName.lastIndexOf('.'));
- resId = context.getResources().getIdentifier(soundName, "raw", context.getPackageName());
- }
+ soundUri = getSoundUri(soundName);
- soundUri = Uri.parse("android.resource://" + context.getPackageName() + "/" + resId);
- }
- }
notification.setSound(soundUri);
}
+ if (soundUri == null || Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ notification.setSound(null);
+ }
+
if (bundle.containsKey("ongoing") || bundle.getBoolean("ongoing")) {
notification.setOngoing(bundle.getBoolean("ongoing"));
}
@@ -320,20 +456,48 @@ public void sendToNotificationCentre(Bundle bundle) {
int notificationID = Integer.parseInt(notificationIdString);
PendingIntent pendingIntent = PendingIntent.getActivity(context, notificationID, intent,
- PendingIntent.FLAG_UPDATE_CURRENT);
+ Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ? PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE : PendingIntent.FLAG_UPDATE_CURRENT);
NotificationManager notificationManager = notificationManager();
- checkOrCreateChannel(notificationManager);
- notification.setContentIntent(pendingIntent);
+ long[] vibratePattern = new long[]{0};
if (!bundle.containsKey("vibrate") || bundle.getBoolean("vibrate")) {
long vibration = bundle.containsKey("vibration") ? (long) bundle.getDouble("vibration") : DEFAULT_VIBRATION;
if (vibration == 0)
vibration = DEFAULT_VIBRATION;
- notification.setVibrate(new long[]{0, vibration});
+
+ vibratePattern = new long[]{0, vibration};
+
+ notification.setVibrate(vibratePattern);
+ }
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ // Define the shortcutId
+ String shortcutId = bundle.getString("shortcutId");
+
+ if (shortcutId != null) {
+ notification.setShortcutId(shortcutId);
+ }
+
+ Long timeoutAfter = (long) bundle.getDouble("timeoutAfter");
+
+ if (timeoutAfter != null && timeoutAfter >= 0) {
+ notification.setTimeoutAfter(timeoutAfter);
+ }
}
+ Long when = (long) bundle.getDouble("when");
+
+ if (when != null && when >= 0) {
+ notification.setWhen(when);
+ }
+
+ notification.setUsesChronometer(bundle.getBoolean("usesChronometer", false));
+
+ notification.setChannelId(channel_id);
+ notification.setContentIntent(pendingIntent);
+
JSONArray actionsArray = null;
try {
actionsArray = bundle.getString("actions") != null ? new JSONArray(bundle.getString("actions")) : null;
@@ -355,18 +519,53 @@ public void sendToNotificationCentre(Bundle bundle) {
continue;
}
- Intent actionIntent = new Intent(context, intentClass);
+
+ Intent actionIntent = new Intent(context, RNPushNotificationActions.class);
+ actionIntent.setAction(packageName + ".ACTION_" + i);
+
actionIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
- actionIntent.setAction(context.getPackageName() + "." + action);
// Add "action" for later identifying which button gets pressed.
bundle.putString("action", action);
actionIntent.putExtra("notification", bundle);
+ actionIntent.setPackage(packageName);
+ if (messageId != null) {
+ intent.putExtra("message_id", messageId);
+ }
+
+ int flags = Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ? PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE : PendingIntent.FLAG_UPDATE_CURRENT;
+
+ PendingIntent pendingActionIntent = PendingIntent.getBroadcast(context, notificationID, actionIntent, flags);
- PendingIntent pendingActionIntent = PendingIntent.getActivity(context, notificationID, actionIntent,
- PendingIntent.FLAG_UPDATE_CURRENT);
- notification.addAction(icon, action, pendingActionIntent);
+ if(action.equals("ReplyInput")){
+ //Action with inline reply
+ if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT_WATCH){
+ RemoteInput remoteInput = new RemoteInput.Builder(KEY_TEXT_REPLY)
+ .setLabel(bundle.getString("reply_placeholder_text"))
+ .build();
+ NotificationCompat.Action replyAction = new NotificationCompat.Action.Builder(
+ icon, bundle.getString("reply_button_text"), pendingActionIntent)
+ .addRemoteInput(remoteInput)
+ .setAllowGeneratedReplies(true)
+ .build();
+
+ notification.addAction(replyAction);
+ }
+ else{
+ // The notification will not have action
+ break;
+ }
+ }
+ else{
+ // Add "action" for later identifying which button gets pressed
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+ notification.addAction(new NotificationCompat.Action.Builder(icon, action, pendingActionIntent).build());
+ } else {
+ notification.addAction(icon, action, pendingActionIntent);
+ }
+ }
}
+
}
// Remove the notification from the shared preferences once it has been shown
@@ -380,17 +579,19 @@ public void sendToNotificationCentre(Bundle bundle) {
if (scheduledNotificationsPersistence.getString(notificationIdString, null) != null) {
SharedPreferences.Editor editor = scheduledNotificationsPersistence.edit();
editor.remove(notificationIdString);
- commit(editor);
+ editor.apply();
}
- Notification info = notification.build();
- info.defaults |= Notification.DEFAULT_LIGHTS;
+ if (!(this.isApplicationInForeground() && bundle.getBoolean("ignoreInForeground"))) {
+ Notification info = notification.build();
+ info.defaults |= Notification.DEFAULT_LIGHTS;
- if (bundle.containsKey("tag")) {
- String tag = bundle.getString("tag");
- notificationManager.notify(tag, notificationID, info);
- } else {
- notificationManager.notify(notificationID, info);
+ if (bundle.containsKey("tag")) {
+ String tag = bundle.getString("tag");
+ notificationManager.notify(tag, notificationID, info);
+ } else {
+ notificationManager.notify(notificationID, info);
+ }
}
// Can't use setRepeating for recurring notifications because setRepeating
@@ -410,7 +611,7 @@ private void scheduleNextNotificationIfRepeating(Bundle bundle) {
if (repeatType != null) {
long fireDate = (long) bundle.getDouble("fireDate");
- boolean validRepeatType = Arrays.asList("time", "week", "day", "hour", "minute").contains(repeatType);
+ boolean validRepeatType = Arrays.asList("time", "month", "week", "day", "hour", "minute").contains(repeatType);
// Sanity checks
if (!validRepeatType) {
@@ -424,24 +625,19 @@ private void scheduleNextNotificationIfRepeating(Bundle bundle) {
return;
}
- long newFireDate = 0;
+ long newFireDate;
+ if ("time".equals(repeatType)) {
+ newFireDate = fireDate + repeatTime;
+ } else {
+ int repeatField = getRepeatField(repeatType);
- switch (repeatType) {
- case "time":
- newFireDate = fireDate + repeatTime;
- break;
- case "week":
- newFireDate = fireDate + 7 * ONE_DAY;
- break;
- case "day":
- newFireDate = fireDate + ONE_DAY;
- break;
- case "hour":
- newFireDate = fireDate + ONE_HOUR;
- break;
- case "minute":
- newFireDate = fireDate + ONE_MINUTE;
- break;
+ final Calendar nextEvent = Calendar.getInstance();
+ nextEvent.setTimeInMillis(fireDate);
+ // Limits repeat time increment to int instead of long
+ int increment = repeatTime > 0 ? (int) repeatTime : 1;
+ nextEvent.add(repeatField, increment);
+
+ newFireDate = nextEvent.getTimeInMillis();
}
// Sanity check, should never happen
@@ -454,6 +650,43 @@ private void scheduleNextNotificationIfRepeating(Bundle bundle) {
}
}
+ private int getRepeatField(String repeatType) {
+ switch (repeatType) {
+ case "month":
+ return Calendar.MONTH;
+ case "week":
+ return Calendar.WEEK_OF_YEAR;
+ case "hour":
+ return Calendar.HOUR;
+ case "minute":
+ return Calendar.MINUTE;
+ case "day":
+ default:
+ return Calendar.DATE;
+ }
+ }
+
+ private Uri getSoundUri(String soundName) {
+ if (soundName == null || "default".equalsIgnoreCase(soundName)) {
+ return RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
+ } else {
+
+ // sound name can be full filename, or just the resource name.
+ // So the strings 'my_sound.mp3' AND 'my_sound' are accepted
+ // The reason is to make the iOS and android javascript interfaces compatible
+
+ int resId;
+ if (context.getResources().getIdentifier(soundName, "raw", context.getPackageName()) != 0) {
+ resId = context.getResources().getIdentifier(soundName, "raw", context.getPackageName());
+ } else {
+ soundName = soundName.substring(0, soundName.lastIndexOf('.'));
+ resId = context.getResources().getIdentifier(soundName, "raw", context.getPackageName());
+ }
+
+ return Uri.parse("android.resource://" + context.getPackageName() + "/" + resId);
+ }
+ }
+
public void clearNotifications() {
Log.i(LOG_TAG, "Clearing alerts from the notification centre");
@@ -461,50 +694,111 @@ public void clearNotifications() {
notificationManager.cancelAll();
}
- public void clearNotification(int notificationID) {
+ public void clearNotification(String tag, int notificationID) {
Log.i(LOG_TAG, "Clearing notification: " + notificationID);
NotificationManager notificationManager = notificationManager();
- notificationManager.cancel(notificationID);
+ if(tag != null) {
+ notificationManager.cancel(tag, notificationID);
+ } else {
+ notificationManager.cancel(notificationID);
+ }
}
- public void cancelAllScheduledNotifications() {
- Log.i(LOG_TAG, "Cancelling all notifications");
+ public void clearDeliveredNotifications(ReadableArray identifiers) {
+ NotificationManager notificationManager = notificationManager();
+ for (int index = 0; index < identifiers.size(); index++) {
+ String id = identifiers.getString(index);
+ Log.i(LOG_TAG, "Removing notification with id " + id);
+ notificationManager.cancel(Integer.parseInt(id));
+ }
+ }
+
+ @RequiresApi(api = Build.VERSION_CODES.M)
+ public WritableArray getDeliveredNotifications() {
+ WritableArray result = Arguments.createArray();
+
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
+ return result;
+ }
+
+ NotificationManager notificationManager = notificationManager();
+ StatusBarNotification delivered[] = notificationManager.getActiveNotifications();
+ Log.i(LOG_TAG, "Found " + delivered.length + " delivered notifications");
+ /*
+ * stay consistent to the return structure in
+ * https://facebook.github.io/react-native/docs/pushnotificationios.html#getdeliverednotifications
+ * but there is no such thing as a 'userInfo'
+ */
+ for (StatusBarNotification notification : delivered) {
+ Notification original = notification.getNotification();
+ Bundle extras = original.extras;
+ WritableMap notif = Arguments.createMap();
+ notif.putString("identifier", "" + notification.getId());
+ notif.putString("title", extras.getString(Notification.EXTRA_TITLE));
+ notif.putString("body", extras.getString(Notification.EXTRA_TEXT));
+ notif.putString("tag", notification.getTag());
+ notif.putString("group", original.getGroup());
+ result.pushMap(notif);
+ }
+
+ return result;
- for (String id : scheduledNotificationsPersistence.getAll().keySet()) {
- cancelScheduledNotification(id);
- }
}
- public void cancelScheduledNotification(ReadableMap userInfo) {
- for (String id : scheduledNotificationsPersistence.getAll().keySet()) {
+ public WritableArray getScheduledLocalNotifications() {
+ WritableArray scheduled = Arguments.createArray();
+
+ Map scheduledNotifications = scheduledNotificationsPersistence.getAll();
+
+ for (Map.Entry entry : scheduledNotifications.entrySet()) {
try {
- String notificationAttributesJson = scheduledNotificationsPersistence.getString(id, null);
- if (notificationAttributesJson != null) {
- RNPushNotificationAttributes notificationAttributes = fromJson(notificationAttributesJson);
- if (notificationAttributes.matches(userInfo)) {
- cancelScheduledNotification(id);
- }
- }
+ RNPushNotificationAttributes notification = fromJson(entry.getValue().toString());
+ WritableMap notificationMap = Arguments.createMap();
+
+ notificationMap.putString("title", notification.getTitle());
+ notificationMap.putString("message", notification.getMessage());
+ notificationMap.putString("number", notification.getNumber());
+ notificationMap.putDouble("date", notification.getFireDate());
+ notificationMap.putString("id", notification.getId());
+ notificationMap.putString("repeatInterval", notification.getRepeatType());
+ notificationMap.putString("soundName", notification.getSound());
+ notificationMap.putString("data", notification.getUserInfo());
+
+ scheduled.pushMap(notificationMap);
} catch (JSONException e) {
- Log.w(LOG_TAG, "Problem dealing with scheduled notification " + id, e);
+ Log.e(LOG_TAG, e.getMessage());
}
}
+
+ return scheduled;
+ }
+
+ public void cancelAllScheduledNotifications() {
+ Log.i(LOG_TAG, "Cancelling all notifications");
+
+ for (String id : scheduledNotificationsPersistence.getAll().keySet()) {
+ cancelScheduledNotification(id);
+ }
}
- private void cancelScheduledNotification(String notificationIDString) {
+ public void cancelScheduledNotification(String notificationIDString) {
Log.i(LOG_TAG, "Cancelling notification: " + notificationIDString);
// remove it from the alarm manger schedule
Bundle b = new Bundle();
b.putString("id", notificationIDString);
- getAlarmManager().cancel(toScheduleNotificationIntent(b));
+ PendingIntent pendingIntent = toScheduleNotificationIntent(b);
+
+ if (pendingIntent != null) {
+ getAlarmManager().cancel(pendingIntent);
+ }
if (scheduledNotificationsPersistence.contains(notificationIDString)) {
// remove it from local storage
SharedPreferences.Editor editor = scheduledNotificationsPersistence.edit();
editor.remove(notificationIDString);
- commit(editor);
+ editor.apply();
} else {
Log.w(LOG_TAG, "Unable to find notification " + notificationIDString);
}
@@ -512,69 +806,156 @@ private void cancelScheduledNotification(String notificationIDString) {
// removed it from the notification center
NotificationManager notificationManager = notificationManager();
- notificationManager.cancel(Integer.parseInt(notificationIDString));
+ try {
+ notificationManager.cancel(Integer.parseInt(notificationIDString));
+ } catch (Exception e) {
+ Log.e(LOG_TAG, "Unable to parse Notification ID " + notificationIDString, e);
+ }
}
private NotificationManager notificationManager() {
return (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
}
- private static void commit(SharedPreferences.Editor editor) {
- if (Build.VERSION.SDK_INT < 9) {
- editor.commit();
- } else {
- editor.apply();
- }
+ public List listChannels() {
+ List channels = new ArrayList<>();
+
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O)
+ return channels;
+
+ NotificationManager manager = notificationManager();
+
+ if (manager == null)
+ return channels;
+
+ List listChannels = manager.getNotificationChannels();
+
+ for(NotificationChannel channel : listChannels) {
+ channels.add(channel.getId());
+ }
+
+ return channels;
+ }
+
+ public boolean channelBlocked(String channel_id) {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O)
+ return false;
+
+ NotificationManager manager = notificationManager();
+
+ if (manager == null)
+ return false;
+
+ NotificationChannel channel = manager.getNotificationChannel(channel_id);
+
+ if(channel == null)
+ return false;
+
+ return NotificationManager.IMPORTANCE_NONE == channel.getImportance();
+ }
+
+ public boolean channelExists(String channel_id) {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O)
+ return false;
+
+ NotificationManager manager = notificationManager();
+
+ if (manager == null)
+ return false;
+
+ NotificationChannel channel = manager.getNotificationChannel(channel_id);
+
+ return channel != null;
}
- private static boolean channelCreated = false;
- private void checkOrCreateChannel(NotificationManager manager) {
+ public void deleteChannel(String channel_id) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O)
return;
- if (channelCreated)
- return;
+
+ NotificationManager manager = notificationManager();
+
if (manager == null)
return;
- Bundle bundle = new Bundle();
-
- int importance = NotificationManager.IMPORTANCE_HIGH;
- final String importanceString = bundle.getString("importance");
-
- if (importanceString != null) {
- switch(importanceString.toLowerCase()) {
- case "default":
- importance = NotificationManager.IMPORTANCE_DEFAULT;
- break;
- case "max":
- importance = NotificationManager.IMPORTANCE_MAX;
- break;
- case "high":
- importance = NotificationManager.IMPORTANCE_HIGH;
- break;
- case "low":
- importance = NotificationManager.IMPORTANCE_LOW;
- break;
- case "min":
- importance = NotificationManager.IMPORTANCE_MIN;
- break;
- case "none":
- importance = NotificationManager.IMPORTANCE_NONE;
- break;
- case "unspecified":
- importance = NotificationManager.IMPORTANCE_UNSPECIFIED;
- break;
- default:
- importance = NotificationManager.IMPORTANCE_HIGH;
+ manager.deleteNotificationChannel(channel_id);
+ }
+
+ private boolean checkOrCreateChannel(NotificationManager manager, String channel_id, String channel_name, String channel_description, Uri soundUri, int importance, long[] vibratePattern) {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O)
+ return false;
+ if (manager == null)
+ return false;
+
+ NotificationChannel channel = manager.getNotificationChannel(channel_id);
+
+ if (
+ channel == null && channel_name != null && channel_description != null ||
+ channel != null &&
+ (
+ channel_name != null && !channel_name.equals(channel.getName()) ||
+ channel_description != null && !channel_description.equals(channel.getDescription())
+ )
+ ) {
+ // If channel doesn't exist create a new one.
+ // If channel name or description is updated then update the existing channel.
+ channel = new NotificationChannel(channel_id, channel_name, importance);
+
+ channel.setDescription(channel_description);
+ channel.enableLights(true);
+ channel.enableVibration(vibratePattern != null);
+ channel.setVibrationPattern(vibratePattern);
+
+ if (soundUri != null) {
+ AudioAttributes audioAttributes = new AudioAttributes.Builder()
+ .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
+ .setUsage(AudioAttributes.USAGE_NOTIFICATION)
+ .build();
+
+ channel.setSound(soundUri, audioAttributes);
+ } else {
+ channel.setSound(null, null);
}
+
+ manager.createNotificationChannel(channel);
+
+ return true;
}
- NotificationChannel channel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, this.config.getChannelName(), importance);
- channel.setDescription(this.config.getChannelDescription());
- channel.enableLights(true);
- channel.enableVibration(true);
+ return false;
+ }
+
+ public boolean createChannel(ReadableMap channelInfo) {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O)
+ return false;
+
+ String channelId = channelInfo.getString("channelId");
+ String channelName = channelInfo.getString("channelName");
+ String channelDescription = channelInfo.hasKey("channelDescription") ? channelInfo.getString("channelDescription") : "";
+ boolean playSound = !channelInfo.hasKey("playSound") || channelInfo.getBoolean("playSound");
+ String soundName = channelInfo.hasKey("soundName") ? channelInfo.getString("soundName") : "default";
+ int importance = channelInfo.hasKey("importance") ? channelInfo.getInt("importance") : 4;
+ boolean vibrate = channelInfo.hasKey("vibrate") && channelInfo.getBoolean("vibrate");
+ long[] vibratePattern = vibrate ? new long[] { 0, DEFAULT_VIBRATION } : null;
+
+ NotificationManager manager = notificationManager();
- manager.createNotificationChannel(channel);
- channelCreated = true;
+ Uri soundUri = playSound ? getSoundUri(soundName) : null;
+
+ return checkOrCreateChannel(manager, channelId, channelName, channelDescription, soundUri, importance, vibratePattern);
+ }
+
+ public boolean isApplicationInForeground() {
+ ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
+ List processInfos = activityManager.getRunningAppProcesses();
+ if (processInfos != null) {
+ for (RunningAppProcessInfo processInfo : processInfos) {
+ if (processInfo.processName.equals(context.getPackageName())
+ && processInfo.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND
+ && processInfo.pkgList.length > 0) {
+ return true;
+ }
+ }
+ }
+ return false;
}
}
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationJsDelivery.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationJsDelivery.java
index c6721d7fc..350758e57 100644
--- a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationJsDelivery.java
+++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationJsDelivery.java
@@ -4,7 +4,7 @@
import android.os.Bundle;
import com.facebook.react.bridge.Arguments;
-import com.facebook.react.bridge.ReactApplicationContext;
+import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.modules.core.DeviceEventManagerModule;
@@ -18,9 +18,9 @@
*/
public class RNPushNotificationJsDelivery {
- private ReactApplicationContext mReactContext;
+ private ReactContext mReactContext;
- public RNPushNotificationJsDelivery(ReactApplicationContext reactContext) {
+ public RNPushNotificationJsDelivery(ReactContext reactContext) {
mReactContext = reactContext;
}
@@ -67,7 +67,7 @@ String convertJSON(Bundle bundle) {
}
// a Bundle is not a map, so we have to convert it explicitly
- JSONObject convertJSONObject(Bundle bundle) throws JSONException {
+ private JSONObject convertJSONObject(Bundle bundle) throws JSONException {
JSONObject json = new JSONObject();
Set keys = bundle.keySet();
for (String key : keys) {
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationListenerService.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationListenerService.java
index 40fec92d9..ca78c0363 100644
--- a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationListenerService.java
+++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationListenerService.java
@@ -1,94 +1,58 @@
package com.dieam.reactnativepushnotification.modules;
-import java.util.Map;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
-import android.app.ActivityManager;
-import android.app.ActivityManager.RunningAppProcessInfo;
-import android.app.Application;
-import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
-import com.dieam.reactnativepushnotification.helpers.ApplicationBadgeHelper;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactInstanceManager;
+import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
-
-import org.json.JSONObject;
-
-import java.util.List;
-import java.util.Random;
+import com.facebook.react.bridge.WritableMap;
import static com.dieam.reactnativepushnotification.modules.RNPushNotification.LOG_TAG;
public class RNPushNotificationListenerService extends FirebaseMessagingService {
- @Override
- public void onMessageReceived(RemoteMessage message) {
- String from = message.getFrom();
- RemoteMessage.Notification remoteNotification = message.getNotification();
+ private RNReceivedMessageHandler mMessageReceivedHandler;
+ private FirebaseMessagingService mFirebaseServiceDelegate;
- final Bundle bundle = new Bundle();
- // Putting it from remoteNotification first so it can be overriden if message
- // data has it
- if (remoteNotification != null) {
- // ^ It's null when message is from GCM
- bundle.putString("title", remoteNotification.getTitle());
- bundle.putString("message", remoteNotification.getBody());
- }
-
- for(Map.Entry entry : message.getData().entrySet()) {
- bundle.putString(entry.getKey(), entry.getValue());
- }
- JSONObject data = getPushData(bundle.getString("data"));
- // Copy `twi_body` to `message` to support Twilio
- if (bundle.containsKey("twi_body")) {
- bundle.putString("message", bundle.getString("twi_body"));
- }
-
- if (data != null) {
- if (!bundle.containsKey("message")) {
- bundle.putString("message", data.optString("alert", null));
- }
- if (!bundle.containsKey("title")) {
- bundle.putString("title", data.optString("title", null));
- }
- if (!bundle.containsKey("sound")) {
- bundle.putString("soundName", data.optString("sound", null));
- }
- if (!bundle.containsKey("color")) {
- bundle.putString("color", data.optString("color", null));
- }
+ public RNPushNotificationListenerService() {
+ super();
+ this.mMessageReceivedHandler = new RNReceivedMessageHandler(this);
+ }
- final int badge = data.optInt("badge", -1);
- if (badge >= 0) {
- ApplicationBadgeHelper.INSTANCE.setApplicationIconBadgeNumber(this, badge);
- }
- }
+ public RNPushNotificationListenerService(FirebaseMessagingService delegate) {
+ super();
+ this.mFirebaseServiceDelegate = delegate;
+ this.mMessageReceivedHandler = new RNReceivedMessageHandler(delegate);
+ }
- Log.v(LOG_TAG, "onMessageReceived: " + bundle);
+ @Override
+ public void onNewToken(String token) {
+ final String deviceToken = token;
+ final FirebaseMessagingService serviceRef = (this.mFirebaseServiceDelegate == null) ? this : this.mFirebaseServiceDelegate;
+ Log.d(LOG_TAG, "Refreshed token: " + deviceToken);
- // We need to run this on the main thread, as the React code assumes that is true.
- // Namely, DevServerHelper constructs a Handler() without a Looper, which triggers:
- // "Can't create handler inside thread that has not called Looper.prepare()"
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
public void run() {
// Construct and load our normal React JS code bundle
- ReactInstanceManager mReactInstanceManager = ((ReactApplication) getApplication()).getReactNativeHost().getReactInstanceManager();
+ final ReactInstanceManager mReactInstanceManager = ((ReactApplication)serviceRef.getApplication()).getReactNativeHost().getReactInstanceManager();
ReactContext context = mReactInstanceManager.getCurrentReactContext();
// If it's constructed, send a notification
if (context != null) {
- handleRemotePushNotification((ReactApplicationContext) context, bundle);
+ handleNewToken((ReactApplicationContext) context, deviceToken);
} else {
// Otherwise wait for construction, then send the notification
mReactInstanceManager.addReactInstanceEventListener(new ReactInstanceManager.ReactInstanceEventListener() {
public void onReactContextInitialized(ReactContext context) {
- handleRemotePushNotification((ReactApplicationContext) context, bundle);
+ handleNewToken((ReactApplicationContext) context, deviceToken);
+ mReactInstanceManager.removeReactInstanceEventListener(this);
}
});
if (!mReactInstanceManager.hasStartedCreatingInitialContext()) {
@@ -100,55 +64,16 @@ public void onReactContextInitialized(ReactContext context) {
});
}
- private JSONObject getPushData(String dataString) {
- try {
- return new JSONObject(dataString);
- } catch (Exception e) {
- return null;
- }
- }
-
- private void handleRemotePushNotification(ReactApplicationContext context, Bundle bundle) {
-
- // If notification ID is not provided by the user for push notification, generate one at random
- if (bundle.getString("id") == null) {
- Random randomNumberGenerator = new Random(System.currentTimeMillis());
- bundle.putString("id", String.valueOf(randomNumberGenerator.nextInt()));
- }
-
- Boolean isForeground = isApplicationInForeground();
-
+ private void handleNewToken(ReactApplicationContext context, String token) {
RNPushNotificationJsDelivery jsDelivery = new RNPushNotificationJsDelivery(context);
- bundle.putBoolean("foreground", isForeground);
- bundle.putBoolean("userInteraction", false);
- jsDelivery.notifyNotification(bundle);
-
- // If contentAvailable is set to true, then send out a remote fetch event
- if (bundle.getString("contentAvailable", "false").equalsIgnoreCase("true")) {
- jsDelivery.notifyRemoteFetch(bundle);
- }
-
- Log.v(LOG_TAG, "sendNotification: " + bundle);
- Application applicationContext = (Application) context.getApplicationContext();
- RNPushNotificationHelper pushNotificationHelper = new RNPushNotificationHelper(applicationContext);
- pushNotificationHelper.sendToNotificationCentre(bundle);
+ WritableMap params = Arguments.createMap();
+ params.putString("deviceToken", token);
+ jsDelivery.sendEvent("remoteNotificationsRegistered", params);
}
- private boolean isApplicationInForeground() {
- ActivityManager activityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
- List processInfos = activityManager.getRunningAppProcesses();
- if (processInfos != null) {
- for (RunningAppProcessInfo processInfo : processInfos) {
- if (processInfo.processName.equals(getApplication().getPackageName())) {
- if (processInfo.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
- for (String d : processInfo.pkgList) {
- return true;
- }
- }
- }
- }
- }
- return false;
+ @Override
+ public void onMessageReceived(RemoteMessage message) {
+ mMessageReceivedHandler.handleReceivedMessage(message);
}
}
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationListenerServiceGcm.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationListenerServiceGcm.java
deleted file mode 100644
index 37bb0f45f..000000000
--- a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationListenerServiceGcm.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package com.dieam.reactnativepushnotification.modules;
-
-import android.app.ActivityManager;
-import android.app.ActivityManager.RunningAppProcessInfo;
-import android.app.Application;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Looper;
-import android.util.Log;
-
-import com.dieam.reactnativepushnotification.helpers.ApplicationBadgeHelper;
-import com.facebook.react.ReactApplication;
-import com.facebook.react.ReactInstanceManager;
-import com.facebook.react.bridge.ReactApplicationContext;
-import com.facebook.react.bridge.ReactContext;
-import com.google.android.gms.gcm.GcmListenerService;
-
-import org.json.JSONObject;
-
-import java.util.List;
-import java.util.Random;
-
-import static com.dieam.reactnativepushnotification.modules.RNPushNotification.LOG_TAG;
-
-public class RNPushNotificationListenerServiceGcm extends GcmListenerService {
-
- @Override
- public void onMessageReceived(String from, final Bundle bundle) {
- JSONObject data = getPushData(bundle.getString("data"));
- // Copy `twi_body` to `message` to support Twilio
- if (bundle.containsKey("twi_body")) {
- bundle.putString("message", bundle.getString("twi_body"));
- }
-
- if (data != null) {
- if (!bundle.containsKey("message")) {
- bundle.putString("message", data.optString("alert", null));
- }
- if (!bundle.containsKey("title")) {
- bundle.putString("title", data.optString("title", null));
- }
- if (!bundle.containsKey("sound")) {
- bundle.putString("soundName", data.optString("sound", null));
- }
- if (!bundle.containsKey("color")) {
- bundle.putString("color", data.optString("color", null));
- }
-
- final int badge = data.optInt("badge", -1);
- if (badge >= 0) {
- ApplicationBadgeHelper.INSTANCE.setApplicationIconBadgeNumber(this, badge);
- }
- }
-
- Log.v(LOG_TAG, "onMessageReceived: " + bundle);
-
- // We need to run this on the main thread, as the React code assumes that is true.
- // Namely, DevServerHelper constructs a Handler() without a Looper, which triggers:
- // "Can't create handler inside thread that has not called Looper.prepare()"
- Handler handler = new Handler(Looper.getMainLooper());
- handler.post(new Runnable() {
- public void run() {
- // Construct and load our normal React JS code bundle
- ReactInstanceManager mReactInstanceManager = ((ReactApplication) getApplication()).getReactNativeHost().getReactInstanceManager();
- ReactContext context = mReactInstanceManager.getCurrentReactContext();
- // If it's constructed, send a notification
- if (context != null) {
- handleRemotePushNotification((ReactApplicationContext) context, bundle);
- } else {
- // Otherwise wait for construction, then send the notification
- mReactInstanceManager.addReactInstanceEventListener(new ReactInstanceManager.ReactInstanceEventListener() {
- public void onReactContextInitialized(ReactContext context) {
- handleRemotePushNotification((ReactApplicationContext) context, bundle);
- }
- });
- if (!mReactInstanceManager.hasStartedCreatingInitialContext()) {
- // Construct it in the background
- mReactInstanceManager.createReactContextInBackground();
- }
- }
- }
- });
- }
-
- private JSONObject getPushData(String dataString) {
- try {
- return new JSONObject(dataString);
- } catch (Exception e) {
- return null;
- }
- }
-
- private void handleRemotePushNotification(ReactApplicationContext context, Bundle bundle) {
-
- // If notification ID is not provided by the user for push notification, generate one at random
- if (bundle.getString("id") == null) {
- Random randomNumberGenerator = new Random(System.currentTimeMillis());
- bundle.putString("id", String.valueOf(randomNumberGenerator.nextInt()));
- }
-
- Boolean isForeground = isApplicationInForeground();
-
- RNPushNotificationJsDelivery jsDelivery = new RNPushNotificationJsDelivery(context);
- bundle.putBoolean("foreground", isForeground);
- bundle.putBoolean("userInteraction", false);
- jsDelivery.notifyNotification(bundle);
-
- // If contentAvailable is set to true, then send out a remote fetch event
- if (bundle.getString("contentAvailable", "false").equalsIgnoreCase("true")) {
- jsDelivery.notifyRemoteFetch(bundle);
- }
-
- Log.v(LOG_TAG, "sendNotification: " + bundle);
-
- if (!isForeground) {
- Application applicationContext = (Application) context.getApplicationContext();
- RNPushNotificationHelper pushNotificationHelper = new RNPushNotificationHelper(applicationContext);
- pushNotificationHelper.sendToNotificationCentre(bundle);
- }
- }
-
- private boolean isApplicationInForeground() {
- ActivityManager activityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
- List processInfos = activityManager.getRunningAppProcesses();
- if (processInfos != null) {
- for (RunningAppProcessInfo processInfo : processInfos) {
- if (processInfo.processName.equals(getApplication().getPackageName())) {
- if (processInfo.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
- for (String d : processInfo.pkgList) {
- return true;
- }
- }
- }
- }
- }
- return false;
- }
-}
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationPicturesAggregator.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationPicturesAggregator.java
new file mode 100644
index 000000000..733bcbe44
--- /dev/null
+++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationPicturesAggregator.java
@@ -0,0 +1,173 @@
+package com.dieam.reactnativepushnotification.modules;
+
+import androidx.annotation.Nullable;
+import com.facebook.common.executors.CallerThreadExecutor;
+import com.facebook.common.references.CloseableReference;
+import com.facebook.datasource.DataSource;
+import com.facebook.drawee.backends.pipeline.Fresco;
+import com.facebook.imagepipeline.common.Priority;
+import com.facebook.imagepipeline.core.ImagePipeline;
+import com.facebook.imagepipeline.datasource.BaseBitmapDataSubscriber;
+import com.facebook.imagepipeline.image.CloseableImage;
+import com.facebook.imagepipeline.request.ImageRequest;
+import com.facebook.imagepipeline.request.ImageRequestBuilder;
+
+import android.util.Log;
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.net.Uri;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import static com.dieam.reactnativepushnotification.modules.RNPushNotification.LOG_TAG;
+
+public class RNPushNotificationPicturesAggregator {
+ interface Callback {
+ public void call(Bitmap largeIconImage, Bitmap bigPictureImage, Bitmap bigLargeIconImage);
+ }
+
+ private AtomicInteger count = new AtomicInteger(0);
+
+ private Bitmap largeIconImage;
+ private Bitmap bigPictureImage;
+ private Bitmap bigLargeIconImage;
+
+ private Callback callback;
+
+ public RNPushNotificationPicturesAggregator(Callback callback) {
+ this.callback = callback;
+ }
+
+ public void setBigPicture(Bitmap bitmap) {
+ this.bigPictureImage = bitmap;
+ this.finished();
+ }
+
+ public void setBigPictureUrl(Context context, String url) {
+ if(null == url) {
+ this.setBigPicture(null);
+ return;
+ }
+
+ Uri uri = null;
+
+ try {
+ uri = Uri.parse(url);
+ } catch(Exception ex) {
+ Log.e(LOG_TAG, "Failed to parse bigPictureUrl", ex);
+ this.setBigPicture(null);
+ return;
+ }
+
+ final RNPushNotificationPicturesAggregator aggregator = this;
+
+ this.downloadRequest(context, uri, new BaseBitmapDataSubscriber() {
+ @Override
+ public void onNewResultImpl(@Nullable Bitmap bitmap) {
+ aggregator.setBigPicture(bitmap);
+ }
+
+ @Override
+ public void onFailureImpl(DataSource dataSource) {
+ aggregator.setBigPicture(null);
+ }
+ });
+ }
+
+ public void setLargeIcon(Bitmap bitmap) {
+ this.largeIconImage = bitmap;
+ this.finished();
+ }
+
+ public void setLargeIconUrl(Context context, String url) {
+ if(null == url) {
+ this.setLargeIcon(null);
+ return;
+ }
+
+ Uri uri = null;
+
+ try {
+ uri = Uri.parse(url);
+ } catch(Exception ex) {
+ Log.e(LOG_TAG, "Failed to parse largeIconUrl", ex);
+ this.setLargeIcon(null);
+ return;
+ }
+
+ final RNPushNotificationPicturesAggregator aggregator = this;
+
+ this.downloadRequest(context, uri, new BaseBitmapDataSubscriber() {
+ @Override
+ public void onNewResultImpl(@Nullable Bitmap bitmap) {
+ aggregator.setLargeIcon(bitmap);
+ }
+
+ @Override
+ public void onFailureImpl(DataSource dataSource) {
+ aggregator.setLargeIcon(null);
+ }
+ });
+ }
+
+ public void setBigLargeIcon(Bitmap bitmap) {
+ this.bigLargeIconImage = bitmap;
+ this.finished();
+ }
+
+ public void setBigLargeIconUrl(Context context, String url) {
+ if(null == url) {
+ this.setBigLargeIcon(null);
+ return;
+ }
+
+ Uri uri = null;
+
+ try {
+ uri = Uri.parse(url);
+ } catch(Exception ex) {
+ Log.e(LOG_TAG, "Failed to parse bigLargeIconUrl", ex);
+ this.setBigLargeIcon(null);
+ return;
+ }
+
+ final RNPushNotificationPicturesAggregator aggregator = this;
+
+ this.downloadRequest(context, uri, new BaseBitmapDataSubscriber() {
+ @Override
+ public void onNewResultImpl(@Nullable Bitmap bitmap) {
+ aggregator.setBigLargeIcon(bitmap);
+ }
+
+ @Override
+ public void onFailureImpl(DataSource dataSource) {
+ aggregator.setBigLargeIcon(null);
+ }
+ });
+ }
+
+ private void downloadRequest(Context context, Uri uri, BaseBitmapDataSubscriber subscriber) {
+ ImageRequest imageRequest = ImageRequestBuilder
+ .newBuilderWithSource(uri)
+ .setRequestPriority(Priority.HIGH)
+ .setLowestPermittedRequestLevel(ImageRequest.RequestLevel.FULL_FETCH)
+ .build();
+
+ if(!Fresco.hasBeenInitialized()) {
+ Fresco.initialize(context);
+ }
+
+ DataSource> dataSource = Fresco.getImagePipeline().fetchDecodedImage(imageRequest, context);
+
+ dataSource.subscribe(subscriber, CallerThreadExecutor.getInstance());
+ }
+
+ private void finished() {
+ synchronized(this.count) {
+ int val = this.count.incrementAndGet();
+
+ if(val >= 3 && this.callback != null) {
+ this.callback.call(this.largeIconImage, this.bigPictureImage, this.bigLargeIconImage);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationPublisher.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationPublisher.java
index 8f75f91ba..c779f5fb2 100644
--- a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationPublisher.java
+++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationPublisher.java
@@ -4,23 +4,44 @@
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
+import android.os.Bundle;
import android.util.Log;
+import java.util.List;
+import java.security.SecureRandom;
+
import static com.dieam.reactnativepushnotification.modules.RNPushNotification.LOG_TAG;
public class RNPushNotificationPublisher extends BroadcastReceiver {
final static String NOTIFICATION_ID = "notificationId";
@Override
- public void onReceive(Context context, Intent intent) {
+ public void onReceive(final Context context, Intent intent) {
int id = intent.getIntExtra(NOTIFICATION_ID, 0);
long currentTime = System.currentTimeMillis();
Log.i(LOG_TAG, "NotificationPublisher: Prepare To Publish: " + id + ", Now Time: " + currentTime);
+ final Bundle bundle = intent.getExtras();
+
+ Log.v(LOG_TAG, "onMessageReceived: " + bundle);
+
+ handleLocalNotification(context, bundle);
+ }
+
+ private void handleLocalNotification(Context context, Bundle bundle) {
+
+ // If notification ID is not provided by the user for push notification, generate one at random
+ if (bundle.getString("id") == null) {
+ SecureRandom randomNumberGenerator = new SecureRandom();
+ bundle.putString("id", String.valueOf(randomNumberGenerator.nextInt()));
+ }
+
Application applicationContext = (Application) context.getApplicationContext();
+ RNPushNotificationHelper pushNotificationHelper = new RNPushNotificationHelper(applicationContext);
+
+ Log.v(LOG_TAG, "sendNotification: " + bundle);
- new RNPushNotificationHelper(applicationContext)
- .sendToNotificationCentre(intent.getExtras());
+ pushNotificationHelper.sendToNotificationCentre(bundle);
}
-}
+}
\ No newline at end of file
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationRegistrationService.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationRegistrationService.java
deleted file mode 100644
index b962f5438..000000000
--- a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotificationRegistrationService.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.dieam.reactnativepushnotification.modules;
-
-import android.app.IntentService;
-import android.content.Intent;
-import android.util.Log;
-
-import com.google.android.gms.gcm.GoogleCloudMessaging;
-import com.google.android.gms.iid.InstanceID;
-
-import static com.dieam.reactnativepushnotification.modules.RNPushNotification.LOG_TAG;
-
-public class RNPushNotificationRegistrationService extends IntentService {
-
- private static final String TAG = "RNPushNotification";
-
- public RNPushNotificationRegistrationService() {
- super(TAG);
- }
-
- @Override
- protected void onHandleIntent(Intent intent) {
- try {
- String SenderID = intent.getStringExtra("senderID");
- InstanceID instanceID = InstanceID.getInstance(this);
- String token = instanceID.getToken(SenderID,
- GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
- sendRegistrationToken(token);
- } catch (Exception e) {
- Log.e(LOG_TAG, TAG + " failed to process intent " + intent, e);
- }
- }
-
- private void sendRegistrationToken(String token) {
- Intent intent = new Intent(this.getPackageName() + ".RNPushNotificationRegisteredToken");
- intent.putExtra("token", token);
- sendBroadcast(intent);
- }
-}
diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNReceivedMessageHandler.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNReceivedMessageHandler.java
new file mode 100644
index 000000000..721ca40cc
--- /dev/null
+++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNReceivedMessageHandler.java
@@ -0,0 +1,215 @@
+package com.dieam.reactnativepushnotification.modules;
+
+import com.google.firebase.messaging.FirebaseMessagingService;
+import com.google.firebase.messaging.RemoteMessage;
+
+import android.app.ActivityManager;
+import android.app.ActivityManager.RunningAppProcessInfo;
+import android.app.Application;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
+import android.content.Context;
+import android.util.Log;
+import android.net.Uri;
+import androidx.annotation.NonNull;
+import androidx.core.app.NotificationCompat;
+
+import com.dieam.reactnativepushnotification.helpers.ApplicationBadgeHelper;
+import com.facebook.react.ReactApplication;
+import com.facebook.react.ReactInstanceManager;
+import com.facebook.react.bridge.ReactApplicationContext;
+import com.facebook.react.bridge.ReactContext;
+
+import org.json.JSONObject;
+
+import java.util.Map;
+import java.util.List;
+import java.security.SecureRandom;
+
+import static android.content.Context.ACTIVITY_SERVICE;
+import static com.dieam.reactnativepushnotification.modules.RNPushNotification.LOG_TAG;
+
+public class RNReceivedMessageHandler {
+ private FirebaseMessagingService mFirebaseMessagingService;
+
+ public RNReceivedMessageHandler(@NonNull FirebaseMessagingService service) {
+ this.mFirebaseMessagingService = service;
+ }
+
+ public void handleReceivedMessage(RemoteMessage message) {
+ String from = message.getFrom();
+ RemoteMessage.Notification remoteNotification = message.getNotification();
+ final Bundle bundle = new Bundle();
+ // Putting it from remoteNotification first so it can be overriden if message
+ // data has it
+ if (remoteNotification != null) {
+ // ^ It's null when message is from GCM
+ RNPushNotificationConfig config = new RNPushNotificationConfig(mFirebaseMessagingService.getApplication());
+
+ String title = getLocalizedString(remoteNotification.getTitle(), remoteNotification.getTitleLocalizationKey(), remoteNotification.getTitleLocalizationArgs());
+ String body = getLocalizedString(remoteNotification.getBody(), remoteNotification.getBodyLocalizationKey(), remoteNotification.getBodyLocalizationArgs());
+
+ bundle.putString("title", title);
+ bundle.putString("message", body);
+ bundle.putString("sound", remoteNotification.getSound());
+ bundle.putString("color", remoteNotification.getColor());
+ bundle.putString("tag", remoteNotification.getTag());
+
+ if(remoteNotification.getIcon() != null) {
+ bundle.putString("smallIcon", remoteNotification.getIcon());
+ } else {
+ bundle.putString("smallIcon", "ic_notification");
+ }
+
+ if(remoteNotification.getChannelId() != null) {
+ bundle.putString("channelId", remoteNotification.getChannelId());
+ }
+ else {
+ bundle.putString("channelId", config.getNotificationDefaultChannelId());
+ }
+
+ Integer visibilty = remoteNotification.getVisibility();
+ String visibilityString = "private";
+
+ if (visibilty != null) {
+ switch (visibilty) {
+ case NotificationCompat.VISIBILITY_PUBLIC:
+ visibilityString = "public";
+ break;
+ case NotificationCompat.VISIBILITY_SECRET:
+ visibilityString = "secret";
+ break;
+ }
+ }
+
+ bundle.putString("visibility", visibilityString);
+
+ Integer priority = remoteNotification.getNotificationPriority();
+ String priorityString = "high";
+
+ if (priority != null) {
+ switch (priority) {
+ case NotificationCompat.PRIORITY_MAX:
+ priorityString = "max";
+ break;
+ case NotificationCompat.PRIORITY_LOW:
+ priorityString = "low";
+ break;
+ case NotificationCompat.PRIORITY_MIN:
+ priorityString = "min";
+ break;
+ case NotificationCompat.PRIORITY_DEFAULT:
+ priorityString = "default";
+ break;
+ }
+ }
+
+ bundle.putString("priority", priorityString);
+
+ Uri uri = remoteNotification.getImageUrl();
+
+ if(uri != null) {
+ String imageUrl = uri.toString();
+
+ bundle.putString("bigPictureUrl", imageUrl);
+ bundle.putString("largeIconUrl", imageUrl);
+ }
+ }
+
+ Bundle dataBundle = new Bundle();
+ Map notificationData = message.getData();
+
+ for(Map.Entry entry : notificationData.entrySet()) {
+ dataBundle.putString(entry.getKey(), entry.getValue());
+ }
+
+ bundle.putParcelable("data", dataBundle);
+
+ Log.v(LOG_TAG, "onMessageReceived: " + bundle);
+
+ // We need to run this on the main thread, as the React code assumes that is true.
+ // Namely, DevServerHelper constructs a Handler() without a Looper, which triggers:
+ // "Can't create handler inside thread that has not called Looper.prepare()"
+ Handler handler = new Handler(Looper.getMainLooper());
+ handler.post(new Runnable() {
+ public void run() {
+ // Construct and load our normal React JS code bundle
+ final ReactInstanceManager mReactInstanceManager = ((ReactApplication) mFirebaseMessagingService.getApplication()).getReactNativeHost().getReactInstanceManager();
+ ReactContext context = mReactInstanceManager.getCurrentReactContext();
+ // If it's constructed, send a notificationre
+ if (context != null) {
+ handleRemotePushNotification((ReactApplicationContext) context, bundle);
+ } else {
+ // Otherwise wait for construction, then send the notification
+ mReactInstanceManager.addReactInstanceEventListener(new ReactInstanceManager.ReactInstanceEventListener() {
+ public void onReactContextInitialized(ReactContext context) {
+ handleRemotePushNotification((ReactApplicationContext) context, bundle);
+ mReactInstanceManager.removeReactInstanceEventListener(this);
+ }
+ });
+ if (!mReactInstanceManager.hasStartedCreatingInitialContext()) {
+ // Construct it in the background
+ mReactInstanceManager.createReactContextInBackground();
+ }
+ }
+ }
+ });
+ }
+
+ private void handleRemotePushNotification(ReactApplicationContext context, Bundle bundle) {
+
+ // If notification ID is not provided by the user for push notification, generate one at random
+ if (bundle.getString("id") == null) {
+ SecureRandom randomNumberGenerator = new SecureRandom();
+ bundle.putString("id", String.valueOf(randomNumberGenerator.nextInt()));
+ }
+
+ Application applicationContext = (Application) context.getApplicationContext();
+
+ RNPushNotificationConfig config = new RNPushNotificationConfig(mFirebaseMessagingService.getApplication());
+ RNPushNotificationHelper pushNotificationHelper = new RNPushNotificationHelper(applicationContext);
+
+ boolean isForeground = pushNotificationHelper.isApplicationInForeground();
+
+ RNPushNotificationJsDelivery jsDelivery = new RNPushNotificationJsDelivery(context);
+ bundle.putBoolean("foreground", isForeground);
+ bundle.putBoolean("userInteraction", false);
+ jsDelivery.notifyNotification(bundle);
+
+ // If contentAvailable is set to true, then send out a remote fetch event
+ if (bundle.getString("contentAvailable", "false").equalsIgnoreCase("true")) {
+ jsDelivery.notifyRemoteFetch(bundle);
+ }
+
+ if (config.getNotificationForeground() || !isForeground) {
+ Log.v(LOG_TAG, "sendNotification: " + bundle);
+
+ pushNotificationHelper.sendToNotificationCentre(bundle);
+ }
+ }
+
+ private String getLocalizedString(String text, String locKey, String[] locArgs) {
+ if(text != null) {
+ return text;
+ }
+
+ Context context = mFirebaseMessagingService.getApplicationContext();
+ String packageName = context.getPackageName();
+
+ String result = null;
+
+ if (locKey != null) {
+ int id = context.getResources().getIdentifier(locKey, "string", packageName);
+ if (id != 0) {
+ if (locArgs != null) {
+ result = context.getResources().getString(id, (Object[]) locArgs);
+ } else {
+ result = context.getResources().getString(id);
+ }
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/component/index.android.js b/component/index.android.js
index d3d2758fc..0a609cbf9 100644
--- a/component/index.android.js
+++ b/component/index.android.js
@@ -1,18 +1,16 @@
'use strict';
-var {
- NativeModules,
- DeviceEventEmitter,
-} = require('react-native');
+import { NativeModules, DeviceEventEmitter } from "react-native";
-var RNPushNotification = NativeModules.RNPushNotification;
-var _notifHandlers = new Map();
+let RNPushNotification = NativeModules.ReactNativePushNotification;
+let _notifHandlers = new Map();
var DEVICE_NOTIF_EVENT = 'remoteNotificationReceived';
var NOTIF_REGISTER_EVENT = 'remoteNotificationsRegistered';
+var NOTIF_ACTION_EVENT = 'notificationActionReceived';
var REMOTE_FETCH_EVENT = 'remoteFetch';
-var NotificationsComponent = function() {
+let NotificationsComponent = function() {
};
@@ -26,57 +24,59 @@ NotificationsComponent.prototype.getInitialNotification = function () {
});
};
-NotificationsComponent.prototype.requestPermissions = function(senderID: string) {
- RNPushNotification.requestPermissions(senderID);
+NotificationsComponent.prototype.requestPermissions = function() {
+ RNPushNotification.requestPermissions();
};
-NotificationsComponent.prototype.subscribeToTopic = function(topic: string) {
+NotificationsComponent.prototype.subscribeToTopic = function(topic) {
RNPushNotification.subscribeToTopic(topic);
};
-NotificationsComponent.prototype.cancelLocalNotifications = function(details: Object) {
- RNPushNotification.cancelLocalNotifications(details);
+NotificationsComponent.prototype.unsubscribeFromTopic = function(topic) {
+ RNPushNotification.unsubscribeFromTopic(topic);
};
-NotificationsComponent.prototype.clearLocalNotification = function(details: Object) {
- RNPushNotification.clearLocalNotification(details);
+NotificationsComponent.prototype.cancelLocalNotification = function(details) {
+ RNPushNotification.cancelLocalNotification(details);
+};
+
+NotificationsComponent.prototype.clearLocalNotification = function(details, tag) {
+ RNPushNotification.clearLocalNotification(details, tag);
};
NotificationsComponent.prototype.cancelAllLocalNotifications = function() {
RNPushNotification.cancelAllLocalNotifications();
};
-NotificationsComponent.prototype.presentLocalNotification = function(details: Object) {
+NotificationsComponent.prototype.presentLocalNotification = function(details) {
RNPushNotification.presentLocalNotification(details);
};
-NotificationsComponent.prototype.scheduleLocalNotification = function(details: Object) {
+NotificationsComponent.prototype.scheduleLocalNotification = function(details) {
RNPushNotification.scheduleLocalNotification(details);
};
-NotificationsComponent.prototype.setApplicationIconBadgeNumber = function(number: number) {
+NotificationsComponent.prototype.setApplicationIconBadgeNumber = function(number) {
if (!RNPushNotification.setApplicationIconBadgeNumber) {
return;
}
RNPushNotification.setApplicationIconBadgeNumber(number);
};
-NotificationsComponent.prototype.abandonPermissions = function() {
- /* Void */
-};
-
-NotificationsComponent.prototype.checkPermissions = function(callback: Function) {
+NotificationsComponent.prototype.checkPermissions = function(callback) {
RNPushNotification.checkPermissions().then(alert => callback({ alert }));
};
-NotificationsComponent.prototype.addEventListener = function(type: string, handler: Function) {
- var listener;
+NotificationsComponent.prototype.addEventListener = function(type, handler) {
+ let listener;
if (type === 'notification') {
listener = DeviceEventEmitter.addListener(
DEVICE_NOTIF_EVENT,
function(notifData) {
- var data = JSON.parse(notifData.dataJSON);
- handler(data);
+ if (notifData && notifData.dataJSON) {
+ let data = JSON.parse(notifData.dataJSON);
+ handler(data);
+ }
}
);
} else if (type === 'register') {
@@ -90,17 +90,29 @@ NotificationsComponent.prototype.addEventListener = function(type: string, handl
listener = DeviceEventEmitter.addListener(
REMOTE_FETCH_EVENT,
function(notifData) {
- var notificationData = JSON.parse(notifData.dataJSON)
- handler(notificationData);
+ if (notifData && notifData.dataJSON) {
+ let notificationData = JSON.parse(notifData.dataJSON)
+ handler(notificationData);
+ }
}
);
- }
+ } else if (type === 'action') {
+ listener = DeviceEventEmitter.addListener(
+ NOTIF_ACTION_EVENT,
+ function(actionData) {
+ if (actionData && actionData.dataJSON) {
+ var action = JSON.parse(actionData.dataJSON)
+ handler(action);
+ }
+ }
+ );
+ }
_notifHandlers.set(type, listener);
};
-NotificationsComponent.prototype.removeEventListener = function(type: string, handler: Function) {
- var listener = _notifHandlers.get(type);
+NotificationsComponent.prototype.removeEventListener = function(type, handler) {
+ let listener = _notifHandlers.get(type);
if (!listener) {
return;
}
@@ -108,7 +120,7 @@ NotificationsComponent.prototype.removeEventListener = function(type: string, ha
_notifHandlers.delete(type);
}
-NotificationsComponent.prototype.registerNotificationActions = function(details: Object) {
+NotificationsComponent.prototype.registerNotificationActions = function(details) {
RNPushNotification.registerNotificationActions(details);
}
@@ -116,7 +128,48 @@ NotificationsComponent.prototype.clearAllNotifications = function() {
RNPushNotification.clearAllNotifications()
}
+NotificationsComponent.prototype.removeAllDeliveredNotifications = function() {
+ RNPushNotification.removeAllDeliveredNotifications();
+}
+
+NotificationsComponent.prototype.getDeliveredNotifications = function(callback) {
+ RNPushNotification.getDeliveredNotifications(callback);
+}
+NotificationsComponent.prototype.getScheduledLocalNotifications = function(callback) {
+ RNPushNotification.getScheduledLocalNotifications(callback);
+}
+NotificationsComponent.prototype.removeDeliveredNotifications = function(identifiers) {
+ RNPushNotification.removeDeliveredNotifications(identifiers);
+}
+
+NotificationsComponent.prototype.abandonPermissions = function() {
+ RNPushNotification.abandonPermissions();
+}
+
+NotificationsComponent.prototype.invokeApp = function(data) {
+ RNPushNotification.invokeApp(data);
+}
+
+NotificationsComponent.prototype.getChannels = function(callback) {
+ RNPushNotification.getChannels(callback);
+}
+
+NotificationsComponent.prototype.channelExists = function(channel_id, callback) {
+ RNPushNotification.channelExists(channel_id, callback);
+}
+
+NotificationsComponent.prototype.createChannel = function(channelInfo, callback) {
+ RNPushNotification.createChannel(channelInfo, callback);
+}
+
+NotificationsComponent.prototype.channelBlocked = function(channel_id, callback) {
+ RNPushNotification.channelBlocked(channel_id, callback);
+}
+
+NotificationsComponent.prototype.deleteChannel = function(channel_id) {
+ RNPushNotification.deleteChannel(channel_id);
+}
+
module.exports = {
- state: false,
component: new NotificationsComponent()
};
diff --git a/component/index.ios.js b/component/index.ios.js
index 38d2449ae..82eee6a92 100644
--- a/component/index.ios.js
+++ b/component/index.ios.js
@@ -1,12 +1,7 @@
-'use strict';
+"use strict";
-import {
- AppState,
- PushNotificationIOS
-} from 'react-native';
+import PushNotificationIOS from "@react-native-community/push-notification-ios";
module.exports = {
- state: AppState,
component: PushNotificationIOS
};
-
diff --git a/example/.babelrc b/example/.babelrc
deleted file mode 100644
index 108657ce5..000000000
--- a/example/.babelrc
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "retainLines": true,
- "compact": true,
- "comments": false,
- "presets": [
- "react-native"
- ],
- "sourceMaps": false
-}
\ No newline at end of file
diff --git a/example/.eslintrc.js b/example/.eslintrc.js
new file mode 100644
index 000000000..40c6dcd05
--- /dev/null
+++ b/example/.eslintrc.js
@@ -0,0 +1,4 @@
+module.exports = {
+ root: true,
+ extends: '@react-native-community',
+};
diff --git a/example/.flowconfig b/example/.flowconfig
index 3c0adb566..786366c4f 100644
--- a/example/.flowconfig
+++ b/example/.flowconfig
@@ -5,63 +5,70 @@
; Ignore "BUCK" generated dirs
/\.buckd/
-; Ignore unexpected extra "@providesModule"
-.*/node_modules/.*/node_modules/fbjs/.*
+; Ignore polyfills
+node_modules/react-native/Libraries/polyfills/.*
-; Ignore duplicate module providers
-; For RN Apps installed via npm, "Libraries" folder is inside
-; "node_modules/react-native" but in the source repo it is in the root
-.*/Libraries/react-native/React.js
+; These should not be required directly
+; require from fbjs/lib instead: require('fbjs/lib/warning')
+node_modules/warning/.*
-; Ignore polyfills
-.*/Libraries/polyfills/.*
+; Flow doesn't support platforms
+.*/Libraries/Utilities/LoadingView.js
-; Ignore metro
-.*/node_modules/metro/.*
+[untyped]
+.*/node_modules/@react-native-community/cli/.*/.*
[include]
[libs]
-node_modules/react-native/Libraries/react-native/react-native-interface.js
+node_modules/react-native/interface.js
node_modules/react-native/flow/
-node_modules/react-native/flow-github/
[options]
emoji=true
-module.system=haste
-module.system.haste.use_name_reducers=true
-# get basename
-module.system.haste.name_reducers='^.*/\([a-zA-Z0-9$_.-]+\.js\(\.flow\)?\)$' -> '\1'
-# strip .js or .js.flow suffix
-module.system.haste.name_reducers='^\(.*\)\.js\(\.flow\)?$' -> '\1'
-# strip .ios suffix
-module.system.haste.name_reducers='^\(.*\)\.ios$' -> '\1'
-module.system.haste.name_reducers='^\(.*\)\.android$' -> '\1'
-module.system.haste.name_reducers='^\(.*\)\.native$' -> '\1'
-module.system.haste.paths.blacklist=.*/__tests__/.*
-module.system.haste.paths.blacklist=.*/__mocks__/.*
-module.system.haste.paths.blacklist=/node_modules/react-native/Libraries/Animated/src/polyfills/.*
-module.system.haste.paths.whitelist=/node_modules/react-native/Libraries/.*
-
-munge_underscores=true
-
-module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub'
+esproposal.optional_chaining=enable
+esproposal.nullish_coalescing=enable
module.file_ext=.js
-module.file_ext=.jsx
module.file_ext=.json
-module.file_ext=.native.js
+module.file_ext=.ios.js
+
+munge_underscores=true
+
+module.name_mapper='^react-native/\(.*\)$' -> '/node_modules/react-native/\1'
+module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '/node_modules/react-native/Libraries/Image/RelativeImageStub'
suppress_type=$FlowIssue
suppress_type=$FlowFixMe
suppress_type=$FlowFixMeProps
suppress_type=$FlowFixMeState
-suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
-suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+
-suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
+suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)
+suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)?:? #[0-9]+
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError
+[lints]
+sketchy-null-number=warn
+sketchy-null-mixed=warn
+sketchy-number=warn
+untyped-type-import=warn
+nonstrict-import=warn
+deprecated-type=warn
+unsafe-getters-setters=warn
+inexact-spread=warn
+unnecessary-invariant=warn
+signature-verification-failure=warn
+deprecated-utility=error
+
+[strict]
+deprecated-type
+nonstrict-import
+sketchy-null
+unclear-type
+unsafe-getters-setters
+untyped-import
+untyped-type-import
+
[version]
-^0.75.0
+^0.113.0
diff --git a/example/.gitignore b/example/.gitignore
index 5d647565f..5366d9fd5 100644
--- a/example/.gitignore
+++ b/example/.gitignore
@@ -20,13 +20,13 @@ DerivedData
*.hmap
*.ipa
*.xcuserstate
-project.xcworkspace
# Android/IntelliJ
#
build/
.idea
.gradle
+
local.properties
*.iml
@@ -54,3 +54,6 @@ buck-out/
# Bundle artifact
*.jsbundle
+
+# CocoaPods
+/ios/Pods/
diff --git a/example/.prettierrc.js b/example/.prettierrc.js
new file mode 100644
index 000000000..5c4de1a4f
--- /dev/null
+++ b/example/.prettierrc.js
@@ -0,0 +1,6 @@
+module.exports = {
+ bracketSpacing: false,
+ jsxBracketSameLine: true,
+ singleQuote: true,
+ trailingComma: 'all',
+};
diff --git a/example/App.js b/example/App.js
index 75dc49998..eb08ef637 100644
--- a/example/App.js
+++ b/example/App.js
@@ -6,41 +6,137 @@
* @flow
*/
-import React, { Component } from 'react';
-import { TextInput, StyleSheet, Text, View, TouchableOpacity, Alert } from 'react-native';
+import React, {Component} from 'react';
+import {
+ TextInput,
+ StyleSheet,
+ Text,
+ View,
+ TouchableOpacity,
+ Alert,
+} from 'react-native';
import NotifService from './NotifService';
-import appConfig from './app.json';
-
-type Props = {};
-export default class App extends Component {
+export default class App extends Component {
constructor(props) {
super(props);
- this.state = {
- senderId: appConfig.senderID
- };
+ this.state = {};
- this.notif = new NotifService(this.onRegister.bind(this), this.onNotif.bind(this));
+ this.notif = new NotifService(
+ this.onRegister.bind(this),
+ this.onNotif.bind(this),
+ );
}
render() {
return (
- Example app react-native-push-notification
+
+ Example app react-native-push-notification
+
-
+
- { this.notif.localNotif() }}>Local Notification (now)
- { this.notif.scheduleNotif() }}>Schedule Notification in 30s
- { this.notif.cancelNotif() }}>Cancel last notification (if any)
- { this.notif.cancelAll() }}>Cancel all notifications
- { this.notif.checkPermission(this.handlePerm.bind(this)) }}>Check Permission
+ {
+ this.notif.localNotif();
+ }}>
+ Local Notification (now)
+
+ {
+ this.notif.localNotif('sample.mp3');
+ }}>
+ Local Notification with sound (now)
+
+ {
+ this.notif.scheduleNotif();
+ }}>
+ Schedule Notification in 30s
+
+ {
+ this.notif.scheduleNotif('sample.mp3');
+ }}>
+ Schedule Notification with sound in 30s
+
+ {
+ this.notif.cancelNotif();
+ }}>
+ Cancel last notification (if any)
+
+ {
+ this.notif.cancelAll();
+ }}>
+ Cancel all notifications
+
+ {
+ this.notif.checkPermission(this.handlePerm.bind(this));
+ }}>
+ Check Permission
+
+ {
+ this.notif.requestPermissions();
+ }}>
+ Request Permissions
+
+ {
+ this.notif.abandonPermissions();
+ }}>
+ Abandon Permissions
+
+ {
+ this.notif.getScheduledLocalNotifications(notifs => console.log(notifs));
+ }}>
+ Console.Log Scheduled Local Notifications
+
+ {
+ this.notif.getDeliveredNotifications(notifs => console.log(notifs));
+ }}>
+ Console.Log Delivered Notifications
+
+ {
+ this.notif.createOrUpdateChannel();
+ }}>
+ Create or update a channel
+
+ {
+ this.notif.popInitialNotification();
+ }}>
+ popInitialNotification
+
- {this.setState({ senderId: e })}} placeholder="GCM ID" />
- { this.notif.configure(this.onRegister.bind(this), this.onNotif.bind(this), this.state.senderId) }}>Configure Sender ID
- {this.state.gcmRegistered && GCM Configured ! }
+
+ {this.state.fcmRegistered && FCM Configured ! }
@@ -48,22 +144,18 @@ export default class App extends Component {
}
onRegister(token) {
- Alert.alert("Registered !", JSON.stringify(token));
- console.log(token);
- this.setState({ registerToken: token.token, gcmRegistered: true });
+ this.setState({registerToken: token.token, fcmRegistered: true});
}
onNotif(notif) {
- console.log(notif);
Alert.alert(notif.title, notif.message);
}
handlePerm(perms) {
- Alert.alert("Permissions", JSON.stringify(perms));
+ Alert.alert('Permissions', JSON.stringify(perms));
}
}
-
const styles = StyleSheet.create({
container: {
flex: 1,
@@ -78,26 +170,26 @@ const styles = StyleSheet.create({
},
button: {
borderWidth: 1,
- borderColor: "#000000",
+ borderColor: '#000000',
margin: 5,
padding: 5,
- width: "70%",
- backgroundColor: "#DDDDDD",
+ width: '70%',
+ backgroundColor: '#DDDDDD',
borderRadius: 5,
},
textField: {
borderWidth: 1,
- borderColor: "#AAAAAA",
+ borderColor: '#AAAAAA',
margin: 5,
padding: 5,
- width: "70%"
+ width: '70%',
},
spacer: {
height: 10,
},
title: {
- fontWeight: "bold",
+ fontWeight: 'bold',
fontSize: 20,
- textAlign: "center",
- }
+ textAlign: 'center',
+ },
});
diff --git a/example/NotifService.js b/example/NotifService.js
index dc66583de..6935285c1 100644
--- a/example/NotifService.js
+++ b/example/NotifService.js
@@ -1,121 +1,178 @@
-import PushNotification from 'react-native-push-notification';
+import PushNotification, {Importance} from 'react-native-push-notification';
+import NotificationHandler from './NotificationHandler';
export default class NotifService {
-
constructor(onRegister, onNotification) {
- this.configure(onRegister, onNotification);
-
this.lastId = 0;
- }
+ this.lastChannelCounter = 0;
- configure(onRegister, onNotification, gcm = "") {
- PushNotification.configure({
- // (optional) Called when Token is generated (iOS and Android)
- onRegister: onRegister, //this._onRegister.bind(this),
+ this.createDefaultChannels();
- // (required) Called when a remote or local notification is opened or received
- onNotification: onNotification, //this._onNotification,
+ NotificationHandler.attachRegister(onRegister);
+ NotificationHandler.attachNotification(onNotification);
- // ANDROID ONLY: GCM Sender ID (optional - not required for local notifications, but is need to receive remote push notifications)
- senderID: gcm,
+ // Clear badge number at start
+ PushNotification.getApplicationIconBadgeNumber(function (number) {
+ if (number > 0) {
+ PushNotification.setApplicationIconBadgeNumber(0);
+ }
+ });
+
+ PushNotification.getChannels(function(channels) {
+ console.log(channels);
+ });
+ }
- // IOS ONLY (optional): default: all - Permissions to register.
- permissions: {
- alert: true,
- badge: true,
- sound: true
+ createDefaultChannels() {
+ PushNotification.createChannel(
+ {
+ channelId: "default-channel-id", // (required)
+ channelName: `Default channel`, // (required)
+ channelDescription: "A default channel", // (optional) default: undefined.
+ soundName: "default", // (optional) See `soundName` parameter of `localNotification` function
+ importance: Importance.HIGH, // (optional) default: Importance.HIGH. Int value of the Android notification importance
+ vibrate: true, // (optional) default: true. Creates the default vibration pattern if true.
+ },
+ (created) => console.log(`createChannel 'default-channel-id' returned '${created}'`) // (optional) callback returns whether the channel was created, false means it already existed.
+ );
+ PushNotification.createChannel(
+ {
+ channelId: "sound-channel-id", // (required)
+ channelName: `Sound channel`, // (required)
+ channelDescription: "A sound channel", // (optional) default: undefined.
+ soundName: "sample.mp3", // (optional) See `soundName` parameter of `localNotification` function
+ importance: Importance.HIGH, // (optional) default: Importance.HIGH. Int value of the Android notification importance
+ vibrate: true, // (optional) default: true. Creates the default vibration pattern if true.
},
+ (created) => console.log(`createChannel 'sound-channel-id' returned '${created}'`) // (optional) callback returns whether the channel was created, false means it already existed.
+ );
+ }
- // Should the initial notification be popped automatically
- // default: true
- popInitialNotification: true,
+ createOrUpdateChannel() {
+ this.lastChannelCounter++;
+ PushNotification.createChannel(
+ {
+ channelId: "custom-channel-id", // (required)
+ channelName: `Custom channel - Counter: ${this.lastChannelCounter}`, // (required)
+ channelDescription: `A custom channel to categorise your custom notifications. Updated at: ${Date.now()}`, // (optional) default: undefined.
+ soundName: "default", // (optional) See `soundName` parameter of `localNotification` function
+ importance: Importance.HIGH, // (optional) default: Importance.HIGH. Int value of the Android notification importance
+ vibrate: true, // (optional) default: true. Creates the default vibration pattern if true.
+ },
+ (created) => console.log(`createChannel returned '${created}'`) // (optional) callback returns whether the channel was created, false means it already existed.
+ );
+ }
- /**
- * (optional) default: true
- * - Specified if permissions (ios) and token (android and ios) will requested or not,
- * - if not, you must call PushNotificationsHandler.requestPermissions() later
- */
- requestPermissions: true,
- });
+ popInitialNotification() {
+ PushNotification.popInitialNotification((notification) => console.log('InitialNotication:', notification));
}
- localNotif() {
+ localNotif(soundName) {
+ this.lastId++;
PushNotification.localNotification({
/* Android Only Properties */
- id: ''+this.lastId, // (optional) Valid unique 32 bit integer specified as string. default: Autogenerated Unique ID
- ticker: "My Notification Ticker", // (optional)
+ channelId: soundName ? 'sound-channel-id' : 'default-channel-id',
+ ticker: 'My Notification Ticker', // (optional)
autoCancel: true, // (optional) default: true
- largeIcon: "ic_launcher", // (optional) default: "ic_launcher"
- smallIcon: "ic_notification", // (optional) default: "ic_notification" with fallback for "ic_launcher"
- bigText: "My big text that will be shown when notification is expanded", // (optional) default: "message" prop
- subText: "This is a subText", // (optional) default: none
- color: "red", // (optional) default: system default
+ largeIcon: 'ic_launcher', // (optional) default: "ic_launcher"
+ smallIcon: 'ic_notification', // (optional) default: "ic_notification" with fallback for "ic_launcher"
+ bigText: 'My big text that will be shown when notification is expanded', // (optional) default: "message" prop
+ subText: 'This is a subText', // (optional) default: none
+ color: 'red', // (optional) default: system default
vibrate: true, // (optional) default: true
vibration: 300, // vibration length in milliseconds, ignored if vibrate=false, default: 1000
tag: 'some_tag', // (optional) add tag to message
- group: "group", // (optional) add group to message
+ group: 'group', // (optional) add group to message
+ groupSummary: false, // (optional) set this notification to be the group summary for a group of notifications, default: false
ongoing: false, // (optional) set whether this is an "ongoing" notification
+ actions: ['Yes', 'No'], // (Android only) See the doc for notification actions to know more
+ invokeApp: true, // (optional) This enable click on actions to bring back the application to foreground or stay in background, default: true
+
+ when: null, // (optionnal) Add a timestamp pertaining to the notification (usually the time the event occurred). For apps targeting Build.VERSION_CODES.N and above, this time is not shown anymore by default and must be opted into by using `showWhen`, default: null.
+ usesChronometer: false, // (optional) Show the `when` field as a stopwatch. Instead of presenting `when` as a timestamp, the notification will show an automatically updating display of the minutes and seconds since when. Useful when showing an elapsed time (like an ongoing phone call), default: false.
+ timeoutAfter: null, // (optional) Specifies a duration in milliseconds after which this notification should be canceled, if it is not already canceled, default: null
/* iOS only properties */
- alertAction: 'view', // (optional) default: view
- category: null, // (optional) default: null
- userInfo: null, // (optional) default: null (object containing additional notification data)
+ category: '', // (optional) default: empty string
+ subtitle: "My Notification Subtitle", // (optional) smaller title below notification title
/* iOS and Android properties */
- title: "Local Notification", // (optional)
- message: "My Notification Message", // (required)
- playSound: false, // (optional) default: true
- soundName: 'default', // (optional) Sound to play when the notification is shown. Value of 'default' plays the default sound. It can be set to a custom sound such as 'android.resource://com.xyz/raw/my_sound'. It will look for the 'my_sound' audio file in 'res/raw' directory and play it. default: 'default' (default sound is played)
- number: '10', // (optional) Valid 32 bit integer specified as string. default: none (Cannot be zero)
- actions: '["Yes", "No"]', // (Android only) See the doc for notification actions to know more
+ id: this.lastId, // (optional) Valid unique 32 bit integer specified as string. default: Autogenerated Unique ID
+ title: 'Local Notification', // (optional)
+ message: 'My Notification Message', // (required)
+ userInfo: { screen: 'home' }, // (optional) default: {} (using null throws a JSON value '' error)
+ playSound: !!soundName, // (optional) default: true
+ soundName: soundName ? soundName : 'default', // (optional) Sound to play when the notification is shown. Value of 'default' plays the default sound. It can be set to a custom sound such as 'android.resource://com.xyz/raw/my_sound'. It will look for the 'my_sound' audio file in 'res/raw' directory and play it. default: 'default' (default sound is played)
+ number: 10, // (optional) Valid 32 bit integer specified as string. default: none (Cannot be zero)
});
-
- this.lastId++;
}
- scheduleNotif() {
+ scheduleNotif(soundName) {
+ this.lastId++;
PushNotification.localNotificationSchedule({
- date: new Date(Date.now() + (30 * 1000)), // in 30 secs
+ date: new Date(Date.now() + 30 * 1000), // in 30 secs
/* Android Only Properties */
- id: ''+this.lastId, // (optional) Valid unique 32 bit integer specified as string. default: Autogenerated Unique ID
- ticker: "My Notification Ticker", // (optional)
+ channelId: soundName ? 'sound-channel-id' : 'default-channel-id',
+ ticker: 'My Notification Ticker', // (optional)
autoCancel: true, // (optional) default: true
- largeIcon: "ic_launcher", // (optional) default: "ic_launcher"
- smallIcon: "ic_notification", // (optional) default: "ic_notification" with fallback for "ic_launcher"
- bigText: "My big text that will be shown when notification is expanded", // (optional) default: "message" prop
- subText: "This is a subText", // (optional) default: none
- color: "blue", // (optional) default: system default
+ largeIcon: 'ic_launcher', // (optional) default: "ic_launcher"
+ smallIcon: 'ic_notification', // (optional) default: "ic_notification" with fallback for "ic_launcher"
+ bigText: 'My big text that will be shown when notification is expanded', // (optional) default: "message" prop
+ subText: 'This is a subText', // (optional) default: none
+ color: 'blue', // (optional) default: system default
vibrate: true, // (optional) default: true
vibration: 300, // vibration length in milliseconds, ignored if vibrate=false, default: 1000
tag: 'some_tag', // (optional) add tag to message
- group: "group", // (optional) add group to message
+ group: 'group', // (optional) add group to message
+ groupSummary: false, // (optional) set this notification to be the group summary for a group of notifications, default: false
ongoing: false, // (optional) set whether this is an "ongoing" notification
+ actions: ['Yes', 'No'], // (Android only) See the doc for notification actions to know more
+ invokeApp: false, // (optional) This enable click on actions to bring back the application to foreground or stay in background, default: true
+ when: null, // (optionnal) Add a timestamp pertaining to the notification (usually the time the event occurred). For apps targeting Build.VERSION_CODES.N and above, this time is not shown anymore by default and must be opted into by using `showWhen`, default: null.
+ usesChronometer: false, // (optional) Show the `when` field as a stopwatch. Instead of presenting `when` as a timestamp, the notification will show an automatically updating display of the minutes and seconds since when. Useful when showing an elapsed time (like an ongoing phone call), default: false.
+ timeoutAfter: null, // (optional) Specifies a duration in milliseconds after which this notification should be canceled, if it is not already canceled, default: null
+
/* iOS only properties */
- alertAction: 'view', // (optional) default: view
- category: null, // (optional) default: null
- userInfo: null, // (optional) default: null (object containing additional notification data)
-
+ category: '', // (optional) default: empty string
+
/* iOS and Android properties */
- title: "Scheduled Notification", // (optional)
- message: "My Notification Message", // (required)
- playSound: true, // (optional) default: true
- soundName: 'default', // (optional) Sound to play when the notification is shown. Value of 'default' plays the default sound. It can be set to a custom sound such as 'android.resource://com.xyz/raw/my_sound'. It will look for the 'my_sound' audio file in 'res/raw' directory and play it. default: 'default' (default sound is played)
+ id: this.lastId, // (optional) Valid unique 32 bit integer specified as string. default: Autogenerated Unique ID
+ title: 'Scheduled Notification', // (optional)
+ message: 'My Notification Message', // (required)
+ userInfo: { sceen: "home" }, // (optional) default: {} (using null throws a JSON value '' error)
+ playSound: !!soundName, // (optional) default: true
+ soundName: soundName ? soundName : 'default', // (optional) Sound to play when the notification is shown. Value of 'default' plays the default sound. It can be set to a custom sound such as 'android.resource://com.xyz/raw/my_sound'. It will look for the 'my_sound' audio file in 'res/raw' directory and play it. default: 'default' (default sound is played)
+ number: 10, // (optional) Valid 32 bit integer specified as string. default: none (Cannot be zero)
});
-
- this.lastId++;
}
checkPermission(cbk) {
return PushNotification.checkPermissions(cbk);
}
+ requestPermissions() {
+ return PushNotification.requestPermissions();
+ }
+
cancelNotif() {
- PushNotification.cancelLocalNotifications({id: ''+this.lastId});
+ PushNotification.cancelLocalNotification(this.lastId);
}
cancelAll() {
PushNotification.cancelAllLocalNotifications();
}
-}
\ No newline at end of file
+
+ abandonPermissions() {
+ PushNotification.abandonPermissions();
+ }
+
+ getScheduledLocalNotifications(callback) {
+ PushNotification.getScheduledLocalNotifications(callback);
+ }
+
+ getDeliveredNotifications(callback) {
+ PushNotification.getDeliveredNotifications(callback);
+ }
+}
diff --git a/example/NotificationHandler.js b/example/NotificationHandler.js
new file mode 100644
index 000000000..040d3c0cf
--- /dev/null
+++ b/example/NotificationHandler.js
@@ -0,0 +1,78 @@
+import PushNotification from 'react-native-push-notification';
+
+class NotificationHandler {
+ onNotification(notification) {
+ console.log('NotificationHandler:', notification);
+
+ if (typeof this._onNotification === 'function') {
+ this._onNotification(notification);
+ }
+ }
+
+ onRegister(token) {
+ console.log('NotificationHandler:', token);
+
+ if (typeof this._onRegister === 'function') {
+ this._onRegister(token);
+ }
+ }
+
+ onAction(notification) {
+ console.log ('Notification action received:');
+ console.log(notification.action);
+ console.log(notification);
+
+ if(notification.action === 'Yes') {
+ PushNotification.invokeApp(notification);
+ }
+ }
+
+ // (optional) Called when the user fails to register for remote notifications. Typically occurs when APNS is having issues, or the device is a simulator. (iOS)
+ onRegistrationError(err) {
+ console.log(err);
+ }
+
+ attachRegister(handler) {
+ this._onRegister = handler;
+ }
+
+ attachNotification(handler) {
+ this._onNotification = handler;
+ }
+}
+
+const handler = new NotificationHandler();
+
+PushNotification.configure({
+ // (optional) Called when Token is generated (iOS and Android)
+ onRegister: handler.onRegister.bind(handler),
+
+ // (required) Called when a remote or local notification is opened or received
+ onNotification: handler.onNotification.bind(handler),
+
+ // (optional) Called when Action is pressed (Android)
+ onAction: handler.onAction.bind(handler),
+
+ // (optional) Called when the user fails to register for remote notifications. Typically occurs when APNS is having issues, or the device is a simulator. (iOS)
+ onRegistrationError: handler.onRegistrationError.bind(handler),
+
+ // IOS ONLY (optional): default: all - Permissions to register.
+ permissions: {
+ alert: true,
+ badge: true,
+ sound: true,
+ },
+
+ // Should the initial notification be popped automatically
+ // default: true
+ popInitialNotification: true,
+
+ /**
+ * (optional) default: true
+ * - Specified if permissions (ios) and token (android and ios) will requested or not,
+ * - if not, you must call PushNotificationsHandler.requestPermissions() later
+ */
+ requestPermissions: true,
+});
+
+export default handler;
diff --git a/example/__tests__/App-test.js b/example/__tests__/App-test.js
new file mode 100644
index 000000000..178476699
--- /dev/null
+++ b/example/__tests__/App-test.js
@@ -0,0 +1,14 @@
+/**
+ * @format
+ */
+
+import 'react-native';
+import React from 'react';
+import App from '../App';
+
+// Note: test renderer must be required after react-native.
+import renderer from 'react-test-renderer';
+
+it('renders correctly', () => {
+ renderer.create( );
+});
diff --git a/example/android/.project b/example/android/.project
new file mode 100644
index 000000000..0812d9e3f
--- /dev/null
+++ b/example/android/.project
@@ -0,0 +1,17 @@
+
+
+ example
+ Project android created by Buildship.
+
+
+
+
+ org.eclipse.buildship.core.gradleprojectbuilder
+
+
+
+
+
+ org.eclipse.buildship.core.gradleprojectnature
+
+
diff --git a/example/android/.settings/org.eclipse.buildship.core.prefs b/example/android/.settings/org.eclipse.buildship.core.prefs
new file mode 100644
index 000000000..342e81ef5
--- /dev/null
+++ b/example/android/.settings/org.eclipse.buildship.core.prefs
@@ -0,0 +1,13 @@
+arguments=
+auto.sync=false
+build.scans.enabled=false
+connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
+connection.project.dir=
+eclipse.preferences.version=1
+gradle.user.home=
+java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
+jvm.arguments=
+offline.mode=false
+override.workspace.settings=true
+show.console.view=true
+show.executions.view=true
diff --git a/example/android/app/.classpath b/example/android/app/.classpath
new file mode 100644
index 000000000..eb19361b5
--- /dev/null
+++ b/example/android/app/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/example/android/app/.project b/example/android/app/.project
new file mode 100644
index 000000000..ac485d7c3
--- /dev/null
+++ b/example/android/app/.project
@@ -0,0 +1,23 @@
+
+
+ app
+ Project app created by Buildship.
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.buildship.core.gradleprojectbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.buildship.core.gradleprojectnature
+
+
diff --git a/example/android/app/.settings/org.eclipse.buildship.core.prefs b/example/android/app/.settings/org.eclipse.buildship.core.prefs
new file mode 100644
index 000000000..b3d49cd88
--- /dev/null
+++ b/example/android/app/.settings/org.eclipse.buildship.core.prefs
@@ -0,0 +1,13 @@
+arguments=
+auto.sync=false
+build.scans.enabled=false
+connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(6.3))
+connection.project.dir=..
+eclipse.preferences.version=1
+gradle.user.home=
+java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
+jvm.arguments=
+offline.mode=false
+override.workspace.settings=true
+show.console.view=true
+show.executions.view=true
diff --git a/example/android/app/BUCK b/example/android/app/BUCK
index c8f560323..a4cb8a5b0 100644
--- a/example/android/app/BUCK
+++ b/example/android/app/BUCK
@@ -8,23 +8,13 @@
# - `buck install -r android/app` - compile, install and run application
#
+load(":build_defs.bzl", "create_aar_targets", "create_jar_targets")
+
lib_deps = []
-for jarfile in glob(['libs/*.jar']):
- name = 'jars__' + jarfile[jarfile.rindex('/') + 1: jarfile.rindex('.jar')]
- lib_deps.append(':' + name)
- prebuilt_jar(
- name = name,
- binary_jar = jarfile,
- )
+create_aar_targets(glob(["libs/*.aar"]))
-for aarfile in glob(['libs/*.aar']):
- name = 'aars__' + aarfile[aarfile.rindex('/') + 1: aarfile.rindex('.aar')]
- lib_deps.append(':' + name)
- android_prebuilt_aar(
- name = name,
- aar = aarfile,
- )
+create_jar_targets(glob(["libs/*.jar"]))
android_library(
name = "all-libs",
diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle
index 90e7199c1..3ff475d22 100644
--- a/example/android/app/build.gradle
+++ b/example/android/app/build.gradle
@@ -15,9 +15,14 @@ import com.android.build.OutputFile
* // the name of the generated asset file containing your JS bundle
* bundleAssetName: "index.android.bundle",
*
- * // the entry file for bundle generation
+ * // the entry file for bundle generation. If none specified and
+ * // "index.android.js" exists, it will be used. Otherwise "index.js" is
+ * // default. Can be overridden with ENTRY_FILE environment variable.
* entryFile: "index.android.js",
*
+ * // https://facebook.github.io/react-native/docs/performance#enable-the-ram-format
+ * bundleCommand: "ram-bundle",
+ *
* // whether to bundle JS and assets in debug mode
* bundleInDebug: false,
*
@@ -73,7 +78,7 @@ import com.android.build.OutputFile
*/
project.ext.react = [
- entryFile: "index.js"
+ enableHermes: false, // clean and rebuild if changing
]
apply from: "../../node_modules/react-native/react.gradle"
@@ -93,9 +98,35 @@ def enableSeparateBuildPerCPUArchitecture = false
*/
def enableProguardInReleaseBuilds = false
+/**
+ * The preferred build flavor of JavaScriptCore.
+ *
+ * For example, to use the international variant, you can use:
+ * `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
+ *
+ * The international variant includes ICU i18n library and necessary data
+ * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
+ * give correct results when using with locales other than en-US. Note that
+ * this variant is about 6MiB larger per architecture than default.
+ */
+def jscFlavor = 'org.webkit:android-jsc:+'
+
+/**
+ * Whether to enable the Hermes VM.
+ *
+ * This should be set on project.ext.react and mirrored here. If it is not set
+ * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
+ * and the benefits of using Hermes will therefore be sharply reduced.
+ */
+def enableHermes = project.ext.react.get("enableHermes", false);
+
android {
compileSdkVersion rootProject.ext.compileSdkVersion
- buildToolsVersion rootProject.ext.buildToolsVersion
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
defaultConfig {
applicationId "com.example"
@@ -103,49 +134,82 @@ android {
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
- ndk {
- abiFilters "armeabi-v7a", "x86"
- }
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
- include "armeabi-v7a", "x86"
+ include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
+ }
+ }
+ signingConfigs {
+ debug {
+ storeFile file('debug.keystore')
+ storePassword 'android'
+ keyAlias 'androiddebugkey'
+ keyPassword 'android'
}
}
buildTypes {
+ debug {
+ signingConfig signingConfigs.debug
+ }
release {
+ // Caution! In production, you need to generate your own keystore file.
+ // see https://facebook.github.io/react-native/docs/signed-apk-android.
+ signingConfig signingConfigs.debug
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
+
+ packagingOptions {
+ pickFirst "lib/armeabi-v7a/libc++_shared.so"
+ pickFirst "lib/arm64-v8a/libc++_shared.so"
+ pickFirst "lib/x86/libc++_shared.so"
+ pickFirst "lib/x86_64/libc++_shared.so"
+ }
+
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
- // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
- def versionCodes = ["armeabi-v7a":1, "x86":2]
+ // https://developer.android.com/studio/build/configure-apk-splits.html
+ def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
}
+
}
}
}
dependencies {
- compile project(':react-native-push-notification')
- compile fileTree(dir: "libs", include: ["*.jar"])
- compile "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
- compile "com.facebook.react:react-native:+" // From node_modules
+ implementation fileTree(dir: "libs", include: ["*.jar"])
+ //noinspection GradleDynamicVersion
+ implementation "com.facebook.react:react-native:+" // From node_modules
+
+ implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
+
+ if (enableHermes) {
+ def hermesPath = "../../node_modules/hermes-engine/android/";
+ debugImplementation files(hermesPath + "hermes-debug.aar")
+ releaseImplementation files(hermesPath + "hermes-release.aar")
+ } else {
+ implementation jscFlavor
+ }
}
+apply plugin: 'com.google.gms.google-services'
+
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
+
+apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
diff --git a/example/android/app/build_defs.bzl b/example/android/app/build_defs.bzl
new file mode 100644
index 000000000..fff270f8d
--- /dev/null
+++ b/example/android/app/build_defs.bzl
@@ -0,0 +1,19 @@
+"""Helper definitions to glob .aar and .jar targets"""
+
+def create_aar_targets(aarfiles):
+ for aarfile in aarfiles:
+ name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
+ lib_deps.append(":" + name)
+ android_prebuilt_aar(
+ name = name,
+ aar = aarfile,
+ )
+
+def create_jar_targets(jarfiles):
+ for jarfile in jarfiles:
+ name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
+ lib_deps.append(":" + name)
+ prebuilt_jar(
+ name = name,
+ binary_jar = jarfile,
+ )
diff --git a/example/android/app/proguard-rules.pro b/example/android/app/proguard-rules.pro
index a92fa177e..11b025724 100644
--- a/example/android/app/proguard-rules.pro
+++ b/example/android/app/proguard-rules.pro
@@ -8,10 +8,3 @@
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml
index 34a9de9e5..8a88f01e5 100644
--- a/example/android/app/src/main/AndroidManifest.xml
+++ b/example/android/app/src/main/AndroidManifest.xml
@@ -1,19 +1,25 @@
+ package="com.example">
+
+
+
+ android:theme="@style/AppTheme"
+ android:usesCleartextTraffic="true">
@@ -22,49 +28,28 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
diff --git a/example/android/app/src/main/java/com/example/MainActivity.java b/example/android/app/src/main/java/com/example/MainActivity.java
index e84b72551..5e57fb914 100644
--- a/example/android/app/src/main/java/com/example/MainActivity.java
+++ b/example/android/app/src/main/java/com/example/MainActivity.java
@@ -4,12 +4,12 @@
public class MainActivity extends ReactActivity {
- /**
- * Returns the name of the main component registered from JavaScript.
- * This is used to schedule rendering of the component.
- */
- @Override
- protected String getMainComponentName() {
- return "example";
- }
+ /**
+ * Returns the name of the main component registered from JavaScript. This is
+ * used to schedule rendering of the component.
+ */
+ @Override
+ protected String getMainComponentName() {
+ return "example";
+ }
}
diff --git a/example/android/app/src/main/java/com/example/MainApplication.java b/example/android/app/src/main/java/com/example/MainApplication.java
index d85de4d9a..fd8ec883d 100644
--- a/example/android/app/src/main/java/com/example/MainApplication.java
+++ b/example/android/app/src/main/java/com/example/MainApplication.java
@@ -1,38 +1,39 @@
package com.example;
import android.app.Application;
-
+import android.content.Context;
+import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
-import com.dieam.reactnativepushnotification.ReactNativePushNotificationPackage;
+import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
-import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
-
-import java.util.Arrays;
+import java.lang.reflect.InvocationTargetException;
import java.util.List;
public class MainApplication extends Application implements ReactApplication {
- private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
- @Override
- public boolean getUseDeveloperSupport() {
- return BuildConfig.DEBUG;
- }
+ private final ReactNativeHost mReactNativeHost =
+ new ReactNativeHost(this) {
+ @Override
+ public boolean getUseDeveloperSupport() {
+ return BuildConfig.DEBUG;
+ }
- @Override
- protected List getPackages() {
- return Arrays.asList(
- new MainReactPackage(),
- new ReactNativePushNotificationPackage()
- );
- }
+ @Override
+ protected List getPackages() {
+ @SuppressWarnings("UnnecessaryLocalVariable")
+ List packages = new PackageList(this).getPackages();
+ // Packages that cannot be autolinked yet can be added manually here, for example:
+ // packages.add(new MyReactNativePackage());
+ return packages;
+ }
- @Override
- protected String getJSMainModuleName() {
- return "index";
- }
- };
+ @Override
+ protected String getJSMainModuleName() {
+ return "index";
+ }
+ };
@Override
public ReactNativeHost getReactNativeHost() {
@@ -43,5 +44,37 @@ public ReactNativeHost getReactNativeHost() {
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
+ initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
+ }
+
+ /**
+ * Loads Flipper in React Native templates. Call this in the onCreate method with something like
+ * initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
+ *
+ * @param context
+ * @param reactInstanceManager
+ */
+ private static void initializeFlipper(
+ Context context, ReactInstanceManager reactInstanceManager) {
+ if (BuildConfig.DEBUG) {
+ try {
+ /*
+ We use reflection here to pick up the class that initializes Flipper,
+ since Flipper library is not available in release mode
+ */
+ Class> aClass = Class.forName("com.example.ReactNativeFlipper");
+ aClass
+ .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
+ .invoke(null, context, reactInstanceManager);
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ } catch (NoSuchMethodException e) {
+ e.printStackTrace();
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ } catch (InvocationTargetException e) {
+ e.printStackTrace();
+ }
+ }
}
}
diff --git a/example/android/app/src/main/res/raw/sample.mp3 b/example/android/app/src/main/res/raw/sample.mp3
new file mode 100644
index 000000000..4569ff11f
Binary files /dev/null and b/example/android/app/src/main/res/raw/sample.mp3 differ
diff --git a/example/android/app/src/main/res/values/strings.xml b/example/android/app/src/main/res/values/strings.xml
index d75426c8a..3ea30b725 100644
--- a/example/android/app/src/main/res/values/strings.xml
+++ b/example/android/app/src/main/res/values/strings.xml
@@ -1,3 +1,5 @@
example
+ Exemple title loc_key
+ Exemple message loc_key: %1$s
diff --git a/example/android/app/src/main/res/values/styles.xml b/example/android/app/src/main/res/values/styles.xml
index 319eb0ca1..62fe59fa4 100644
--- a/example/android/app/src/main/res/values/styles.xml
+++ b/example/android/app/src/main/res/values/styles.xml
@@ -3,6 +3,7 @@
diff --git a/example/android/build.gradle b/example/android/build.gradle
index 49569e4db..32a599bd5 100644
--- a/example/android/build.gradle
+++ b/example/android/build.gradle
@@ -1,16 +1,20 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
+ ext {
+ buildToolsVersion = "28.0.3"
+ minSdkVersion = 16
+ compileSdkVersion = 28
+ targetSdkVersion = 28
+ }
repositories {
+ google()
jcenter()
- maven {
- url 'https://maven.google.com/'
- name 'Google'
- }
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.3.3'
+ classpath("com.android.tools.build:gradle:3.5.2")
+ classpath('com.google.gms:google-services:4.3.3')
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
@@ -19,22 +23,17 @@ buildscript {
allprojects {
repositories {
mavenLocal()
- jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
- url "$rootDir/../node_modules/react-native/android"
+ url("$rootDir/../node_modules/react-native/android")
}
maven {
- url 'https://maven.google.com/'
- name 'Google'
+ // Android JSC is installed from npm
+ url("$rootDir/../node_modules/jsc-android/dist")
}
- }
-}
-ext {
- buildToolsVersion = "26.0.3"
- minSdkVersion = 16
- compileSdkVersion = 26
- targetSdkVersion = 26
- supportLibVersion = "26.1.0"
+ google()
+ jcenter()
+ maven { url 'https://www.jitpack.io' }
+ }
}
diff --git a/example/android/gradle.properties b/example/android/gradle.properties
index 1fd964e90..1bbc8cc20 100644
--- a/example/android/gradle.properties
+++ b/example/android/gradle.properties
@@ -17,4 +17,12 @@
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
-android.useDeprecatedNdk=true
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app's APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
+android.useAndroidX=true
+# Automatically convert third-party libraries to use AndroidX
+android.enableJetifier=true
+
+# Version of flipper SDK to use with React Native
+FLIPPER_VERSION=0.33.1
diff --git a/example/android/gradle/wrapper/gradle-wrapper.jar b/example/android/gradle/wrapper/gradle-wrapper.jar
index b5166dad4..5c2d1cf01 100644
Binary files a/example/android/gradle/wrapper/gradle-wrapper.jar and b/example/android/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties
index 81a86e213..1ba7206f8 100644
--- a/example/android/gradle/wrapper/gradle-wrapper.properties
+++ b/example/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-3.5.1-all.zip
diff --git a/example/android/gradlew b/example/android/gradlew
index 91a7e269e..83f2acfdc 100755
--- a/example/android/gradlew
+++ b/example/android/gradlew
@@ -1,4 +1,20 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
##############################################################################
##
@@ -6,20 +22,38 @@
##
##############################################################################
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
-warn ( ) {
+warn () {
echo "$*"
}
-die ( ) {
+die () {
echo
echo "$*"
echo
@@ -30,6 +64,7 @@ die ( ) {
cygwin=false
msys=false
darwin=false
+nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
@@ -40,31 +75,11 @@ case "`uname`" in
MINGW* )
msys=true
;;
+ NONSTOP* )
+ nonstop=true
+ ;;
esac
-# For Cygwin, ensure paths are in UNIX format before anything is touched.
-if $cygwin ; then
- [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-fi
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >&-
-APP_HOME="`pwd -P`"
-cd "$SAVED" >&-
-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
@@ -90,7 +105,7 @@ location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@@ -110,10 +125,11 @@ if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
@@ -154,11 +170,19 @@ if $cygwin ; then
esac
fi
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
- JVM_OPTS=("$@")
+# Escape application args
+save () {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+ cd "$(dirname "$0")"
+fi
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
+exec "$JAVACMD" "$@"
diff --git a/example/android/gradlew.bat b/example/android/gradlew.bat
index 8a0b282aa..9618d8d96 100644
--- a/example/android/gradlew.bat
+++ b/example/android/gradlew.bat
@@ -1,3 +1,19 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@@ -8,14 +24,14 @@
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
-
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
@@ -46,10 +62,9 @@ echo location of your Java installation.
goto fail
:init
-@rem Get command-line arguments, handling Windowz variants
+@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
@@ -60,11 +75,6 @@ set _SKIP=2
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line
diff --git a/example/android/keystores/BUCK b/example/android/keystores/BUCK
deleted file mode 100644
index 88e4c31b2..000000000
--- a/example/android/keystores/BUCK
+++ /dev/null
@@ -1,8 +0,0 @@
-keystore(
- name = "debug",
- properties = "debug.keystore.properties",
- store = "debug.keystore",
- visibility = [
- "PUBLIC",
- ],
-)
diff --git a/example/android/keystores/debug.keystore.properties b/example/android/keystores/debug.keystore.properties
deleted file mode 100644
index 121bfb49f..000000000
--- a/example/android/keystores/debug.keystore.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-key.store=debug.keystore
-key.alias=androiddebugkey
-key.store.password=android
-key.alias.password=android
diff --git a/example/android/settings.gradle b/example/android/settings.gradle
index 819c58ab6..263c9e8ca 100644
--- a/example/android/settings.gradle
+++ b/example/android/settings.gradle
@@ -1,5 +1,3 @@
rootProject.name = 'example'
-include ':react-native-push-notification'
-project(':react-native-push-notification').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-push-notification/android')
-
+apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':app'
diff --git a/example/app.json b/example/app.json
index ea94bc4c6..2f89ceb8b 100644
--- a/example/app.json
+++ b/example/app.json
@@ -1,5 +1,4 @@
{
"name": "example",
- "displayName": "React Native Push Notification Example",
- "senderID": "YOUR-GCM-ID"
-}
\ No newline at end of file
+ "displayName": "React Native Push Notification Example"
+}
diff --git a/example/babel.config.js b/example/babel.config.js
new file mode 100644
index 000000000..f842b77fc
--- /dev/null
+++ b/example/babel.config.js
@@ -0,0 +1,3 @@
+module.exports = {
+ presets: ['module:metro-react-native-babel-preset'],
+};
diff --git a/example/index.js b/example/index.js
index 802b4350d..a850d031d 100644
--- a/example/index.js
+++ b/example/index.js
@@ -1,4 +1,6 @@
-/** @format */
+/**
+ * @format
+ */
import {AppRegistry} from 'react-native';
import App from './App';
diff --git a/example/ios/Podfile b/example/ios/Podfile
new file mode 100644
index 000000000..72234cc84
--- /dev/null
+++ b/example/ios/Podfile
@@ -0,0 +1,24 @@
+platform :ios, '10.0'
+require_relative '../node_modules/react-native/scripts/react_native_pods'
+require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
+
+target 'example' do
+ # Pods for example
+ config = use_native_modules!
+
+ use_react_native!(:path => config["reactNativePath"])
+
+ target 'exampleTests' do
+ inherit! :complete
+ # Pods for testing
+ end
+end
+
+target 'example-tvOS' do
+ # Pods for example-tvOS
+
+ target 'example-tvOSTests' do
+ inherit! :search_paths
+ # Pods for testing
+ end
+end
diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock
new file mode 100644
index 000000000..14c07e3af
--- /dev/null
+++ b/example/ios/Podfile.lock
@@ -0,0 +1,375 @@
+PODS:
+ - boost-for-react-native (1.63.0)
+ - DoubleConversion (1.1.6)
+ - FBLazyVector (0.63.3)
+ - FBReactNativeSpec (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - RCTRequired (= 0.63.3)
+ - RCTTypeSafety (= 0.63.3)
+ - React-Core (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - ReactCommon/turbomodule/core (= 0.63.3)
+ - Folly (2020.01.13.00):
+ - boost-for-react-native
+ - DoubleConversion
+ - Folly/Default (= 2020.01.13.00)
+ - glog
+ - Folly/Default (2020.01.13.00):
+ - boost-for-react-native
+ - DoubleConversion
+ - glog
+ - glog (0.3.5)
+ - RCTRequired (0.63.3)
+ - RCTTypeSafety (0.63.3):
+ - FBLazyVector (= 0.63.3)
+ - Folly (= 2020.01.13.00)
+ - RCTRequired (= 0.63.3)
+ - React-Core (= 0.63.3)
+ - React (0.63.3):
+ - React-Core (= 0.63.3)
+ - React-Core/DevSupport (= 0.63.3)
+ - React-Core/RCTWebSocket (= 0.63.3)
+ - React-RCTActionSheet (= 0.63.3)
+ - React-RCTAnimation (= 0.63.3)
+ - React-RCTBlob (= 0.63.3)
+ - React-RCTImage (= 0.63.3)
+ - React-RCTLinking (= 0.63.3)
+ - React-RCTNetwork (= 0.63.3)
+ - React-RCTSettings (= 0.63.3)
+ - React-RCTText (= 0.63.3)
+ - React-RCTVibration (= 0.63.3)
+ - React-callinvoker (0.63.3)
+ - React-Core (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-Core/Default (= 0.63.3)
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - Yoga
+ - React-Core/CoreModulesHeaders (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-Core/Default
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - Yoga
+ - React-Core/Default (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - Yoga
+ - React-Core/DevSupport (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-Core/Default (= 0.63.3)
+ - React-Core/RCTWebSocket (= 0.63.3)
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - React-jsinspector (= 0.63.3)
+ - Yoga
+ - React-Core/RCTActionSheetHeaders (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-Core/Default
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - Yoga
+ - React-Core/RCTAnimationHeaders (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-Core/Default
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - Yoga
+ - React-Core/RCTBlobHeaders (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-Core/Default
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - Yoga
+ - React-Core/RCTImageHeaders (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-Core/Default
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - Yoga
+ - React-Core/RCTLinkingHeaders (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-Core/Default
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - Yoga
+ - React-Core/RCTNetworkHeaders (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-Core/Default
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - Yoga
+ - React-Core/RCTSettingsHeaders (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-Core/Default
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - Yoga
+ - React-Core/RCTTextHeaders (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-Core/Default
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - Yoga
+ - React-Core/RCTVibrationHeaders (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-Core/Default
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - Yoga
+ - React-Core/RCTWebSocket (0.63.3):
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-Core/Default (= 0.63.3)
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsiexecutor (= 0.63.3)
+ - Yoga
+ - React-CoreModules (0.63.3):
+ - FBReactNativeSpec (= 0.63.3)
+ - Folly (= 2020.01.13.00)
+ - RCTTypeSafety (= 0.63.3)
+ - React-Core/CoreModulesHeaders (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-RCTImage (= 0.63.3)
+ - ReactCommon/turbomodule/core (= 0.63.3)
+ - React-cxxreact (0.63.3):
+ - boost-for-react-native (= 1.63.0)
+ - DoubleConversion
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-callinvoker (= 0.63.3)
+ - React-jsinspector (= 0.63.3)
+ - React-jsi (0.63.3):
+ - boost-for-react-native (= 1.63.0)
+ - DoubleConversion
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-jsi/Default (= 0.63.3)
+ - React-jsi/Default (0.63.3):
+ - boost-for-react-native (= 1.63.0)
+ - DoubleConversion
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-jsiexecutor (0.63.3):
+ - DoubleConversion
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-jsinspector (0.63.3)
+ - React-RCTActionSheet (0.63.3):
+ - React-Core/RCTActionSheetHeaders (= 0.63.3)
+ - React-RCTAnimation (0.63.3):
+ - FBReactNativeSpec (= 0.63.3)
+ - Folly (= 2020.01.13.00)
+ - RCTTypeSafety (= 0.63.3)
+ - React-Core/RCTAnimationHeaders (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - ReactCommon/turbomodule/core (= 0.63.3)
+ - React-RCTBlob (0.63.3):
+ - FBReactNativeSpec (= 0.63.3)
+ - Folly (= 2020.01.13.00)
+ - React-Core/RCTBlobHeaders (= 0.63.3)
+ - React-Core/RCTWebSocket (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-RCTNetwork (= 0.63.3)
+ - ReactCommon/turbomodule/core (= 0.63.3)
+ - React-RCTImage (0.63.3):
+ - FBReactNativeSpec (= 0.63.3)
+ - Folly (= 2020.01.13.00)
+ - RCTTypeSafety (= 0.63.3)
+ - React-Core/RCTImageHeaders (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - React-RCTNetwork (= 0.63.3)
+ - ReactCommon/turbomodule/core (= 0.63.3)
+ - React-RCTLinking (0.63.3):
+ - FBReactNativeSpec (= 0.63.3)
+ - React-Core/RCTLinkingHeaders (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - ReactCommon/turbomodule/core (= 0.63.3)
+ - React-RCTNetwork (0.63.3):
+ - FBReactNativeSpec (= 0.63.3)
+ - Folly (= 2020.01.13.00)
+ - RCTTypeSafety (= 0.63.3)
+ - React-Core/RCTNetworkHeaders (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - ReactCommon/turbomodule/core (= 0.63.3)
+ - React-RCTSettings (0.63.3):
+ - FBReactNativeSpec (= 0.63.3)
+ - Folly (= 2020.01.13.00)
+ - RCTTypeSafety (= 0.63.3)
+ - React-Core/RCTSettingsHeaders (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - ReactCommon/turbomodule/core (= 0.63.3)
+ - React-RCTText (0.63.3):
+ - React-Core/RCTTextHeaders (= 0.63.3)
+ - React-RCTVibration (0.63.3):
+ - FBReactNativeSpec (= 0.63.3)
+ - Folly (= 2020.01.13.00)
+ - React-Core/RCTVibrationHeaders (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - ReactCommon/turbomodule/core (= 0.63.3)
+ - ReactCommon/turbomodule/core (0.63.3):
+ - DoubleConversion
+ - Folly (= 2020.01.13.00)
+ - glog
+ - React-callinvoker (= 0.63.3)
+ - React-Core (= 0.63.3)
+ - React-cxxreact (= 0.63.3)
+ - React-jsi (= 0.63.3)
+ - RNCPushNotificationIOS (1.10.1):
+ - React-Core
+ - Yoga (1.14.0)
+
+DEPENDENCIES:
+ - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
+ - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
+ - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
+ - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
+ - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
+ - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
+ - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
+ - React (from `../node_modules/react-native/`)
+ - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
+ - React-Core (from `../node_modules/react-native/`)
+ - React-Core/DevSupport (from `../node_modules/react-native/`)
+ - React-Core/RCTWebSocket (from `../node_modules/react-native/`)
+ - React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
+ - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
+ - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
+ - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
+ - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
+ - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
+ - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
+ - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
+ - React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
+ - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
+ - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
+ - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
+ - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
+ - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
+ - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
+ - "RNCPushNotificationIOS (from `../node_modules/@react-native-community/push-notification-ios`)"
+ - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
+
+SPEC REPOS:
+ trunk:
+ - boost-for-react-native
+
+EXTERNAL SOURCES:
+ DoubleConversion:
+ :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
+ FBLazyVector:
+ :path: "../node_modules/react-native/Libraries/FBLazyVector"
+ FBReactNativeSpec:
+ :path: "../node_modules/react-native/Libraries/FBReactNativeSpec"
+ Folly:
+ :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
+ glog:
+ :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
+ RCTRequired:
+ :path: "../node_modules/react-native/Libraries/RCTRequired"
+ RCTTypeSafety:
+ :path: "../node_modules/react-native/Libraries/TypeSafety"
+ React:
+ :path: "../node_modules/react-native/"
+ React-callinvoker:
+ :path: "../node_modules/react-native/ReactCommon/callinvoker"
+ React-Core:
+ :path: "../node_modules/react-native/"
+ React-CoreModules:
+ :path: "../node_modules/react-native/React/CoreModules"
+ React-cxxreact:
+ :path: "../node_modules/react-native/ReactCommon/cxxreact"
+ React-jsi:
+ :path: "../node_modules/react-native/ReactCommon/jsi"
+ React-jsiexecutor:
+ :path: "../node_modules/react-native/ReactCommon/jsiexecutor"
+ React-jsinspector:
+ :path: "../node_modules/react-native/ReactCommon/jsinspector"
+ React-RCTActionSheet:
+ :path: "../node_modules/react-native/Libraries/ActionSheetIOS"
+ React-RCTAnimation:
+ :path: "../node_modules/react-native/Libraries/NativeAnimation"
+ React-RCTBlob:
+ :path: "../node_modules/react-native/Libraries/Blob"
+ React-RCTImage:
+ :path: "../node_modules/react-native/Libraries/Image"
+ React-RCTLinking:
+ :path: "../node_modules/react-native/Libraries/LinkingIOS"
+ React-RCTNetwork:
+ :path: "../node_modules/react-native/Libraries/Network"
+ React-RCTSettings:
+ :path: "../node_modules/react-native/Libraries/Settings"
+ React-RCTText:
+ :path: "../node_modules/react-native/Libraries/Text"
+ React-RCTVibration:
+ :path: "../node_modules/react-native/Libraries/Vibration"
+ ReactCommon:
+ :path: "../node_modules/react-native/ReactCommon"
+ RNCPushNotificationIOS:
+ :path: "../node_modules/@react-native-community/push-notification-ios"
+ Yoga:
+ :path: "../node_modules/react-native/ReactCommon/yoga"
+
+SPEC CHECKSUMS:
+ boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
+ DoubleConversion: cde416483dac037923206447da6e1454df403714
+ FBLazyVector: 878b59e31113e289e275165efbe4b54fa614d43d
+ FBReactNativeSpec: 7da9338acfb98d4ef9e5536805a0704572d33c2f
+ Folly: b73c3869541e86821df3c387eb0af5f65addfab4
+ glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3
+ RCTRequired: 48884c74035a0b5b76dbb7a998bd93bcfc5f2047
+ RCTTypeSafety: edf4b618033c2f1c5b7bc3d90d8e085ed95ba2ab
+ React: f36e90f3ceb976546e97df3403e37d226f79d0e3
+ React-callinvoker: 18874f621eb96625df7a24a7dc8d6e07391affcd
+ React-Core: ac3d816b8e3493970153f4aaf0cff18af0bb95e6
+ React-CoreModules: 4016d3a4e518bcfc4f5a51252b5a05692ca6f0e1
+ React-cxxreact: ffc9129013b87cb36cf3f30a86695a3c397b0f99
+ React-jsi: df07aa95b39c5be3e41199921509bfa929ed2b9d
+ React-jsiexecutor: b56c03e61c0dd5f5801255f2160a815f4a53d451
+ React-jsinspector: 8e68ffbfe23880d3ee9bafa8be2777f60b25cbe2
+ React-RCTActionSheet: 53ea72699698b0b47a6421cb1c8b4ab215a774aa
+ React-RCTAnimation: 1befece0b5183c22ae01b966f5583f42e69a83c2
+ React-RCTBlob: 0b284339cbe4b15705a05e2313a51c6d8b51fa40
+ React-RCTImage: d1756599ebd4dc2cb19d1682fe67c6b976658387
+ React-RCTLinking: 9af0a51c6d6a4dd1674daadafffc6d03033a6d18
+ React-RCTNetwork: 332c83929cc5eae0b3bbca4add1d668e1fc18bda
+ React-RCTSettings: d6953772cfd55f2c68ad72b7ef29efc7ec49f773
+ React-RCTText: 65a6de06a7389098ce24340d1d3556015c38f746
+ React-RCTVibration: 8e9fb25724a0805107fc1acc9075e26f814df454
+ ReactCommon: 4167844018c9ed375cc01a843e9ee564399e53c3
+ RNCPushNotificationIOS: 87b8d16d3ede4532745e05b03c42cff33a36cc45
+ Yoga: 7d13633d129fd179e01b8953d38d47be90db185a
+
+PODFILE CHECKSUM: 9f7efe26f7ad5184f28ac62478069370942924e2
+
+COCOAPODS: 1.11.2
diff --git a/example/ios/example-tvOS/Info.plist b/example/ios/example-tvOS/Info.plist
index 2fb6a11c2..ecbd496be 100644
--- a/example/ios/example-tvOS/Info.plist
+++ b/example/ios/example-tvOS/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
@@ -22,6 +22,19 @@
1
LSRequiresIPhoneOS
+ NSAppTransportSecurity
+
+ NSExceptionDomains
+
+ localhost
+
+ NSExceptionAllowsInsecureHTTPLoads
+
+
+
+
+ NSLocationWhenInUseUsageDescription
+
UILaunchStoryboardName
LaunchScreen
UIRequiredDeviceCapabilities
@@ -36,19 +49,5 @@
UIViewControllerBasedStatusBarAppearance
- NSLocationWhenInUseUsageDescription
-
- NSAppTransportSecurity
-
-
- NSExceptionDomains
-
- localhost
-
- NSExceptionAllowsInsecureHTTPLoads
-
-
-
-
diff --git a/example/ios/example.xcodeproj/project.pbxproj b/example/ios/example.xcodeproj/project.pbxproj
index 777fdb18f..bc6e7614d 100644
--- a/example/ios/example.xcodeproj/project.pbxproj
+++ b/example/ios/example.xcodeproj/project.pbxproj
@@ -7,75 +7,23 @@
objects = {
/* Begin PBXBuildFile section */
- 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; };
- 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; };
- 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; };
- 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; };
- 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; };
00E356F31AD99517003FC87E /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; };
- 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; };
- 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; };
- 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; };
13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; };
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
- 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; };
- 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; };
2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
- 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */; };
- 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */; };
- 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */; };
- 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */; };
- 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */; };
- 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */; };
- 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; };
- 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D16E6891FA4F8E400B85C8A /* libReact.a */; };
2DCD954D1E0B4F2C00145EB5 /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; };
- 2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; };
- 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; };
- 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; };
- ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; };
+ 3997B5ABB1D8AA3BF2205130 /* libPods-example-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ACCB69D76B81B3D29BE3BB2B /* libPods-example-tvOSTests.a */; };
+ 4303B027D05E61B36AF2D9DA /* libPods-example-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D89C42625470FE853701396C /* libPods-example-tvOS.a */; };
+ 4BF20923B09DA7D7C7D74054 /* libPods-example-exampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2F3EFF15EA907A6500887787 /* libPods-example-exampleTests.a */; };
+ 66172E2B135131DB9C88C137 /* libPods-example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 67C595176EF92CCFA00C1943 /* libPods-example.a */; };
+ AECB905824658DC600ED1B83 /* sample.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = AECB905724658DC600ED1B83 /* sample.mp3 */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
- 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 134814201AA4EA6300B7C361;
- remoteInfo = RCTActionSheet;
- };
- 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 134814201AA4EA6300B7C361;
- remoteInfo = RCTGeolocation;
- };
- 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 58B5115D1A9E6B3D00147676;
- remoteInfo = RCTImage;
- };
- 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 58B511DB1A9E6C8500147676;
- remoteInfo = RCTNetwork;
- };
- 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 832C81801AAF6DEF007FA2F7;
- remoteInfo = RCTVibration;
- };
00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
@@ -83,27 +31,6 @@
remoteGlobalIDString = 13B07F861A680F5B00A75B9A;
remoteInfo = example;
};
- 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 134814201AA4EA6300B7C361;
- remoteInfo = RCTSettings;
- };
- 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 3C86DF461ADF2C930047B81A;
- remoteInfo = RCTWebSocket;
- };
- 146834031AC3E56700842450 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192;
- remoteInfo = React;
- };
2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
@@ -111,223 +38,13 @@
remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7;
remoteInfo = "example-tvOS";
};
- 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = ADD01A681E09402E00F6D226;
- remoteInfo = "RCTBlob-tvOS";
- };
- 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 3DBE0D001F3B181A0099AA32;
- remoteInfo = fishhook;
- };
- 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32;
- remoteInfo = "fishhook-tvOS";
- };
- 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = EBF21BDC1FC498900052F4D5;
- remoteInfo = jsinspector;
- };
- 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = EBF21BFA1FC4989A0052F4D5;
- remoteInfo = "jsinspector-tvOS";
- };
- 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7;
- remoteInfo = "third-party";
- };
- 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 3D383D3C1EBD27B6005632C8;
- remoteInfo = "third-party-tvOS";
- };
- 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 139D7E881E25C6D100323FB7;
- remoteInfo = "double-conversion";
- };
- 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 3D383D621EBD27B9005632C8;
- remoteInfo = "double-conversion-tvOS";
- };
- 2DF0FFEA2056DD460020B375 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 9936F3131F5F2E4B0010BF04;
- remoteInfo = privatedata;
- };
- 2DF0FFEC2056DD460020B375 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 9936F32F1F5F2E5B0010BF04;
- remoteInfo = "privatedata-tvOS";
- };
- 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 2D2A283A1D9B042B00D4039D;
- remoteInfo = "RCTImage-tvOS";
- };
- 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 2D2A28471D9B043800D4039D;
- remoteInfo = "RCTLinking-tvOS";
- };
- 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 2D2A28541D9B044C00D4039D;
- remoteInfo = "RCTNetwork-tvOS";
- };
- 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 2D2A28611D9B046600D4039D;
- remoteInfo = "RCTSettings-tvOS";
- };
- 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 2D2A287B1D9B048500D4039D;
- remoteInfo = "RCTText-tvOS";
- };
- 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 2D2A28881D9B049200D4039D;
- remoteInfo = "RCTWebSocket-tvOS";
- };
- 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 2D2A28131D9B038B00D4039D;
- remoteInfo = "React-tvOS";
- };
- 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 3D3C059A1DE3340900C268FA;
- remoteInfo = yoga;
- };
- 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 3D3C06751DE3340C00C268FA;
- remoteInfo = "yoga-tvOS";
- };
- 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4;
- remoteInfo = cxxreact;
- };
- 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4;
- remoteInfo = "cxxreact-tvOS";
- };
- 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 3D3CD90B1DE5FBD600167DC4;
- remoteInfo = jschelpers;
- };
- 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 3D3CD9181DE5FBD800167DC4;
- remoteInfo = "jschelpers-tvOS";
- };
- 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 134814201AA4EA6300B7C361;
- remoteInfo = RCTAnimation;
- };
- 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 2D2A28201D9B03D100D4039D;
- remoteInfo = "RCTAnimation-tvOS";
- };
- 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 134814201AA4EA6300B7C361;
- remoteInfo = RCTLinking;
- };
- 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 58B5119B1A9E6C1200147676;
- remoteInfo = RCTText;
- };
- ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 358F4ED71D1E81A9004DF814;
- remoteInfo = RCTBlob;
- };
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; };
- 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = "../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj"; sourceTree = ""; };
- 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = "../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj"; sourceTree = ""; };
- 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"; sourceTree = ""; };
- 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; };
- 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = ""; };
00E356EE1AD99517003FC87E /* exampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = exampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
00E356F21AD99517003FC87E /* exampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = exampleTests.m; sourceTree = ""; };
- 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; };
- 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; };
13B07F961A680F5B00A75B9A /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = example/AppDelegate.h; sourceTree = ""; };
13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = example/AppDelegate.m; sourceTree = ""; };
@@ -335,14 +52,24 @@
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = example/Images.xcassets; sourceTree = ""; };
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = example/Info.plist; sourceTree = ""; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = example/main.m; sourceTree = ""; };
- 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; };
+ 15BD6A0C81A3E52CBA666C17 /* Pods-example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.debug.xcconfig"; path = "Target Support Files/Pods-example/Pods-example.debug.xcconfig"; sourceTree = ""; };
2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "example-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "example-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
- 2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; };
- 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; };
- 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; };
- 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; };
- ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; };
+ 2F3EFF15EA907A6500887787 /* libPods-example-exampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-exampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 37D30ECBCC5696F54DDBDB07 /* Pods-example-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOS.release.xcconfig"; path = "Target Support Files/Pods-example-tvOS/Pods-example-tvOS.release.xcconfig"; sourceTree = ""; };
+ 454237A3C32EB61EE42721D8 /* Pods-example-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-example-tvOSTests/Pods-example-tvOSTests.debug.xcconfig"; sourceTree = ""; };
+ 52FCA686CB54A0F6E8129E44 /* Pods-example-exampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-exampleTests.debug.xcconfig"; path = "Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests.debug.xcconfig"; sourceTree = ""; };
+ 566FF18746355BDCE5A6333B /* Pods-example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.release.xcconfig"; path = "Target Support Files/Pods-example/Pods-example.release.xcconfig"; sourceTree = ""; };
+ 67C595176EF92CCFA00C1943 /* libPods-example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 68FB3463CAEF28E88730ADEE /* Pods-example-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-example-tvOSTests/Pods-example-tvOSTests.release.xcconfig"; sourceTree = ""; };
+ ACCB69D76B81B3D29BE3BB2B /* libPods-example-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ AECB905724658DC600ED1B83 /* sample.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = sample.mp3; sourceTree = ""; };
+ AED90B1C243E6D21006F11F7 /* example.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = example.entitlements; path = example/example.entitlements; sourceTree = ""; };
+ B43E6CF3919EF7ACAF9CC8B7 /* Pods-example-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-example-tvOS/Pods-example-tvOS.debug.xcconfig"; sourceTree = ""; };
+ C528DBA88EA5CBFA010ECC73 /* Pods-example-exampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-exampleTests.release.xcconfig"; path = "Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests.release.xcconfig"; sourceTree = ""; };
+ D89C42625470FE853701396C /* libPods-example-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
+ ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -350,7 +77,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */,
+ 4BF20923B09DA7D7C7D74054 /* libPods-example-exampleTests.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -358,19 +85,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */,
- 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */,
- 146834051AC3E58100842450 /* libReact.a in Frameworks */,
- 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */,
- 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */,
- 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */,
- 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */,
- 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */,
- 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */,
- 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */,
- 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */,
- 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */,
- 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */,
+ 66172E2B135131DB9C88C137 /* libPods-example.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -378,14 +93,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */,
- 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */,
- 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */,
- 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */,
- 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */,
- 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */,
- 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */,
- 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */,
+ 4303B027D05E61B36AF2D9DA /* libPods-example-tvOS.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -393,55 +101,13 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */,
+ 3997B5ABB1D8AA3BF2205130 /* libPods-example-tvOSTests.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- 00C302A81ABCB8CE00DB3ED1 /* Products */ = {
- isa = PBXGroup;
- children = (
- 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */,
- );
- name = Products;
- sourceTree = "";
- };
- 00C302B61ABCB90400DB3ED1 /* Products */ = {
- isa = PBXGroup;
- children = (
- 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */,
- );
- name = Products;
- sourceTree = "";
- };
- 00C302BC1ABCB91800DB3ED1 /* Products */ = {
- isa = PBXGroup;
- children = (
- 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */,
- 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */,
- );
- name = Products;
- sourceTree = "";
- };
- 00C302D41ABCB9D200DB3ED1 /* Products */ = {
- isa = PBXGroup;
- children = (
- 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */,
- 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */,
- );
- name = Products;
- sourceTree = "";
- };
- 00C302E01ABCB9EE00DB3ED1 /* Products */ = {
- isa = PBXGroup;
- children = (
- 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */,
- );
- name = Products;
- sourceTree = "";
- };
00E356EF1AD99517003FC87E /* exampleTests */ = {
isa = PBXGroup;
children = (
@@ -459,29 +125,11 @@
name = "Supporting Files";
sourceTree = "";
};
- 139105B71AF99BAD00B5F7CC /* Products */ = {
- isa = PBXGroup;
- children = (
- 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */,
- 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */,
- );
- name = Products;
- sourceTree = "";
- };
- 139FDEE71B06529A00C62182 /* Products */ = {
- isa = PBXGroup;
- children = (
- 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */,
- 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */,
- 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */,
- 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */,
- );
- name = Products;
- sourceTree = "";
- };
13B07FAE1A68108700A75B9A /* example */ = {
isa = PBXGroup;
children = (
+ AECB905724658DC600ED1B83 /* sample.mp3 */,
+ AED90B1C243E6D21006F11F7 /* example.entitlements */,
008F07F21AC5B25A0029DE68 /* main.jsbundle */,
13B07FAF1A68108700A75B9A /* AppDelegate.h */,
13B07FB01A68108700A75B9A /* AppDelegate.m */,
@@ -493,83 +141,26 @@
name = example;
sourceTree = "";
};
- 146834001AC3E56700842450 /* Products */ = {
- isa = PBXGroup;
- children = (
- 146834041AC3E56700842450 /* libReact.a */,
- 3DAD3EA31DF850E9000B6D8A /* libReact.a */,
- 3DAD3EA51DF850E9000B6D8A /* libyoga.a */,
- 3DAD3EA71DF850E9000B6D8A /* libyoga.a */,
- 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */,
- 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */,
- 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */,
- 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */,
- 2DF0FFDF2056DD460020B375 /* libjsinspector.a */,
- 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */,
- 2DF0FFE32056DD460020B375 /* libthird-party.a */,
- 2DF0FFE52056DD460020B375 /* libthird-party.a */,
- 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */,
- 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */,
- 2DF0FFEB2056DD460020B375 /* libprivatedata.a */,
- 2DF0FFED2056DD460020B375 /* libprivatedata-tvOS.a */,
- );
- name = Products;
- sourceTree = "";
- };
2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
isa = PBXGroup;
children = (
- 2D16E6891FA4F8E400B85C8A /* libReact.a */,
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
+ ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
+ 67C595176EF92CCFA00C1943 /* libPods-example.a */,
+ 2F3EFF15EA907A6500887787 /* libPods-example-exampleTests.a */,
+ D89C42625470FE853701396C /* libPods-example-tvOS.a */,
+ ACCB69D76B81B3D29BE3BB2B /* libPods-example-tvOSTests.a */,
);
name = Frameworks;
sourceTree = "";
};
- 5E91572E1DD0AC6500FF2AA8 /* Products */ = {
- isa = PBXGroup;
- children = (
- 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */,
- 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */,
- );
- name = Products;
- sourceTree = "";
- };
- 78C398B11ACF4ADC00677621 /* Products */ = {
- isa = PBXGroup;
- children = (
- 78C398B91ACF4ADC00677621 /* libRCTLinking.a */,
- 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */,
- );
- name = Products;
- sourceTree = "";
- };
832341AE1AAA6A7D00B99B32 /* Libraries */ = {
isa = PBXGroup;
children = (
- 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */,
- 146833FF1AC3E56700842450 /* React.xcodeproj */,
- 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */,
- ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */,
- 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */,
- 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */,
- 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */,
- 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */,
- 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */,
- 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */,
- 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */,
- 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */,
);
name = Libraries;
sourceTree = "";
};
- 832341B11AAA6A8300B99B32 /* Products */ = {
- isa = PBXGroup;
- children = (
- 832341B51AAA6A8300B99B32 /* libRCTText.a */,
- 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */,
- );
- name = Products;
- sourceTree = "";
- };
83CBB9F61A601CBA00E9B192 = {
isa = PBXGroup;
children = (
@@ -578,6 +169,7 @@
00E356EF1AD99517003FC87E /* exampleTests */,
83CBBA001A601CBA00E9B192 /* Products */,
2D16E6871FA4F8E400B85C8A /* Frameworks */,
+ AD372BDC7243AEAD7BA39FD9 /* Pods */,
);
indentWidth = 2;
sourceTree = "";
@@ -595,13 +187,19 @@
name = Products;
sourceTree = "";
};
- ADBDB9201DFEBF0600ED6528 /* Products */ = {
+ AD372BDC7243AEAD7BA39FD9 /* Pods */ = {
isa = PBXGroup;
children = (
- ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */,
- 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */,
- );
- name = Products;
+ 15BD6A0C81A3E52CBA666C17 /* Pods-example.debug.xcconfig */,
+ 566FF18746355BDCE5A6333B /* Pods-example.release.xcconfig */,
+ 52FCA686CB54A0F6E8129E44 /* Pods-example-exampleTests.debug.xcconfig */,
+ C528DBA88EA5CBFA010ECC73 /* Pods-example-exampleTests.release.xcconfig */,
+ B43E6CF3919EF7ACAF9CC8B7 /* Pods-example-tvOS.debug.xcconfig */,
+ 37D30ECBCC5696F54DDBDB07 /* Pods-example-tvOS.release.xcconfig */,
+ 454237A3C32EB61EE42721D8 /* Pods-example-tvOSTests.debug.xcconfig */,
+ 68FB3463CAEF28E88730ADEE /* Pods-example-tvOSTests.release.xcconfig */,
+ );
+ path = Pods;
sourceTree = "";
};
/* End PBXGroup section */
@@ -611,9 +209,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */;
buildPhases = (
+ B0ED5983C06627818B5DC217 /* [CP] Check Pods Manifest.lock */,
00E356EA1AD99517003FC87E /* Sources */,
00E356EB1AD99517003FC87E /* Frameworks */,
00E356EC1AD99517003FC87E /* Resources */,
+ CEF8B2703D93599E45D6BF6B /* [CP] Copy Pods Resources */,
);
buildRules = (
);
@@ -629,17 +229,20 @@
isa = PBXNativeTarget;
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */;
buildPhases = (
+ 2DCA07023D4AA069A0C9D6BE /* [CP] Check Pods Manifest.lock */,
+ FD10A7F022414F080027D42C /* Start Packager */,
13B07F871A680F5B00A75B9A /* Sources */,
13B07F8C1A680F5B00A75B9A /* Frameworks */,
13B07F8E1A680F5B00A75B9A /* Resources */,
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
+ 14C94C1C1903F2189AE891A6 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
dependencies = (
);
name = example;
- productName = "Hello World";
+ productName = example;
productReference = 13B07F961A680F5B00A75B9A /* example.app */;
productType = "com.apple.product-type.application";
};
@@ -647,6 +250,8 @@
isa = PBXNativeTarget;
buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOS" */;
buildPhases = (
+ 8F6D0FED697FE82D2DF59178 /* [CP] Check Pods Manifest.lock */,
+ FD10A7F122414F3F0027D42C /* Start Packager */,
2D02E4771E0B4A5D006451C7 /* Sources */,
2D02E4781E0B4A5D006451C7 /* Frameworks */,
2D02E4791E0B4A5D006451C7 /* Resources */,
@@ -665,6 +270,7 @@
isa = PBXNativeTarget;
buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOSTests" */;
buildPhases = (
+ 5313D15A4BFFB977CEC741B2 /* [CP] Check Pods Manifest.lock */,
2D02E48C1E0B4A5D006451C7 /* Sources */,
2D02E48D1E0B4A5D006451C7 /* Frameworks */,
2D02E48E1E0B4A5D006451C7 /* Resources */,
@@ -685,13 +291,15 @@
83CBB9F71A601CBA00E9B192 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
- ORGANIZATIONNAME = Facebook;
+ LastUpgradeCheck = 1130;
TargetAttributes = {
00E356ED1AD99517003FC87E = {
CreatedOnToolsVersion = 6.2;
TestTargetID = 13B07F861A680F5B00A75B9A;
};
+ 13B07F861A680F5B00A75B9A = {
+ LastSwiftMigration = 1120;
+ };
2D02E47A1E0B4A5D006451C7 = {
CreatedOnToolsVersion = 8.2.1;
ProvisioningStyle = Automatic;
@@ -705,7 +313,7 @@
};
buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "example" */;
compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
+ developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
@@ -714,56 +322,6 @@
mainGroup = 83CBB9F61A601CBA00E9B192;
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
projectDirPath = "";
- projectReferences = (
- {
- ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */;
- ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */;
- },
- {
- ProductGroup = 5E91572E1DD0AC6500FF2AA8 /* Products */;
- ProjectRef = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */;
- },
- {
- ProductGroup = ADBDB9201DFEBF0600ED6528 /* Products */;
- ProjectRef = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */;
- },
- {
- ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */;
- ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */;
- },
- {
- ProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */;
- ProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */;
- },
- {
- ProductGroup = 78C398B11ACF4ADC00677621 /* Products */;
- ProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */;
- },
- {
- ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */;
- ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */;
- },
- {
- ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */;
- ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */;
- },
- {
- ProductGroup = 832341B11AAA6A8300B99B32 /* Products */;
- ProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */;
- },
- {
- ProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */;
- ProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */;
- },
- {
- ProductGroup = 139FDEE71B06529A00C62182 /* Products */;
- ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;
- },
- {
- ProductGroup = 146834001AC3E56700842450 /* Products */;
- ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */;
- },
- );
projectRoot = "";
targets = (
13B07F861A680F5B00A75B9A /* example */,
@@ -774,268 +332,6 @@
};
/* End PBXProject section */
-/* Begin PBXReferenceProxy section */
- 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libRCTActionSheet.a;
- remoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libRCTGeolocation.a;
- remoteRef = 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libRCTImage.a;
- remoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libRCTNetwork.a;
- remoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libRCTVibration.a;
- remoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libRCTSettings.a;
- remoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libRCTWebSocket.a;
- remoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 146834041AC3E56700842450 /* libReact.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libReact.a;
- remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libRCTBlob-tvOS.a";
- remoteRef = 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libfishhook.a;
- remoteRef = 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libfishhook-tvOS.a";
- remoteRef = 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 2DF0FFDF2056DD460020B375 /* libjsinspector.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libjsinspector.a;
- remoteRef = 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libjsinspector-tvOS.a";
- remoteRef = 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 2DF0FFE32056DD460020B375 /* libthird-party.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libthird-party.a";
- remoteRef = 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 2DF0FFE52056DD460020B375 /* libthird-party.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libthird-party.a";
- remoteRef = 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libdouble-conversion.a";
- remoteRef = 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libdouble-conversion.a";
- remoteRef = 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 2DF0FFEB2056DD460020B375 /* libprivatedata.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libprivatedata.a;
- remoteRef = 2DF0FFEA2056DD460020B375 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 2DF0FFED2056DD460020B375 /* libprivatedata-tvOS.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libprivatedata-tvOS.a";
- remoteRef = 2DF0FFEC2056DD460020B375 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libRCTImage-tvOS.a";
- remoteRef = 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libRCTLinking-tvOS.a";
- remoteRef = 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libRCTNetwork-tvOS.a";
- remoteRef = 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libRCTSettings-tvOS.a";
- remoteRef = 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libRCTText-tvOS.a";
- remoteRef = 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = "libRCTWebSocket-tvOS.a";
- remoteRef = 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 3DAD3EA31DF850E9000B6D8A /* libReact.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libReact.a;
- remoteRef = 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 3DAD3EA51DF850E9000B6D8A /* libyoga.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libyoga.a;
- remoteRef = 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 3DAD3EA71DF850E9000B6D8A /* libyoga.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libyoga.a;
- remoteRef = 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libcxxreact.a;
- remoteRef = 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libcxxreact.a;
- remoteRef = 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libjschelpers.a;
- remoteRef = 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libjschelpers.a;
- remoteRef = 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libRCTAnimation.a;
- remoteRef = 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libRCTAnimation.a;
- remoteRef = 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libRCTLinking.a;
- remoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- 832341B51AAA6A8300B99B32 /* libRCTText.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libRCTText.a;
- remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libRCTBlob.a;
- remoteRef = ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
-/* End PBXReferenceProxy section */
-
/* Begin PBXResourcesBuildPhase section */
00E356EC1AD99517003FC87E /* Resources */ = {
isa = PBXResourcesBuildPhase;
@@ -1050,6 +346,7 @@
files = (
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
+ AECB905824658DC600ED1B83 /* sample.mp3 in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1085,6 +382,24 @@
shellPath = /bin/sh;
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
};
+ 14C94C1C1903F2189AE891A6 /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-resources.sh",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputPaths = (
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -1099,6 +414,150 @@
shellPath = /bin/sh;
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
};
+ 2DCA07023D4AA069A0C9D6BE /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-example-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 5313D15A4BFFB977CEC741B2 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-example-tvOSTests-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 8F6D0FED697FE82D2DF59178 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-example-tvOS-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+ B0ED5983C06627818B5DC217 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-example-exampleTests-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+ CEF8B2703D93599E45D6BF6B /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputPaths = (
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ FD10A7F022414F080027D42C /* Start Packager */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Start Packager";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n";
+ showEnvVarsInLog = 0;
+ };
+ FD10A7F122414F3F0027D42C /* Start Packager */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Start Packager";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n";
+ showEnvVarsInLog = 0;
+ };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -1166,6 +625,7 @@
/* Begin XCBuildConfiguration section */
00E356F61AD99517003FC87E /* Debug */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = 52FCA686CB54A0F6E8129E44 /* Pods-example-exampleTests.debug.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
GCC_PREPROCESSOR_DEFINITIONS = (
@@ -1178,7 +638,9 @@
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
+ "$(inherited)",
);
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/example";
};
@@ -1186,6 +648,7 @@
};
00E356F71AD99517003FC87E /* Release */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = C528DBA88EA5CBFA010ECC73 /* Pods-example-exampleTests.release.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
COPY_PHASE_STRIP = NO;
@@ -1195,7 +658,9 @@
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
+ "$(inherited)",
);
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/example";
};
@@ -1203,10 +668,17 @@
};
13B07F941A680F5B00A75B9A /* Debug */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = 15BD6A0C81A3E52CBA666C17 /* Pods-example.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_ENTITLEMENTS = example/example.entitlements;
CURRENT_PROJECT_VERSION = 1;
- DEAD_CODE_STRIPPING = NO;
+ ENABLE_BITCODE = NO;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "FB_SONARKIT_ENABLED=1",
+ );
INFOPLIST_FILE = example/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
@@ -1214,15 +686,21 @@
"-ObjC",
"-lc++",
);
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = example;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
13B07F951A680F5B00A75B9A /* Release */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = 566FF18746355BDCE5A6333B /* Pods-example.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_ENTITLEMENTS = example/example.entitlements;
CURRENT_PROJECT_VERSION = 1;
INFOPLIST_FILE = example/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@@ -1231,13 +709,16 @@
"-ObjC",
"-lc++",
);
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = example;
+ SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
2D02E4971E0B4A5E006451C7 /* Debug */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = B43E6CF3919EF7ACAF9CC8B7 /* Pods-example-tvOS.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
@@ -1251,10 +732,11 @@
INFOPLIST_FILE = "example-tvOS/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
+ "$(inherited)",
"-ObjC",
"-lc++",
);
- PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOS";
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.example-tvOS";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
@@ -1264,6 +746,7 @@
};
2D02E4981E0B4A5E006451C7 /* Release */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = 37D30ECBCC5696F54DDBDB07 /* Pods-example-tvOS.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
@@ -1277,10 +760,11 @@
INFOPLIST_FILE = "example-tvOS/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
+ "$(inherited)",
"-ObjC",
"-lc++",
);
- PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOS";
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.example-tvOS";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
@@ -1290,6 +774,7 @@
};
2D02E4991E0B4A5E006451C7 /* Debug */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = 454237A3C32EB61EE42721D8 /* Pods-example-tvOSTests.debug.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_ANALYZER_NONNULL = YES;
@@ -1302,10 +787,11 @@
INFOPLIST_FILE = "example-tvOSTests/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
OTHER_LDFLAGS = (
+ "$(inherited)",
"-ObjC",
"-lc++",
);
- PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOSTests";
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.example-tvOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example-tvOS.app/example-tvOS";
@@ -1315,6 +801,7 @@
};
2D02E49A1E0B4A5E006451C7 /* Release */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = 68FB3463CAEF28E88730ADEE /* Pods-example-tvOSTests.release.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_ANALYZER_NONNULL = YES;
@@ -1327,10 +814,11 @@
INFOPLIST_FILE = "example-tvOSTests/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
OTHER_LDFLAGS = (
+ "$(inherited)",
"-ObjC",
"-lc++",
);
- PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOSTests";
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.example-tvOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example-tvOS.app/example-tvOS";
@@ -1342,24 +830,37 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
@@ -1373,6 +874,12 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
+ LIBRARY_SEARCH_PATHS = (
+ "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
+ "\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"",
+ "\"$(inherited)\"",
+ );
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -1383,17 +890,28 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
@@ -1401,6 +919,7 @@
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
@@ -1408,6 +927,12 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
+ LIBRARY_SEARCH_PATHS = (
+ "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
+ "\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"",
+ "\"$(inherited)\"",
+ );
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
diff --git a/example/ios/example.xcodeproj/xcshareddata/xcschemes/example-tvOS.xcscheme b/example/ios/example.xcodeproj/xcshareddata/xcschemes/example-tvOS.xcscheme
index a36391c90..8046697ed 100644
--- a/example/ios/example.xcodeproj/xcshareddata/xcschemes/example-tvOS.xcscheme
+++ b/example/ios/example.xcodeproj/xcshareddata/xcschemes/example-tvOS.xcscheme
@@ -1,25 +1,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/example/ios/example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/ios/example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 000000000..18d981003
--- /dev/null
+++ b/example/ios/example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/example/ios/example/AppDelegate.h b/example/ios/example/AppDelegate.h
index d4f2580b1..3c1381ce7 100644
--- a/example/ios/example/AppDelegate.h
+++ b/example/ios/example/AppDelegate.h
@@ -1,14 +1,8 @@
-/**
- * Copyright (c) 2015-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
+#import
#import
+#import
-@interface AppDelegate : UIResponder
-
+@interface AppDelegate : UIResponder
@property (nonatomic, strong) UIWindow *window;
@end
diff --git a/example/ios/example/AppDelegate.m b/example/ios/example/AppDelegate.m
index eba94f353..117e74e33 100644
--- a/example/ios/example/AppDelegate.m
+++ b/example/ios/example/AppDelegate.m
@@ -1,27 +1,30 @@
-/**
- * Copyright (c) 2015-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
#import "AppDelegate.h"
+#import
#import
#import
+#import
+#import
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
- NSURL *jsCodeLocation;
- jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
+ RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
+ RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
+ moduleName:@"example"
+ initialProperties:nil];
- RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
- moduleName:@"example"
- initialProperties:nil
- launchOptions:launchOptions];
+ // Define UNUserNotificationCenter
+ UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
+
+ [center requestAuthorizationWithOptions:(UNAuthorizationOptionAlert + UNAuthorizationOptionSound + UNAuthorizationOptionBadge)completionHandler:^(BOOL granted, NSError * _Nullable error) {
+ if (granted) {
+ center.delegate = self;
+ }
+ }];
+
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
@@ -32,4 +35,55 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
return YES;
}
+-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler
+{
+ completionHandler(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge);
+}
+
+// Required to register for notifications
+- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings
+{
+ [RNCPushNotificationIOS didRegisterUserNotificationSettings:notificationSettings];
+}
+// Required for the register event.
+- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
+{
+ [RNCPushNotificationIOS didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
+}
+// Required for the notification event. You must call the completion handler after handling the remote notification.
+- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
+fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
+{
+ [RNCPushNotificationIOS didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];
+}
+// Required for the registrationError event.
+- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
+{
+ [RNCPushNotificationIOS didFailToRegisterForRemoteNotificationsWithError:error];
+}
+
+// IOS 10+ Required for localNotification event
+- (void)userNotificationCenter:(UNUserNotificationCenter *)center
+didReceiveNotificationResponse:(UNNotificationResponse *)response
+ withCompletionHandler:(void (^)(void))completionHandler
+{
+ [RNCPushNotificationIOS didReceiveNotificationResponse:response];
+ completionHandler();
+}
+
+// IOS 4-10 Required for the localNotification event.
+- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
+{
+ [RNCPushNotificationIOS didReceiveLocalNotification:notification];
+}
+
+- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
+{
+#if DEBUG
+ return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
+#else
+ return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
+#endif
+}
+
@end
diff --git a/example/ios/example/Images.xcassets/AppIcon.appiconset/Contents.json b/example/ios/example/Images.xcassets/AppIcon.appiconset/Contents.json
index 118c98f74..81213230d 100644
--- a/example/ios/example/Images.xcassets/AppIcon.appiconset/Contents.json
+++ b/example/ios/example/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -2,37 +2,52 @@
"images" : [
{
"idiom" : "iphone",
- "size" : "29x29",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "20x20"
},
{
"idiom" : "iphone",
- "size" : "29x29",
- "scale" : "3x"
+ "scale" : "3x",
+ "size" : "20x20"
},
{
"idiom" : "iphone",
- "size" : "40x40",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "29x29"
},
{
"idiom" : "iphone",
- "size" : "40x40",
- "scale" : "3x"
+ "scale" : "3x",
+ "size" : "29x29"
},
{
"idiom" : "iphone",
- "size" : "60x60",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "40x40"
},
{
"idiom" : "iphone",
- "size" : "60x60",
- "scale" : "3x"
+ "scale" : "3x",
+ "size" : "40x40"
+ },
+ {
+ "idiom" : "iphone",
+ "scale" : "2x",
+ "size" : "60x60"
+ },
+ {
+ "idiom" : "iphone",
+ "scale" : "3x",
+ "size" : "60x60"
+ },
+ {
+ "idiom" : "ios-marketing",
+ "scale" : "1x",
+ "size" : "1024x1024"
}
],
"info" : {
- "version" : 1,
- "author" : "xcode"
+ "author" : "xcode",
+ "version" : 1
}
-}
\ No newline at end of file
+}
diff --git a/example/ios/example/Info.plist b/example/ios/example/Info.plist
index 44e178a6f..173ee5c0a 100644
--- a/example/ios/example/Info.plist
+++ b/example/ios/example/Info.plist
@@ -9,7 +9,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
@@ -24,6 +24,27 @@
1
LSRequiresIPhoneOS
+ NSAppTransportSecurity
+
+ NSAllowsArbitraryLoads
+
+ NSExceptionDomains
+
+ localhost
+
+ NSExceptionAllowsInsecureHTTPLoads
+
+
+
+
+ NSLocationWhenInUseUsageDescription
+
+ UIBackgroundModes
+
+ fetch
+ processing
+ remote-notification
+
UILaunchStoryboardName
LaunchScreen
UIRequiredDeviceCapabilities
@@ -38,19 +59,5 @@
UIViewControllerBasedStatusBarAppearance
- NSLocationWhenInUseUsageDescription
-
- NSAppTransportSecurity
-
-
- NSExceptionDomains
-
- localhost
-
- NSExceptionAllowsInsecureHTTPLoads
-
-
-
-
diff --git a/example/ios/example/example.entitlements b/example/ios/example/example.entitlements
new file mode 100644
index 000000000..903def2af
--- /dev/null
+++ b/example/ios/example/example.entitlements
@@ -0,0 +1,8 @@
+
+
+
+
+ aps-environment
+ development
+
+
diff --git a/example/ios/example/main.m b/example/ios/example/main.m
index c73e00625..b1df44b95 100644
--- a/example/ios/example/main.m
+++ b/example/ios/example/main.m
@@ -1,10 +1,3 @@
-/**
- * Copyright (c) 2015-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
#import
#import "AppDelegate.h"
diff --git a/example/ios/exampleTests/Info.plist b/example/ios/exampleTests/Info.plist
index 886825ccc..ba72822e8 100644
--- a/example/ios/exampleTests/Info.plist
+++ b/example/ios/exampleTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/example/ios/exampleTests/exampleTests.m b/example/ios/exampleTests/exampleTests.m
index 8c594de06..9809b80c3 100644
--- a/example/ios/exampleTests/exampleTests.m
+++ b/example/ios/exampleTests/exampleTests.m
@@ -1,10 +1,3 @@
-/**
- * Copyright (c) 2015-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
#import
#import
@@ -12,7 +5,7 @@
#import
#define TIMEOUT_SECONDS 600
-#define TEXT_TO_LOOK_FOR @"Welcome to React Native!"
+#define TEXT_TO_LOOK_FOR @"Welcome to React"
@interface exampleTests : XCTestCase
@@ -40,11 +33,13 @@ - (void)testRendersWelcomeScreen
BOOL foundElement = NO;
__block NSString *redboxError = nil;
+#ifdef DEBUG
RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {
if (level >= RCTLogLevelError) {
redboxError = message;
}
});
+#endif
while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) {
[[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
@@ -58,7 +53,9 @@ - (void)testRendersWelcomeScreen
}];
}
+#ifdef DEBUG
RCTSetLogFunction(RCTDefaultLogFunction);
+#endif
XCTAssertNil(redboxError, @"RedBox error: %@", redboxError);
XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);
diff --git a/example/ios/sample.mp3 b/example/ios/sample.mp3
new file mode 100644
index 000000000..4569ff11f
Binary files /dev/null and b/example/ios/sample.mp3 differ
diff --git a/example/metro.config.js b/example/metro.config.js
new file mode 100644
index 000000000..13a964217
--- /dev/null
+++ b/example/metro.config.js
@@ -0,0 +1,17 @@
+/**
+ * Metro configuration for React Native
+ * https://github.com/facebook/react-native
+ *
+ * @format
+ */
+
+module.exports = {
+ transformer: {
+ getTransformOptions: async () => ({
+ transform: {
+ experimentalImportSupport: false,
+ inlineRequires: false,
+ },
+ }),
+ },
+};
diff --git a/example/package-lock.json b/example/package-lock.json
deleted file mode 100644
index f3d99bca6..000000000
--- a/example/package-lock.json
+++ /dev/null
@@ -1,9160 +0,0 @@
-{
- "name": "example",
- "version": "0.0.1",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz",
- "integrity": "sha512-W7IeG4MoVf4oUvWfHUx9VG9if3E0xSUDf1urrnNYtC2ow1dz2ptvQ6YsJfyVXDuPTFXz66jkHhzMW7a5Eld7TA==",
- "requires": {
- "@babel/highlight": "7.0.0-beta.47"
- }
- },
- "@babel/core": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.47.tgz",
- "integrity": "sha512-7EIuAX0UVnCgZ0E9tz9rFK0gd+aovwMA9bul+dnkmBQYLrJdas2EHMUSmaK67i1cyZpvgVvXhHtXJxC7wo3rlQ==",
- "requires": {
- "@babel/code-frame": "7.0.0-beta.47",
- "@babel/generator": "7.0.0-beta.47",
- "@babel/helpers": "7.0.0-beta.47",
- "@babel/template": "7.0.0-beta.47",
- "@babel/traverse": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47",
- "babylon": "7.0.0-beta.47",
- "convert-source-map": "1.5.1",
- "debug": "3.1.0",
- "json5": "0.5.1",
- "lodash": "4.17.10",
- "micromatch": "2.3.11",
- "resolve": "1.8.1",
- "semver": "5.5.0",
- "source-map": "0.5.7"
- },
- "dependencies": {
- "babylon": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz",
- "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ=="
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "@babel/generator": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.47.tgz",
- "integrity": "sha512-fJP+9X+gqgTTZzTqrKJHwebPwt6S/e/4YuyRyKyWHAIirGgUwjRoZgbFci24wwGYMJW7nlkCSwWG7QvCVsG0eg==",
- "requires": {
- "@babel/types": "7.0.0-beta.47",
- "jsesc": "2.5.1",
- "lodash": "4.17.10",
- "source-map": "0.5.7",
- "trim-right": "1.0.1"
- },
- "dependencies": {
- "jsesc": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz",
- "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4="
- }
- }
- },
- "@babel/helper-annotate-as-pure": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.47.tgz",
- "integrity": "sha512-Pjxb/PrxyKWc7jcAXlawvNAQMxxY+tSSNC5wxJstJjpO10mocmGzBOqNYjxdvVhMb3d0BEPQ8mR+D65fFpZ+TA==",
- "requires": {
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.47.tgz",
- "integrity": "sha512-nv8d6TcDBb1CJMQzwab/e0rqyqoP9d2AQBjr4GdSiVRpJX4aiLEiLBm2XprdEb/sVIRmmBnVxPXJaHDsS/K2fw==",
- "requires": {
- "@babel/helper-explode-assignable-expression": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/helper-builder-react-jsx": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.47.tgz",
- "integrity": "sha512-oBGX/MyT4kNGuINK2k/KLHD77Ih1oTROtoxnV3uAPS9rLYhmZn3W8qy2L4bbyMwQ89nVSM427b0bTTXUEEReXA==",
- "requires": {
- "@babel/types": "7.0.0-beta.47",
- "esutils": "2.0.2"
- }
- },
- "@babel/helper-call-delegate": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.47.tgz",
- "integrity": "sha512-Rx9TRmCCEP0pWau9gfR6ubcbbX3nVc4ImNY143ftC70jrKdSv5rS20yz2cmCilDzhexwGZQ3PFwOLKe3C/5aEg==",
- "requires": {
- "@babel/helper-hoist-variables": "7.0.0-beta.47",
- "@babel/traverse": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/helper-define-map": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.47.tgz",
- "integrity": "sha512-pLB9RY7GZKcc/frzgfDY/HwdqxWPe60qMAvNUef1V1bDZ8i4AUgxAANgltFzj61t100WGhqaS0xGkALD+9VA+g==",
- "requires": {
- "@babel/helper-function-name": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47",
- "lodash": "4.17.10"
- }
- },
- "@babel/helper-explode-assignable-expression": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.47.tgz",
- "integrity": "sha512-1mwk27zmhSuMUcVWxw5ZKiPYfuWXviZNqgA4OvFBloPf9R+dKDhNgP2uUrkHh68ltVVc3Bup1nsbd/2KM5AxEw==",
- "requires": {
- "@babel/traverse": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/helper-function-name": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.47.tgz",
- "integrity": "sha512-0LSvt95XCYaOrDA5K68KkTyldKXizDwBnKACdYzQszp1GdbtzmSeGwFU5Ecw86fU6bkYXtDvkFTOQwk/WQSJPw==",
- "requires": {
- "@babel/helper-get-function-arity": "7.0.0-beta.47",
- "@babel/template": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/helper-get-function-arity": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.47.tgz",
- "integrity": "sha512-63j0i3YUW8CO//uQc3ACffJdIlYcIlysuHjMF0yzQhqKoQ/CUPv0hf3nBwdRGjiWrr3JcL6++NF4XmXdwSU+fA==",
- "requires": {
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.47.tgz",
- "integrity": "sha512-5BcKFhyzrsInlrfO/tGoe6khUuJzGfROD7oozF/5MWsKo/c3gVJfQ5y83lZ4XoTKJt/x4PQlLU0aHd/SJpYONA==",
- "requires": {
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/helper-member-expression-to-functions": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.47.tgz",
- "integrity": "sha512-gpipslnZw2hcVGADUtqQII9KF8FPpRZsVUXwKP/0EnWwtujRFSVL+u2Fh+VXODRAxFmTLo6eGcOr/Vfan0MqYw==",
- "requires": {
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/helper-module-imports": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.47.tgz",
- "integrity": "sha512-Rk43Ty+a6npu9znK22IqFlseStRGWxEHi2cjmLbbi63VGiseofdUtIJI65F9MTCuMTXAX7VbY/ghef1Jp5qpvw==",
- "requires": {
- "@babel/types": "7.0.0-beta.47",
- "lodash": "4.17.10"
- }
- },
- "@babel/helper-module-transforms": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.47.tgz",
- "integrity": "sha512-CziMe30ZunAhe6j05oNOFOg7im1lcv3dYuMxrwBYVe9YdP4NHPU7a1wrDBUhaPmyqTIZDwGnFne7k1KP79SeGQ==",
- "requires": {
- "@babel/helper-module-imports": "7.0.0-beta.47",
- "@babel/helper-simple-access": "7.0.0-beta.47",
- "@babel/helper-split-export-declaration": "7.0.0-beta.47",
- "@babel/template": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47",
- "lodash": "4.17.10"
- }
- },
- "@babel/helper-optimise-call-expression": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.47.tgz",
- "integrity": "sha512-NhnGhjwrhzGas4A/PoBDEtEPCGJHrzhaT6qGmo1hmkA2orG4UNi7KENC38DhJII0n2oUrKUuzTwgCvxKOTiHbw==",
- "requires": {
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/helper-plugin-utils": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.47.tgz",
- "integrity": "sha512-GR67o8boOKVJRKM5Nhk7oVEHpxYy8R00lwu0F82WxxBH+iiT26DqW1e/4w/mo7Bdn1A6l0pNaOlNk1PdM2Hgag=="
- },
- "@babel/helper-regex": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.47.tgz",
- "integrity": "sha512-dafidvVkjJP5AIWkJspV+7RGj1jeNts0qYvlmVzqAGb6BmQzEldJr6ZPzrmlpW/AW1YJGdw7br2yiwvlCRqDvQ==",
- "requires": {
- "lodash": "4.17.10"
- }
- },
- "@babel/helper-remap-async-to-generator": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.47.tgz",
- "integrity": "sha512-Nmj3lUHQscD160asav2bZ3sMIjGwGY9r6Vrriy9TqH7bmaClKUKUs5Twv0htFWfOKNFLEeY/MaqiAXylr1GS2w==",
- "requires": {
- "@babel/helper-annotate-as-pure": "7.0.0-beta.47",
- "@babel/helper-wrap-function": "7.0.0-beta.47",
- "@babel/template": "7.0.0-beta.47",
- "@babel/traverse": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/helper-replace-supers": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.47.tgz",
- "integrity": "sha512-yf2JAD1+xNTjavqazqknRgPfd6MbGfvfIcAkxWsPURynAwOMSs4zThED8ImT2d5a97rGPysRJcq1jNh2L0WYxg==",
- "requires": {
- "@babel/helper-member-expression-to-functions": "7.0.0-beta.47",
- "@babel/helper-optimise-call-expression": "7.0.0-beta.47",
- "@babel/traverse": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/helper-simple-access": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.47.tgz",
- "integrity": "sha512-sd2t3QDKjd+hHkJKaC2AX39l6oIil1N548oMZAtV5YHlVGoWWkAVGnPMxRg7ICEjIftCU3ZI6UeaogyEhF8t7Q==",
- "requires": {
- "@babel/template": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47",
- "lodash": "4.17.10"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.47.tgz",
- "integrity": "sha512-jx8GmxryT6Qy4+24W6M6TnVL9T8bxqdyg5UKHjxBdw0Y2Sano1n0WphUS2seuOugn04W2ZQLqGc0ut8nGe/taA==",
- "requires": {
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/helper-wrap-function": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.47.tgz",
- "integrity": "sha512-SAasvh80Mz5q9x15dqH6z8jpM0WTBmxQSNZATSwJwhmWdme6r2gxpufIMr8LwQIJHmXmgNLmvh0zdWSbE/PR4Q==",
- "requires": {
- "@babel/helper-function-name": "7.0.0-beta.47",
- "@babel/template": "7.0.0-beta.47",
- "@babel/traverse": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/helpers": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.47.tgz",
- "integrity": "sha512-uWk7gIua2COEWLwZGxfF5Wq1bgXOt1V6xzWxqeFznrA6F1TUPiAhkK5zORiZEa5RAILp6Mswsn3xFjDyCpp3rQ==",
- "requires": {
- "@babel/template": "7.0.0-beta.47",
- "@babel/traverse": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47"
- }
- },
- "@babel/highlight": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.47.tgz",
- "integrity": "sha512-d505K3Hth1eg0b2swfEF7oFMw3J9M8ceFg0s6dhCSxOOF+07WDvJ0HKT/YbK/Jk9wn8Wyr6HIRAUPKJ9Wfv8Rg==",
- "requires": {
- "chalk": "2.4.1",
- "esutils": "2.0.2",
- "js-tokens": "3.0.2"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "@babel/plugin-external-helpers": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.0.0-beta.47.tgz",
- "integrity": "sha512-R45V1hsr5DQIbhJajyQm5p2KS+qvmAqkEytP+DhrrEUrx0J1OfqWKZPNDiPe3xdLJtgTNZaDBq1iqfs0gnfslg==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-proposal-class-properties": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.47.tgz",
- "integrity": "sha512-6yuCiF+ZZHPLgAa+0a6/teNeAMsWqY6AVtZA4NhCWnwP4OH0JrRaY7rwvFCJSqNGurf8rF65W9IucM/l0+HOCg==",
- "requires": {
- "@babel/helper-function-name": "7.0.0-beta.47",
- "@babel/helper-plugin-utils": "7.0.0-beta.47",
- "@babel/helper-replace-supers": "7.0.0-beta.47",
- "@babel/plugin-syntax-class-properties": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-proposal-object-rest-spread": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.47.tgz",
- "integrity": "sha512-ujUjQUyTxUWHfixRD7Y5Nm8VCgHSf6YgbM37LEnojKp5lPahZO42qJfDty+Kh0tEanpI5H8BLPkJbFSzx6TNEw==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47",
- "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-proposal-optional-chaining": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0-beta.47.tgz",
- "integrity": "sha512-5jlVmdC1Lv874h2553xAp50jVv3L/23KksOLUZdF/9+ZdbAzOlhX6spHiVy/jjfU9G1MFZtZTlxhV5roGkqZvg==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47",
- "@babel/plugin-syntax-optional-chaining": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-syntax-class-properties": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.47.tgz",
- "integrity": "sha512-vLoAuLSjHSenX3TQmri6ttQWZp3rEtGcRp4LgYEBQ012fN5h+KmcssvkCAqm6V6ozS5KzUWpBlZ6t7YhZG6oBw==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-syntax-dynamic-import": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.47.tgz",
- "integrity": "sha512-J2y7RAH2NwQ+ahJahj2eS1PqS2NWNWTDaEibqrE55VTJU7nPL8AhthRwIQfQkCH+8UIeL/T3Jh1iHIRkvJ6dXA==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-syntax-flow": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.47.tgz",
- "integrity": "sha512-+3ZLKNV8tSDnTWL4QRNx5uZB/hUzY71WcgCwoXWy+8ma7EjZ3e3vbR69VR8dJwG1DqGsug6ZzM+afR0G4gKgPA==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-syntax-jsx": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.47.tgz",
- "integrity": "sha512-5scuJzIYZY8M+A1ra8mcKANIwB5TtsRD6Aw94xZxfvnjhhVMFR5RYE9HshVlBrZVY+r3cJDNIQLJMC/fGJHImA==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.0.0-beta.47.tgz",
- "integrity": "sha512-o0v9WRQwatyMSGoPIdYoK8VTDrjdHU3MQgHLcbveetueKHZGYN3MhZvkCFa86l5WKUGDF81FOk/mta/7QuDI9g==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-syntax-object-rest-spread": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.47.tgz",
- "integrity": "sha512-UOGQCmzvNlZMQOuys7xPiTa2EjTT3xHuhUghcdJnYikqGV43obpIIaP+VDCWPvIT8g0QDIvmRWx5UefvkWXN+w==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-syntax-optional-chaining": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0-beta.47.tgz",
- "integrity": "sha512-lt6JV/D7QeAEf3qqUT4JTPkbU6vNCfeMW7BB7JD+HYivITkmXuGIVl7w4JrRB9LkfjkYE5vgiz3Nc733AD7v8w==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-arrow-functions": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.47.tgz",
- "integrity": "sha512-xiU+7RJAsqx+iZqWSQQWBu9ZDTruWimkg4puDSdRVfEwgZQdOtiU2LuO0+xGFyitJPHkKuje0WvK1tFu1dmxCw==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-async-to-generator": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.47.tgz",
- "integrity": "sha512-/TXK3v6ipvmhMO81Y2Vjc7RYROkS2PcmRc+kvmU3CWA7r5I73KWg10UEW/fpWqCuoTCHHHXu1ZcZ5u+nduJeFw==",
- "requires": {
- "@babel/helper-module-imports": "7.0.0-beta.47",
- "@babel/helper-plugin-utils": "7.0.0-beta.47",
- "@babel/helper-remap-async-to-generator": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-block-scoping": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.47.tgz",
- "integrity": "sha512-V/u3Zdy40KjVQeyYUaQnCGiHQbRNJoc6IEtNDERltuW9vYPHS1n6YGc+EHKi8JVYT4kE6UHOjD+BrbCCV4kjRw==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47",
- "lodash": "4.17.10"
- }
- },
- "@babel/plugin-transform-classes": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.47.tgz",
- "integrity": "sha512-hzW/jL6TPBMHJXeXwzuxMN0PFAfjVD0UzATHrFSejY5A7SvhWWrv1cZ3K0/SzCXJ9LpMdxCNiREvVjeD/Tyx2g==",
- "requires": {
- "@babel/helper-annotate-as-pure": "7.0.0-beta.47",
- "@babel/helper-define-map": "7.0.0-beta.47",
- "@babel/helper-function-name": "7.0.0-beta.47",
- "@babel/helper-optimise-call-expression": "7.0.0-beta.47",
- "@babel/helper-plugin-utils": "7.0.0-beta.47",
- "@babel/helper-replace-supers": "7.0.0-beta.47",
- "@babel/helper-split-export-declaration": "7.0.0-beta.47",
- "globals": "11.7.0"
- },
- "dependencies": {
- "globals": {
- "version": "11.7.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz",
- "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg=="
- }
- }
- },
- "@babel/plugin-transform-computed-properties": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.47.tgz",
- "integrity": "sha512-V78qyzmjj4aq/tjpkMFbV5gPtrx7xdclW1Rn6vV9hIwMSMbtstYEXF4msy614MofvYj6gYbPbNfyhXFIUvz/xw==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-destructuring": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.47.tgz",
- "integrity": "sha512-3AaXC9H7qPybJbSs/QMhhj9EZF9MYrb/HRytwki1tckaYifqCJquENIZxDAYmwsWIGIHiq34WqwPRMIsz/b5uQ==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-exponentiation-operator": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.47.tgz",
- "integrity": "sha512-vyGG3kLIXpMuaPL485aqowdWFrxCxXtbzMXy9p1QTK5Q/+9UHpK9XoAVJZGknnsm091m0Ss7spo8uHaxbzYVog==",
- "requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "7.0.0-beta.47",
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-flow-strip-types": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.47.tgz",
- "integrity": "sha512-X/8Gd4CxdBx7LOtW2wPSzr83bYyndqYbnJoUEosPJXOG2aRmgVo4hn+wk97vtDH+hMP7HsTApVBffrZNXS3erA==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47",
- "@babel/plugin-syntax-flow": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-for-of": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.47.tgz",
- "integrity": "sha512-tfH5OMzV9fWLYJTzWDhoRJKr8kvBZWH26jiCgM0ayNq75ES/X947MqMNAgBjJdTAVEV2kOyks2ItgNAJT4rOUw==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-function-name": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.47.tgz",
- "integrity": "sha512-/5I/f8NCouugsRT6ORB1UjCP3N+Rgv/OB6SzmaeIUEpYYPM6D7WQ+4BaRYXQn4eqtOJmTgxDXYa8FgYtoeqP9A==",
- "requires": {
- "@babel/helper-function-name": "7.0.0-beta.47",
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-literals": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.47.tgz",
- "integrity": "sha512-PxBw+52qWypwR76YfS2FlW4wZfp61SjIyt3OSPZeWnf0zVQWNVrlRRunJ7lBYudDYvyMwStAE/VynZ0fHtPgng==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-modules-commonjs": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.47.tgz",
- "integrity": "sha512-MYoLyexybBJ9ODWWMsMFzxAQey68RzhQNPjfNAYPhPPB3X160EZ5qOjWxRS2rYNvuYAxs6guy5OdrDpESqFSrQ==",
- "requires": {
- "@babel/helper-module-transforms": "7.0.0-beta.47",
- "@babel/helper-plugin-utils": "7.0.0-beta.47",
- "@babel/helper-simple-access": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-object-assign": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.0.0-beta.47.tgz",
- "integrity": "sha512-5Cc/5TsUjxiAuEQ4WUu+ccP0RI2/qcZWEZA7U87RH26rnhc0NDBZfUbEf1RGM5gBFLFVNzUAoFX8kRykHvl/nQ==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-parameters": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.47.tgz",
- "integrity": "sha512-UzQG8draO+30Y8eNEREuGBfmEHLL7WFxOjmTBbaTrbdOrm/znCUThqcuNz8cyn2nrZbln7M/loQ3stjf9Pt9fQ==",
- "requires": {
- "@babel/helper-call-delegate": "7.0.0-beta.47",
- "@babel/helper-get-function-arity": "7.0.0-beta.47",
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-react-display-name": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.47.tgz",
- "integrity": "sha512-Rw1KWihSkGHbqHiQuiFu/beMakDtobW3eLSABw1w3BvRIc/UhBXxwyIxa/q/R9hWFBholAjmx9cKey8FnZPykw==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-react-jsx": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.47.tgz",
- "integrity": "sha512-HGian2BbCsyAqs6LntVVRpjXG9TkzhHfTynjUoMxOFL29doKEy/0s96SMvmbBSR/wMRKMd1OPvCiEYYxqZtr3g==",
- "requires": {
- "@babel/helper-builder-react-jsx": "7.0.0-beta.47",
- "@babel/helper-plugin-utils": "7.0.0-beta.47",
- "@babel/plugin-syntax-jsx": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-react-jsx-source": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.47.tgz",
- "integrity": "sha512-oZ6D9z+qql+tz7PjGp1CaxepxqDQQTusyjeKsWr7NdEa0v2j3sWLkfK4Aa7kU9BT0+j+r/LN4u33UBkBNVoVvw==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47",
- "@babel/plugin-syntax-jsx": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-regenerator": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.47.tgz",
- "integrity": "sha512-JEPIiJyqYRfjOYUTZguLkb2HTwudReqLyOljpOXnJ/1ymwsiof4D6ul611DGlMxJMZJGQ6TBi59iY9GoJ6j4Iw==",
- "requires": {
- "regenerator-transform": "0.12.4"
- }
- },
- "@babel/plugin-transform-shorthand-properties": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.47.tgz",
- "integrity": "sha512-+o7/yb0Nrk4Gg/tnBgfBf+G1uGZbtkSluUnj8RyD37ajpDlWmysDjFEHSfktKcuD8YHeGz2M9AYNGcClk1fr/g==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-spread": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.47.tgz",
- "integrity": "sha512-LFAozFdfT4bE2AQw2BnjzLufTX4GBsTUHUGRhT8XNoDYuGnV+7k9Yj6JU3/7csJc9u6W91PArYgoO+D56CMw6Q==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-sticky-regex": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.47.tgz",
- "integrity": "sha512-+Rc6NihGoXcwAqAxbiumvzOYxRR0aUg1ZExfyHnI5QnQf0sf4xAfgT/YpGvEgLd5Ci0rka+IWSj54PhzZkhuTg==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47",
- "@babel/helper-regex": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-template-literals": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.47.tgz",
- "integrity": "sha512-ORfrfN/gQoRuI+xf+kOa2i/yvXfedFRgH+KtgoIrpUQom7OhexxzD280x80LMCIkdaVGzYhvlC3kdJkFMWAfUg==",
- "requires": {
- "@babel/helper-annotate-as-pure": "7.0.0-beta.47",
- "@babel/helper-plugin-utils": "7.0.0-beta.47"
- }
- },
- "@babel/plugin-transform-unicode-regex": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.47.tgz",
- "integrity": "sha512-44nWn421tMVZ/A4+1uppzoAO7nrlwWzefMr9JUi5G+tXl0DLEtWy+F7L6zCVw19C4OAOA6WlolVro5CEs6g6AQ==",
- "requires": {
- "@babel/helper-plugin-utils": "7.0.0-beta.47",
- "@babel/helper-regex": "7.0.0-beta.47",
- "regexpu-core": "4.2.0"
- }
- },
- "@babel/register": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.0.0-beta.47.tgz",
- "integrity": "sha512-r5aS1bAqW0tHvwUNPRRdmIedSWGK/oyv598EENpV/+VZF8EkX9TiVqCpJyg6zucPPyMjtdXN1pK/Yljp5NdGGA==",
- "requires": {
- "core-js": "2.5.7",
- "find-cache-dir": "1.0.0",
- "home-or-tmp": "3.0.0",
- "lodash": "4.17.10",
- "mkdirp": "0.5.1",
- "pirates": "3.0.2",
- "source-map-support": "0.4.18"
- },
- "dependencies": {
- "core-js": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
- "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
- },
- "home-or-tmp": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-3.0.0.tgz",
- "integrity": "sha1-V6j+JM8zzdUkhgoVgh3cJchmcfs="
- }
- }
- },
- "@babel/template": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.47.tgz",
- "integrity": "sha512-mAzrOCLwOb4jAobHi0kTwIkoamP1Do28c6zxvrDXjYSJFZHz6KGuzMaT0AV7ZCq7M3si7QypVVMVX2bE6IsuOg==",
- "requires": {
- "@babel/code-frame": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47",
- "babylon": "7.0.0-beta.47",
- "lodash": "4.17.10"
- },
- "dependencies": {
- "babylon": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz",
- "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ=="
- }
- }
- },
- "@babel/traverse": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.47.tgz",
- "integrity": "sha512-kYGGs//OnUnei+9TTldxlgf7llprj7VUeDKtG50+g+0k1g0yZyrkEgbyFheYFdnudR8IDEHOEXVsUuY82r5Aiw==",
- "requires": {
- "@babel/code-frame": "7.0.0-beta.47",
- "@babel/generator": "7.0.0-beta.47",
- "@babel/helper-function-name": "7.0.0-beta.47",
- "@babel/helper-split-export-declaration": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47",
- "babylon": "7.0.0-beta.47",
- "debug": "3.1.0",
- "globals": "11.7.0",
- "invariant": "2.2.4",
- "lodash": "4.17.10"
- },
- "dependencies": {
- "babylon": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz",
- "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ=="
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "globals": {
- "version": "11.7.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz",
- "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg=="
- }
- }
- },
- "@babel/types": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.47.tgz",
- "integrity": "sha512-MOP5pOosg7JETrVGg8OQyzmUmbyoSopT5j2HlblHsto89mPz3cmxzn1IA4UNUmnWKgeticSwfhS+Gdy25IIlBQ==",
- "requires": {
- "esutils": "2.0.2",
- "lodash": "4.17.10",
- "to-fast-properties": "2.0.0"
- },
- "dependencies": {
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
- }
- }
- },
- "abab": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz",
- "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=",
- "dev": true
- },
- "absolute-path": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz",
- "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c="
- },
- "accepts": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
- "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
- "requires": {
- "mime-types": "2.1.18",
- "negotiator": "0.6.1"
- }
- },
- "acorn": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz",
- "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==",
- "dev": true
- },
- "acorn-globals": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.1.0.tgz",
- "integrity": "sha512-KjZwU26uG3u6eZcfGbTULzFcsoz6pegNKtHPksZPOUsiKo5bUmiBPa38FuHZ/Eun+XYh/JCCkS9AS3Lu4McQOQ==",
- "dev": true,
- "requires": {
- "acorn": "5.7.1"
- }
- },
- "ajv": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "dev": true,
- "requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.1.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
- }
- },
- "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"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "dev": true
- },
- "ansi": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
- "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
- },
- "ansi-colors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
- "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-cyan": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
- "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-escapes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
- "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw=="
- },
- "ansi-gray": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
- "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-red": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
- "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
- },
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "ansi-wrap": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
- "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768="
- },
- "anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
- "requires": {
- "micromatch": "3.1.10",
- "normalize-path": "2.1.1"
- },
- "dependencies": {
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
- },
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "requires": {
- "arr-flatten": "1.1.0",
- "array-unique": "0.3.2",
- "extend-shallow": "2.0.1",
- "fill-range": "4.0.0",
- "isobject": "3.0.1",
- "repeat-element": "1.1.2",
- "snapdragon": "0.8.2",
- "snapdragon-node": "2.1.1",
- "split-string": "3.1.0",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "requires": {
- "debug": "2.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "posix-character-classes": "0.1.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "0.1.6"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
- }
- },
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
- }
- }
- },
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "1.0.0",
- "is-extendable": "1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "2.0.4"
- }
- }
- }
- },
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "requires": {
- "array-unique": "0.3.2",
- "define-property": "1.0.0",
- "expand-brackets": "2.1.4",
- "extend-shallow": "2.0.1",
- "fragment-cache": "0.2.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "1.0.2"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "requires": {
- "extend-shallow": "2.0.1",
- "is-number": "3.0.0",
- "repeat-string": "1.6.1",
- "to-regex-range": "2.1.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
- }
- },
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
- "braces": "2.3.2",
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "extglob": "2.0.4",
- "fragment-cache": "0.2.1",
- "kind-of": "6.0.2",
- "nanomatch": "1.2.13",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- }
- }
- }
- },
- "append-transform": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
- "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
- "dev": true,
- "requires": {
- "default-require-extensions": "2.0.0"
- }
- },
- "are-we-there-yet": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
- "requires": {
- "delegates": "1.0.0",
- "readable-stream": "2.3.6"
- }
- },
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "requires": {
- "sprintf-js": "1.0.3"
- }
- },
- "arr-diff": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
- "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
- "requires": {
- "arr-flatten": "1.1.0",
- "array-slice": "0.2.3"
- }
- },
- "arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
- },
- "arr-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
- "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0="
- },
- "array-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
- "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
- "dev": true
- },
- "array-filter": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
- "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw="
- },
- "array-map": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
- "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI="
- },
- "array-reduce": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
- "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys="
- },
- "array-slice": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
- "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU="
- },
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
- },
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
- "dev": true
- },
- "art": {
- "version": "0.10.3",
- "resolved": "https://registry.npmjs.org/art/-/art-0.10.3.tgz",
- "integrity": "sha512-HXwbdofRTiJT6qZX/FnchtldzJjS3vkLJxQilc3Xj+ma2MXjY4UAyQ0ls1XZYVnDvVIBiFZbC6QsvtW86TD6tQ=="
- },
- "asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
- },
- "asn1": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
- "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
- "dev": true
- },
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- },
- "assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
- },
- "astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
- "dev": true
- },
- "async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
- "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
- "requires": {
- "lodash": "4.17.10"
- }
- },
- "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": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
- },
- "atob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
- "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio="
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true
- },
- "aws4": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
- "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==",
- "dev": true
- },
- "babel-code-frame": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
- "requires": {
- "chalk": "1.1.3",
- "esutils": "2.0.2",
- "js-tokens": "3.0.2"
- },
- "dependencies": {
- "js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
- }
- }
- },
- "babel-core": {
- "version": "6.26.3",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
- "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
- "requires": {
- "babel-code-frame": "6.26.0",
- "babel-generator": "6.26.1",
- "babel-helpers": "6.24.1",
- "babel-messages": "6.23.0",
- "babel-register": "6.26.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "convert-source-map": "1.5.1",
- "debug": "2.6.9",
- "json5": "0.5.1",
- "lodash": "4.17.10",
- "minimatch": "3.0.4",
- "path-is-absolute": "1.0.1",
- "private": "0.1.8",
- "slash": "1.0.0",
- "source-map": "0.5.7"
- }
- },
- "babel-generator": {
- "version": "6.26.1",
- "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
- "requires": {
- "babel-messages": "6.23.0",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "detect-indent": "4.0.0",
- "jsesc": "1.3.0",
- "lodash": "4.17.10",
- "source-map": "0.5.7",
- "trim-right": "1.0.1"
- }
- },
- "babel-helper-builder-react-jsx": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
- "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "esutils": "2.0.2"
- }
- },
- "babel-helper-call-delegate": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
- "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
- "requires": {
- "babel-helper-hoist-variables": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-helper-define-map": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
- "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
- "requires": {
- "babel-helper-function-name": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "lodash": "4.17.10"
- }
- },
- "babel-helper-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
- "requires": {
- "babel-helper-get-function-arity": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-helper-get-function-arity": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
- "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-helper-hoist-variables": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
- "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-helper-optimise-call-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
- "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-helper-regex": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
- "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "lodash": "4.17.10"
- }
- },
- "babel-helper-replace-supers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
- "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
- "requires": {
- "babel-helper-optimise-call-expression": "6.24.1",
- "babel-messages": "6.23.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-helpers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
- "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
- }
- },
- "babel-jest": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.4.0.tgz",
- "integrity": "sha1-IsNMOS4hdvakw2eZKn/P9p0uhVc=",
- "dev": true,
- "requires": {
- "babel-plugin-istanbul": "4.1.6",
- "babel-preset-jest": "23.2.0"
- }
- },
- "babel-messages": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-check-es2015-constants": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
- "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-external-helpers": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz",
- "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-istanbul": {
- "version": "4.1.6",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz",
- "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==",
- "dev": true,
- "requires": {
- "babel-plugin-syntax-object-rest-spread": "6.13.0",
- "find-up": "2.1.0",
- "istanbul-lib-instrument": "1.10.1",
- "test-exclude": "4.2.1"
- }
- },
- "babel-plugin-jest-hoist": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz",
- "integrity": "sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=",
- "dev": true
- },
- "babel-plugin-syntax-class-properties": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
- "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94="
- },
- "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",
- "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0="
- },
- "babel-plugin-syntax-jsx": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
- "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY="
- },
- "babel-plugin-syntax-object-rest-spread": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
- "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U="
- },
- "babel-plugin-syntax-trailing-function-commas": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
- "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM="
- },
- "babel-plugin-transform-class-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
- "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
- "requires": {
- "babel-helper-function-name": "6.24.1",
- "babel-plugin-syntax-class-properties": "6.13.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-arrow-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
- "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
- "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-block-scoping": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
- "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "lodash": "4.17.10"
- }
- },
- "babel-plugin-transform-es2015-classes": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
- "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
- "requires": {
- "babel-helper-define-map": "6.26.0",
- "babel-helper-function-name": "6.24.1",
- "babel-helper-optimise-call-expression": "6.24.1",
- "babel-helper-replace-supers": "6.24.1",
- "babel-messages": "6.23.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-computed-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
- "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-destructuring": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
- "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-for-of": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
- "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
- "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
- "requires": {
- "babel-helper-function-name": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
- "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-modules-commonjs": {
- "version": "6.26.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
- "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
- "requires": {
- "babel-plugin-transform-strict-mode": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-object-super": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
- "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
- "requires": {
- "babel-helper-replace-supers": "6.24.1",
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-parameters": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
- "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
- "requires": {
- "babel-helper-call-delegate": "6.24.1",
- "babel-helper-get-function-arity": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-shorthand-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
- "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-spread": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
- "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-sticky-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
- "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
- "requires": {
- "babel-helper-regex": "6.26.0",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-template-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
- "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-es2015-unicode-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
- "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
- "requires": {
- "babel-helper-regex": "6.26.0",
- "babel-runtime": "6.26.0",
- "regexpu-core": "2.0.0"
- },
- "dependencies": {
- "jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
- },
- "regexpu-core": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
- "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
- "requires": {
- "regenerate": "1.4.0",
- "regjsgen": "0.2.0",
- "regjsparser": "0.1.5"
- }
- },
- "regjsgen": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc="
- },
- "regjsparser": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
- "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
- "requires": {
- "jsesc": "0.5.0"
- }
- }
- }
- },
- "babel-plugin-transform-es3-member-expression-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz",
- "integrity": "sha1-cz00RPPsxBvvjtGmpOCWV7iWnrs=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-es3-property-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz",
- "integrity": "sha1-sgeNWELiKr9A9z6M3pzTcRq9V1g=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-flow-strip-types": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
- "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
- "requires": {
- "babel-plugin-syntax-flow": "6.18.0",
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-object-rest-spread": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
- "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
- "requires": {
- "babel-plugin-syntax-object-rest-spread": "6.13.0",
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-react-display-name": {
- "version": "6.25.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
- "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-react-jsx": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
- "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
- "requires": {
- "babel-helper-builder-react-jsx": "6.26.0",
- "babel-plugin-syntax-jsx": "6.18.0",
- "babel-runtime": "6.26.0"
- }
- },
- "babel-plugin-transform-strict-mode": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
- "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-preset-es2015-node": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/babel-preset-es2015-node/-/babel-preset-es2015-node-6.1.1.tgz",
- "integrity": "sha1-YLIxVwJLDP6/OmNVTLBe4DW05V8=",
- "requires": {
- "babel-plugin-transform-es2015-destructuring": "6.23.0",
- "babel-plugin-transform-es2015-function-name": "6.24.1",
- "babel-plugin-transform-es2015-modules-commonjs": "6.26.2",
- "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-sticky-regex": "6.24.1",
- "babel-plugin-transform-es2015-unicode-regex": "6.24.1",
- "semver": "5.5.0"
- }
- },
- "babel-preset-fbjs": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-2.1.4.tgz",
- "integrity": "sha512-6XVQwlO26V5/0P9s2Eje8Epqkv/ihaMJ798+W98ktOA8fCn2IFM6wEi7CDW3fTbKFZ/8fDGvGZH01B6GSuNiWA==",
- "requires": {
- "babel-plugin-check-es2015-constants": "6.22.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-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-function-name": "6.24.1",
- "babel-plugin-transform-es2015-literals": "6.22.0",
- "babel-plugin-transform-es2015-modules-commonjs": "6.26.2",
- "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",
- "babel-plugin-transform-react-display-name": "6.25.0",
- "babel-plugin-transform-react-jsx": "6.24.1"
- }
- },
- "babel-preset-jest": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz",
- "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=",
- "dev": true,
- "requires": {
- "babel-plugin-jest-hoist": "23.2.0",
- "babel-plugin-syntax-object-rest-spread": "6.13.0"
- }
- },
- "babel-preset-react-native": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-5.0.2.tgz",
- "integrity": "sha512-Ua5JeQ1yGK8UoydMPzE2Ghq5raOKxXzpyApYDuHi4etIbXi5+GnCin19Nu+1obLQCf2Dxy9Y/GZwI0rnNOjggA==",
- "requires": {
- "@babel/plugin-proposal-class-properties": "7.0.0-beta.47",
- "@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.47",
- "@babel/plugin-proposal-optional-chaining": "7.0.0-beta.47",
- "@babel/plugin-transform-arrow-functions": "7.0.0-beta.47",
- "@babel/plugin-transform-block-scoping": "7.0.0-beta.47",
- "@babel/plugin-transform-classes": "7.0.0-beta.47",
- "@babel/plugin-transform-computed-properties": "7.0.0-beta.47",
- "@babel/plugin-transform-destructuring": "7.0.0-beta.47",
- "@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.47",
- "@babel/plugin-transform-flow-strip-types": "7.0.0-beta.47",
- "@babel/plugin-transform-for-of": "7.0.0-beta.47",
- "@babel/plugin-transform-function-name": "7.0.0-beta.47",
- "@babel/plugin-transform-literals": "7.0.0-beta.47",
- "@babel/plugin-transform-modules-commonjs": "7.0.0-beta.47",
- "@babel/plugin-transform-object-assign": "7.0.0-beta.47",
- "@babel/plugin-transform-parameters": "7.0.0-beta.47",
- "@babel/plugin-transform-react-display-name": "7.0.0-beta.47",
- "@babel/plugin-transform-react-jsx": "7.0.0-beta.47",
- "@babel/plugin-transform-react-jsx-source": "7.0.0-beta.47",
- "@babel/plugin-transform-regenerator": "7.0.0-beta.47",
- "@babel/plugin-transform-shorthand-properties": "7.0.0-beta.47",
- "@babel/plugin-transform-spread": "7.0.0-beta.47",
- "@babel/plugin-transform-sticky-regex": "7.0.0-beta.47",
- "@babel/plugin-transform-template-literals": "7.0.0-beta.47",
- "@babel/plugin-transform-unicode-regex": "7.0.0-beta.47",
- "@babel/template": "7.0.0-beta.47",
- "metro-babel7-plugin-react-transform": "0.39.1"
- },
- "dependencies": {
- "metro-babel7-plugin-react-transform": {
- "version": "0.39.1",
- "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.39.1.tgz",
- "integrity": "sha512-7atigK+8EZ1DAWhpcw2a60OhCPihe9TsRHGOKUUwJjXmXDxmYxoxejh1kK5vJSaW38P45PkUBwnfNwISWFv4mQ==",
- "requires": {
- "@babel/helper-module-imports": "7.0.0-beta.47",
- "lodash": "4.17.10"
- }
- }
- }
- },
- "babel-register": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
- "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
- "requires": {
- "babel-core": "6.26.3",
- "babel-runtime": "6.26.0",
- "core-js": "2.5.7",
- "home-or-tmp": "2.0.0",
- "lodash": "4.17.10",
- "mkdirp": "0.5.1",
- "source-map-support": "0.4.18"
- },
- "dependencies": {
- "core-js": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
- "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
- }
- }
- },
- "babel-runtime": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
- "requires": {
- "core-js": "2.5.7",
- "regenerator-runtime": "0.11.1"
- },
- "dependencies": {
- "core-js": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
- "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
- }
- }
- },
- "babel-template": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "lodash": "4.17.10"
- }
- },
- "babel-traverse": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
- "requires": {
- "babel-code-frame": "6.26.0",
- "babel-messages": "6.23.0",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "debug": "2.6.9",
- "globals": "9.18.0",
- "invariant": "2.2.4",
- "lodash": "4.17.10"
- }
- },
- "babel-types": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
- "requires": {
- "babel-runtime": "6.26.0",
- "esutils": "2.0.2",
- "lodash": "4.17.10",
- "to-fast-properties": "1.0.3"
- }
- },
- "babylon": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
- },
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
- },
- "base": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
- "requires": {
- "cache-base": "1.0.1",
- "class-utils": "0.3.6",
- "component-emitter": "1.2.1",
- "define-property": "1.0.0",
- "isobject": "3.0.1",
- "mixin-deep": "1.3.1",
- "pascalcase": "0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "1.0.2"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
- }
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- }
- }
- },
- "base64-js": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
- "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw=="
- },
- "basic-auth": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.0.tgz",
- "integrity": "sha1-AV2z81PgLlY3d1X5YnQuiYHnu7o=",
- "requires": {
- "safe-buffer": "5.1.1"
- }
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "dev": true,
- "optional": true,
- "requires": {
- "tweetnacl": "0.14.5"
- }
- },
- "big-integer": {
- "version": "1.6.32",
- "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.32.tgz",
- "integrity": "sha512-ljKJdR3wk9thHfLj4DtrNiOSTxvGFaMjWrG4pW75juXC4j7+XuKJVFdg4kgFMYp85PVkO05dFMj2dk2xVsH4xw=="
- },
- "bplist-creator": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz",
- "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=",
- "requires": {
- "stream-buffers": "2.2.0"
- }
- },
- "bplist-parser": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
- "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
- "requires": {
- "big-integer": "1.6.32"
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "requires": {
- "balanced-match": "1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "requires": {
- "expand-range": "1.8.2",
- "preserve": "0.2.0",
- "repeat-element": "1.1.2"
- }
- },
- "browser-process-hrtime": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz",
- "integrity": "sha1-Ql1opY00R/AqBKqJQYf86K+Le44=",
- "dev": true
- },
- "browser-resolve": {
- "version": "1.11.3",
- "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
- "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
- "dev": true,
- "requires": {
- "resolve": "1.1.7"
- },
- "dependencies": {
- "resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
- "dev": true
- }
- }
- },
- "bser": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz",
- "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=",
- "requires": {
- "node-int64": "0.4.0"
- }
- },
- "buffer-from": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz",
- "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ=="
- },
- "builtin-modules": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
- },
- "bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
- },
- "cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "requires": {
- "collection-visit": "1.0.0",
- "component-emitter": "1.2.1",
- "get-value": "2.0.6",
- "has-value": "1.0.0",
- "isobject": "3.0.1",
- "set-value": "2.0.0",
- "to-object-path": "0.3.0",
- "union-value": "1.0.0",
- "unset-value": "1.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
- }
- },
- "callsites": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
- "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
- "dev": true
- },
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
- },
- "capture-exit": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz",
- "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=",
- "requires": {
- "rsvp": "3.6.2"
- }
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "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,
- "optional": 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",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "2.2.1",
- "escape-string-regexp": "1.0.5",
- "has-ansi": "2.0.0",
- "strip-ansi": "3.0.1",
- "supports-color": "2.0.0"
- }
- },
- "chardet": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
- "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I="
- },
- "ci-info": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz",
- "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==",
- "dev": true
- },
- "class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
- "requires": {
- "arr-union": "3.1.0",
- "define-property": "0.2.5",
- "isobject": "3.0.1",
- "static-extend": "0.1.2"
- },
- "dependencies": {
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "0.1.6"
- }
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
- }
- },
- "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=",
- "requires": {
- "restore-cursor": "2.0.0"
- }
- },
- "cli-width": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
- "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
- },
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "requires": {
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wrap-ansi": "2.1.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "requires": {
- "number-is-nan": "1.0.1"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
- }
- }
- }
- },
- "co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
- "dev": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
- },
- "collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "requires": {
- "map-visit": "1.0.0",
- "object-visit": "1.0.1"
- }
- },
- "color-convert": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz",
- "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==",
- "requires": {
- "color-name": "1.1.1"
- }
- },
- "color-name": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz",
- "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok="
- },
- "color-support": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
- },
- "combined-stream": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
- "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
- "dev": true,
- "requires": {
- "delayed-stream": "1.0.0"
- }
- },
- "commander": {
- "version": "2.16.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz",
- "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew=="
- },
- "commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
- },
- "compare-versions": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.3.0.tgz",
- "integrity": "sha512-MAAAIOdi2s4Gl6rZ76PNcUa9IOYB+5ICdT41o5uMRf09aEu/F9RK+qhe8RjXNPwcTjGV7KU7h2P/fljThFVqyQ==",
- "dev": true
- },
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
- },
- "compressible": {
- "version": "2.0.14",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz",
- "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=",
- "requires": {
- "mime-db": "1.35.0"
- },
- "dependencies": {
- "mime-db": {
- "version": "1.35.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz",
- "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg=="
- }
- }
- },
- "compression": {
- "version": "1.7.2",
- "resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz",
- "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=",
- "requires": {
- "accepts": "1.3.5",
- "bytes": "3.0.0",
- "compressible": "2.0.14",
- "debug": "2.6.9",
- "on-headers": "1.0.1",
- "safe-buffer": "5.1.1",
- "vary": "1.1.2"
- }
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
- },
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "requires": {
- "buffer-from": "1.1.0",
- "inherits": "2.0.3",
- "readable-stream": "2.3.6",
- "typedarray": "0.0.6"
- }
- },
- "connect": {
- "version": "3.6.6",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
- "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=",
- "requires": {
- "debug": "2.6.9",
- "finalhandler": "1.1.0",
- "parseurl": "1.3.2",
- "utils-merge": "1.0.1"
- }
- },
- "convert-source-map": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
- "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU="
- },
- "copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
- },
- "core-js": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
- "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
- },
- "create-react-class": {
- "version": "15.6.3",
- "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz",
- "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==",
- "requires": {
- "fbjs": "0.8.17",
- "loose-envify": "1.4.0",
- "object-assign": "4.1.1"
- }
- },
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "requires": {
- "lru-cache": "4.1.3",
- "shebang-command": "1.2.0",
- "which": "1.3.1"
- }
- },
- "cssom": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz",
- "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==",
- "dev": true
- },
- "cssstyle": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.3.1.tgz",
- "integrity": "sha512-tNvaxM5blOnxanyxI6panOsnfiyLRj3HV4qjqqS45WPNS1usdYWRUQjqTEEELK73lpeP/1KoIGYUwrBn/VcECA==",
- "dev": true,
- "requires": {
- "cssom": "0.3.4"
- }
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "requires": {
- "assert-plus": "1.0.0"
- }
- },
- "data-urls": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.0.0.tgz",
- "integrity": "sha512-ai40PPQR0Fn1lD2PPie79CibnlMN2AYiDhwFX/rZHVsxbs5kNJSjegqXIprhouGXlRdEnfybva7kqRGnB6mypA==",
- "dev": true,
- "requires": {
- "abab": "1.0.4",
- "whatwg-mimetype": "2.1.0",
- "whatwg-url": "6.5.0"
- }
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
- },
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
- },
- "deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true
- },
- "default-require-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
- "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
- "dev": true,
- "requires": {
- "strip-bom": "3.0.0"
- }
- },
- "define-properties": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
- "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
- "dev": true,
- "requires": {
- "foreach": "2.0.5",
- "object-keys": "1.0.12"
- }
- },
- "define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
- "requires": {
- "is-descriptor": "1.0.2",
- "isobject": "3.0.1"
- },
- "dependencies": {
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
- }
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- }
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
- },
- "delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
- },
- "denodeify": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz",
- "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE="
- },
- "depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
- },
- "destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
- },
- "detect-indent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
- "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
- "requires": {
- "repeating": "2.0.1"
- }
- },
- "detect-newline": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
- "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I="
- },
- "diff": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
- "dev": true
- },
- "dom-walk": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
- "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg="
- },
- "domexception": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
- "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
- "dev": true,
- "requires": {
- "webidl-conversions": "4.0.2"
- }
- },
- "ecc-jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
- "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
- "dev": true,
- "optional": true,
- "requires": {
- "jsbn": "0.1.1"
- }
- },
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
- },
- "encoding": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
- "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
- "requires": {
- "iconv-lite": "0.4.23"
- }
- },
- "envinfo": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-5.10.0.tgz",
- "integrity": "sha512-rXbzXWvnQxy+TcqZlARbWVQwgGVVouVJgFZhLVN5htjLxl1thstrP2ZGi0pXC309AbK7gVOPU+ulz/tmpCI7iw=="
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "requires": {
- "is-arrayish": "0.2.1"
- }
- },
- "errorhandler": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.0.tgz",
- "integrity": "sha1-6rpkyl1UKjEayUX1gt78M2Fl2fQ=",
- "requires": {
- "accepts": "1.3.5",
- "escape-html": "1.0.3"
- }
- },
- "es-abstract": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
- "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
- "dev": true,
- "requires": {
- "es-to-primitive": "1.1.1",
- "function-bind": "1.1.1",
- "has": "1.0.3",
- "is-callable": "1.1.4",
- "is-regex": "1.0.4"
- }
- },
- "es-to-primitive": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
- "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
- "dev": true,
- "requires": {
- "is-callable": "1.1.4",
- "is-date-object": "1.0.1",
- "is-symbol": "1.0.1"
- }
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
- },
- "escodegen": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz",
- "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==",
- "dev": true,
- "requires": {
- "esprima": "3.1.3",
- "estraverse": "4.2.0",
- "esutils": "2.0.2",
- "optionator": "0.8.2",
- "source-map": "0.6.1"
- },
- "dependencies": {
- "esprima": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
- "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
- "dev": true
- },
- "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,
- "optional": true
- }
- }
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- },
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- },
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
- },
- "event-target-shim": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-1.1.1.tgz",
- "integrity": "sha1-qG5e5r2qFgVEddp5fM3fDFVphJE="
- },
- "eventemitter3": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
- "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA=="
- },
- "exec-sh": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz",
- "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==",
- "requires": {
- "merge": "1.2.0"
- }
- },
- "execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "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": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
- "dev": true
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "requires": {
- "is-posix-bracket": "0.1.1"
- }
- },
- "expand-range": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
- "requires": {
- "fill-range": "2.2.4"
- }
- },
- "expect": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/expect/-/expect-23.4.0.tgz",
- "integrity": "sha1-baTsyZwUcSU+cogziYOtHrrbYMM=",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "jest-diff": "23.2.0",
- "jest-get-type": "22.4.3",
- "jest-matcher-utils": "23.2.0",
- "jest-message-util": "23.4.0",
- "jest-regex-util": "23.3.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- }
- }
- },
- "extend": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
- "dev": true
- },
- "extend-shallow": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
- "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
- "requires": {
- "kind-of": "1.1.0"
- }
- },
- "external-editor": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
- "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
- "requires": {
- "chardet": "0.4.2",
- "iconv-lite": "0.4.23",
- "tmp": "0.0.33"
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "requires": {
- "is-extglob": "1.0.0"
- }
- },
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true
- },
- "fancy-log": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
- "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
- "requires": {
- "ansi-gray": "0.1.1",
- "color-support": "1.1.3",
- "time-stamp": "1.1.0"
- }
- },
- "fast-deep-equal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
- "dev": true
- },
- "fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "fb-watchman": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz",
- "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=",
- "requires": {
- "bser": "2.0.0"
- }
- },
- "fbjs": {
- "version": "0.8.17",
- "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
- "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
- "requires": {
- "core-js": "1.2.7",
- "isomorphic-fetch": "2.2.1",
- "loose-envify": "1.4.0",
- "object-assign": "4.1.1",
- "promise": "7.3.1",
- "setimmediate": "1.0.5",
- "ua-parser-js": "0.7.18"
- }
- },
- "fbjs-scripts": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-0.8.3.tgz",
- "integrity": "sha512-aUJ/uEzMIiBYuj/blLp4sVNkQQ7ZEB/lyplG1IzzOmZ83meiWecrGg5jBo4wWrxXmO4RExdtsSV1QkTjPt2Gag==",
- "requires": {
- "ansi-colors": "1.1.0",
- "babel-core": "6.26.3",
- "babel-preset-fbjs": "2.1.4",
- "core-js": "2.5.7",
- "cross-spawn": "5.1.0",
- "fancy-log": "1.3.2",
- "object-assign": "4.1.1",
- "plugin-error": "0.1.2",
- "semver": "5.5.0",
- "through2": "2.0.3"
- },
- "dependencies": {
- "core-js": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
- "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
- }
- }
- },
- "figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
- "requires": {
- "escape-string-regexp": "1.0.5"
- }
- },
- "filename-regex": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
- "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY="
- },
- "fileset": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
- "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
- "dev": true,
- "requires": {
- "glob": "7.1.2",
- "minimatch": "3.0.4"
- }
- },
- "fill-range": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
- "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
- "requires": {
- "is-number": "2.1.0",
- "isobject": "2.1.0",
- "randomatic": "3.0.0",
- "repeat-element": "1.1.2",
- "repeat-string": "1.6.1"
- }
- },
- "finalhandler": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
- "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "on-finished": "2.3.0",
- "parseurl": "1.3.2",
- "statuses": "1.3.1",
- "unpipe": "1.0.0"
- }
- },
- "find-cache-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
- "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
- "requires": {
- "commondir": "1.0.1",
- "make-dir": "1.3.0",
- "pkg-dir": "2.0.0"
- }
- },
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "requires": {
- "locate-path": "2.0.0"
- }
- },
- "for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
- },
- "for-own": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "requires": {
- "for-in": "1.0.2"
- }
- },
- "foreach": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
- "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
- "dev": true
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true
- },
- "form-data": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
- "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
- "dev": true,
- "requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.6",
- "mime-types": "2.1.18"
- }
- },
- "fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "requires": {
- "map-cache": "0.2.2"
- }
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
- },
- "fs-extra": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
- "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
- "requires": {
- "graceful-fs": "4.1.11",
- "jsonfile": "2.4.0",
- "klaw": "1.3.1"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
- },
- "fsevents": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
- "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
- "optional": true,
- "requires": {
- "nan": "2.10.0",
- "node-pre-gyp": "0.10.0"
- },
- "dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "bundled": true,
- "optional": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true
- },
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true
- },
- "are-we-there-yet": {
- "version": "1.1.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "delegates": "1.0.0",
- "readable-stream": "2.3.6"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "requires": {
- "balanced-match": "1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "chownr": {
- "version": "1.0.1",
- "bundled": true,
- "optional": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "debug": {
- "version": "2.6.9",
- "bundled": true,
- "optional": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "deep-extend": {
- "version": "0.5.1",
- "bundled": true,
- "optional": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "detect-libc": {
- "version": "1.0.3",
- "bundled": true,
- "optional": true
- },
- "fs-minipass": {
- "version": "1.2.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "minipass": "2.2.4"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "aproba": "1.2.0",
- "console-control-strings": "1.1.0",
- "has-unicode": "2.0.1",
- "object-assign": "4.1.1",
- "signal-exit": "3.0.2",
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wide-align": "1.1.2"
- }
- },
- "glob": {
- "version": "7.1.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
- }
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "iconv-lite": {
- "version": "0.4.21",
- "bundled": true,
- "optional": true,
- "requires": {
- "safer-buffer": "2.1.2"
- }
- },
- "ignore-walk": {
- "version": "3.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "minimatch": "3.0.4"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "bundled": true
- },
- "ini": {
- "version": "1.3.5",
- "bundled": true,
- "optional": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "requires": {
- "number-is-nan": "1.0.1"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "requires": {
- "brace-expansion": "1.1.11"
- }
- },
- "minimist": {
- "version": "0.0.8",
- "bundled": true
- },
- "minipass": {
- "version": "2.2.4",
- "bundled": true,
- "requires": {
- "safe-buffer": "5.1.1",
- "yallist": "3.0.2"
- }
- },
- "minizlib": {
- "version": "1.1.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "minipass": "2.2.4"
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
- "requires": {
- "minimist": "0.0.8"
- }
- },
- "ms": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "needle": {
- "version": "2.2.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "debug": "2.6.9",
- "iconv-lite": "0.4.21",
- "sax": "1.2.4"
- }
- },
- "node-pre-gyp": {
- "version": "0.10.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "detect-libc": "1.0.3",
- "mkdirp": "0.5.1",
- "needle": "2.2.0",
- "nopt": "4.0.1",
- "npm-packlist": "1.1.10",
- "npmlog": "4.1.2",
- "rc": "1.2.7",
- "rimraf": "2.6.2",
- "semver": "5.5.0",
- "tar": "4.4.1"
- }
- },
- "nopt": {
- "version": "4.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "abbrev": "1.1.1",
- "osenv": "0.1.5"
- }
- },
- "npm-bundled": {
- "version": "1.0.3",
- "bundled": true,
- "optional": true
- },
- "npm-packlist": {
- "version": "1.1.10",
- "bundled": true,
- "optional": true,
- "requires": {
- "ignore-walk": "3.0.1",
- "npm-bundled": "1.0.3"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "are-we-there-yet": "1.1.4",
- "console-control-strings": "1.1.0",
- "gauge": "2.7.4",
- "set-blocking": "2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true
- },
- "object-assign": {
- "version": "4.1.1",
- "bundled": true,
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "requires": {
- "wrappy": "1.0.2"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "osenv": {
- "version": "0.1.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "os-homedir": "1.0.2",
- "os-tmpdir": "1.0.2"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "rc": {
- "version": "1.2.7",
- "bundled": true,
- "optional": true,
- "requires": {
- "deep-extend": "0.5.1",
- "ini": "1.3.5",
- "minimist": "1.2.0",
- "strip-json-comments": "2.0.1"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true
- }
- }
- },
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "2.0.0",
- "safe-buffer": "5.1.1",
- "string_decoder": "1.1.1",
- "util-deprecate": "1.0.2"
- }
- },
- "rimraf": {
- "version": "2.6.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "glob": "7.1.2"
- }
- },
- "safe-buffer": {
- "version": "5.1.1",
- "bundled": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true,
- "optional": true
- },
- "sax": {
- "version": "1.2.4",
- "bundled": true,
- "optional": true
- },
- "semver": {
- "version": "5.5.0",
- "bundled": true,
- "optional": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "optional": true
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "safe-buffer": "5.1.1"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "requires": {
- "ansi-regex": "2.1.1"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "tar": {
- "version": "4.4.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "chownr": "1.0.1",
- "fs-minipass": "1.2.5",
- "minipass": "2.2.4",
- "minizlib": "1.1.0",
- "mkdirp": "0.5.1",
- "safe-buffer": "5.1.1",
- "yallist": "3.0.2"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "wide-align": {
- "version": "1.1.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "string-width": "1.0.2"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true
- },
- "yallist": {
- "version": "3.0.2",
- "bundled": true
- }
- }
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "gauge": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz",
- "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=",
- "requires": {
- "ansi": "0.3.1",
- "has-unicode": "2.0.1",
- "lodash.pad": "4.5.1",
- "lodash.padend": "4.6.1",
- "lodash.padstart": "4.6.1"
- }
- },
- "get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
- },
- "get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
- },
- "get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "requires": {
- "assert-plus": "1.0.0"
- }
- },
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
- }
- },
- "glob-base": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
- "requires": {
- "glob-parent": "2.0.0",
- "is-glob": "2.0.1"
- }
- },
- "glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "requires": {
- "is-glob": "2.0.1"
- }
- },
- "global": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
- "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
- "requires": {
- "min-document": "2.19.0",
- "process": "0.5.2"
- }
- },
- "globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ=="
- },
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
- },
- "growly": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
- "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE="
- },
- "handlebars": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
- "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
- "dev": true,
- "requires": {
- "async": "1.5.2",
- "optimist": "0.6.1",
- "source-map": "0.4.4",
- "uglify-js": "2.8.29"
- },
- "dependencies": {
- "async": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
- "dev": true
- },
- "camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
- "dev": true,
- "optional": true
- },
- "cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "dev": true,
- "optional": true,
- "requires": {
- "center-align": "0.1.3",
- "right-align": "0.1.3",
- "wordwrap": "0.0.2"
- }
- },
- "source-map": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true,
- "requires": {
- "amdefine": "1.0.1"
- }
- },
- "uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
- "dev": true,
- "optional": true,
- "requires": {
- "source-map": "0.5.7",
- "uglify-to-browserify": "1.0.2",
- "yargs": "3.10.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true,
- "optional": true
- }
- }
- },
- "wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
- "dev": true,
- "optional": true
- },
- "yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "dev": true,
- "optional": true,
- "requires": {
- "camelcase": "1.2.1",
- "cliui": "2.1.0",
- "decamelize": "1.2.0",
- "window-size": "0.1.0"
- }
- }
- }
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
- },
- "har-validator": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
- "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
- "dev": true,
- "requires": {
- "ajv": "5.5.2",
- "har-schema": "2.0.0"
- }
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "1.1.1"
- }
- },
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "requires": {
- "ansi-regex": "2.1.1"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
- },
- "has-unicode": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
- },
- "has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "requires": {
- "get-value": "2.0.6",
- "has-values": "1.0.0",
- "isobject": "3.0.1"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
- }
- },
- "has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "requires": {
- "is-number": "3.0.0",
- "kind-of": "4.0.0"
- },
- "dependencies": {
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "home-or-tmp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
- "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
- "requires": {
- "os-homedir": "1.0.2",
- "os-tmpdir": "1.0.2"
- }
- },
- "hosted-git-info": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
- "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w=="
- },
- "html-encoding-sniffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
- "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
- "dev": true,
- "requires": {
- "whatwg-encoding": "1.0.3"
- }
- },
- "http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
- "requires": {
- "depd": "1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": "1.5.0"
- },
- "dependencies": {
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
- }
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "requires": {
- "assert-plus": "1.0.0",
- "jsprim": "1.4.1",
- "sshpk": "1.14.2"
- }
- },
- "iconv-lite": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
- "requires": {
- "safer-buffer": "2.1.2"
- }
- },
- "image-size": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz",
- "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA=="
- },
- "import-local": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz",
- "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==",
- "dev": true,
- "requires": {
- "pkg-dir": "2.0.0",
- "resolve-cwd": "2.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
- },
- "inquirer": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
- "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
- "requires": {
- "ansi-escapes": "3.1.0",
- "chalk": "2.4.1",
- "cli-cursor": "2.1.0",
- "cli-width": "2.2.0",
- "external-editor": "2.2.0",
- "figures": "2.0.0",
- "lodash": "4.17.10",
- "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": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "requires": {
- "ansi-regex": "3.0.0"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "requires": {
- "loose-envify": "1.4.0"
- }
- },
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-builtin-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "requires": {
- "builtin-modules": "1.1.1"
- }
- },
- "is-callable": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
- "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
- "dev": true
- },
- "is-ci": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz",
- "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==",
- "dev": true,
- "requires": {
- "ci-info": "1.1.3"
- }
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "is-date-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
- "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
- "dev": true
- },
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
- }
- }
- },
- "is-dotfile": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
- "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE="
- },
- "is-equal-shallow": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
- "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
- "requires": {
- "is-primitive": "2.0.0"
- }
- },
- "is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-finite": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "requires": {
- "number-is-nan": "1.0.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="
- },
- "is-generator-fn": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz",
- "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=",
- "dev": true
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "1.0.0"
- }
- },
- "is-number": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "requires": {
- "isobject": "3.0.1"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
- }
- },
- "is-posix-bracket": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
- "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q="
- },
- "is-primitive": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
- "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU="
- },
- "is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
- },
- "is-regex": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
- "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
- "dev": true,
- "requires": {
- "has": "1.0.3"
- }
- },
- "is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
- },
- "is-symbol": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
- "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
- "dev": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
- "dev": true
- },
- "is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "isomorphic-fetch": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
- "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
- "requires": {
- "node-fetch": "1.7.3",
- "whatwg-fetch": "2.0.4"
- }
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
- },
- "istanbul-api": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.1.tgz",
- "integrity": "sha512-duj6AlLcsWNwUpfyfHt0nWIeRiZpuShnP40YTxOGQgtaN8fd6JYSxsvxUphTDy8V5MfDXo4s/xVCIIvVCO808g==",
- "dev": true,
- "requires": {
- "async": "2.6.1",
- "compare-versions": "3.3.0",
- "fileset": "2.0.3",
- "istanbul-lib-coverage": "1.2.0",
- "istanbul-lib-hook": "1.2.1",
- "istanbul-lib-instrument": "1.10.1",
- "istanbul-lib-report": "1.1.4",
- "istanbul-lib-source-maps": "1.2.5",
- "istanbul-reports": "1.3.0",
- "js-yaml": "3.12.0",
- "mkdirp": "0.5.1",
- "once": "1.4.0"
- }
- },
- "istanbul-lib-coverage": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz",
- "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==",
- "dev": true
- },
- "istanbul-lib-hook": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.1.tgz",
- "integrity": "sha512-eLAMkPG9FU0v5L02lIkcj/2/Zlz9OuluaXikdr5iStk8FDbSwAixTK9TkYxbF0eNnzAJTwM2fkV2A1tpsIp4Jg==",
- "dev": true,
- "requires": {
- "append-transform": "1.0.0"
- }
- },
- "istanbul-lib-instrument": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz",
- "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==",
- "dev": true,
- "requires": {
- "babel-generator": "6.26.1",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "istanbul-lib-coverage": "1.2.0",
- "semver": "5.5.0"
- }
- },
- "istanbul-lib-report": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz",
- "integrity": "sha512-Azqvq5tT0U09nrncK3q82e/Zjkxa4tkFZv7E6VcqP0QCPn6oNljDPfrZEC/umNXds2t7b8sRJfs6Kmpzt8m2kA==",
- "dev": true,
- "requires": {
- "istanbul-lib-coverage": "1.2.0",
- "mkdirp": "0.5.1",
- "path-parse": "1.0.5",
- "supports-color": "3.2.3"
- },
- "dependencies": {
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
- "dev": true
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "dev": true,
- "requires": {
- "has-flag": "1.0.0"
- }
- }
- }
- },
- "istanbul-lib-source-maps": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz",
- "integrity": "sha512-8O2T/3VhrQHn0XcJbP1/GN7kXMiRAlPi+fj3uEHrjBD8Oz7Py0prSC25C09NuAZS6bgW1NNKAvCSHZXB0irSGA==",
- "dev": true,
- "requires": {
- "debug": "3.1.0",
- "istanbul-lib-coverage": "1.2.0",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2",
- "source-map": "0.5.7"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "istanbul-reports": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.3.0.tgz",
- "integrity": "sha512-y2Z2IMqE1gefWUaVjrBm0mSKvUkaBy9Vqz8iwr/r40Y9hBbIteH5wqHG/9DLTfJ9xUnUT2j7A3+VVJ6EaYBllA==",
- "dev": true,
- "requires": {
- "handlebars": "4.0.11"
- }
- },
- "jest": {
- "version": "23.4.1",
- "resolved": "https://registry.npmjs.org/jest/-/jest-23.4.1.tgz",
- "integrity": "sha512-HTOuA9epknN7RKdzhmp9qrbP0z3TibAMXI+sluLOcrEoF54ZCG8/urFB2DK/sOINcMeyX6epMUqka8i0+d0xOA==",
- "dev": true,
- "requires": {
- "import-local": "1.0.0",
- "jest-cli": "23.4.1"
- },
- "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
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
- "dev": true,
- "requires": {
- "string-width": "2.1.1",
- "strip-ansi": "4.0.0",
- "wrap-ansi": "2.1.0"
- }
- },
- "jest-cli": {
- "version": "23.4.1",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-23.4.1.tgz",
- "integrity": "sha512-Cmd7bex+kYmMGwGrIh/crwUieUFr+4PCTaK32tEA0dm0wklXV8zGgWh8n+8WbhsFPNzacolxdtcfBKIorcV5FQ==",
- "dev": true,
- "requires": {
- "ansi-escapes": "3.1.0",
- "chalk": "2.4.1",
- "exit": "0.1.2",
- "glob": "7.1.2",
- "graceful-fs": "4.1.11",
- "import-local": "1.0.0",
- "is-ci": "1.1.0",
- "istanbul-api": "1.3.1",
- "istanbul-lib-coverage": "1.2.0",
- "istanbul-lib-instrument": "1.10.1",
- "istanbul-lib-source-maps": "1.2.5",
- "jest-changed-files": "23.4.0",
- "jest-config": "23.4.1",
- "jest-environment-jsdom": "23.4.0",
- "jest-get-type": "22.4.3",
- "jest-haste-map": "23.4.1",
- "jest-message-util": "23.4.0",
- "jest-regex-util": "23.3.0",
- "jest-resolve-dependencies": "23.4.1",
- "jest-runner": "23.4.1",
- "jest-runtime": "23.4.1",
- "jest-snapshot": "23.4.1",
- "jest-util": "23.4.0",
- "jest-validate": "23.4.0",
- "jest-watcher": "23.4.0",
- "jest-worker": "23.2.0",
- "micromatch": "2.3.11",
- "node-notifier": "5.2.1",
- "prompts": "0.1.12",
- "realpath-native": "1.0.1",
- "rimraf": "2.6.2",
- "slash": "1.0.0",
- "string-length": "2.0.0",
- "strip-ansi": "4.0.0",
- "which": "1.3.1",
- "yargs": "11.1.0"
- }
- },
- "jest-docblock": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz",
- "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=",
- "dev": true,
- "requires": {
- "detect-newline": "2.1.0"
- }
- },
- "jest-haste-map": {
- "version": "23.4.1",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.4.1.tgz",
- "integrity": "sha512-PGQxOEGAfRbTyJkmZeOKkVSs+KVeWgG625p89KUuq+sIIchY5P8iPIIc+Hw2tJJPBzahU3qopw1kF/qyhDdNBw==",
- "dev": true,
- "requires": {
- "fb-watchman": "2.0.0",
- "graceful-fs": "4.1.11",
- "jest-docblock": "23.2.0",
- "jest-serializer": "23.0.1",
- "jest-worker": "23.2.0",
- "micromatch": "2.3.11",
- "sane": "2.5.2"
- }
- },
- "jest-worker": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz",
- "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=",
- "dev": true,
- "requires": {
- "merge-stream": "1.0.1"
- }
- },
- "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": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- },
- "yargs": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz",
- "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==",
- "dev": true,
- "requires": {
- "cliui": "4.1.0",
- "decamelize": "1.2.0",
- "find-up": "2.1.0",
- "get-caller-file": "1.0.3",
- "os-locale": "2.1.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": "9.0.2"
- }
- },
- "yargs-parser": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
- "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
- "dev": true,
- "requires": {
- "camelcase": "4.1.0"
- }
- }
- }
- },
- "jest-changed-files": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-23.4.0.tgz",
- "integrity": "sha1-8bME+YwjWvXZox7FJCYsXk3jxv8=",
- "dev": true,
- "requires": {
- "throat": "4.1.0"
- }
- },
- "jest-config": {
- "version": "23.4.1",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-23.4.1.tgz",
- "integrity": "sha512-OT29qlcw9Iw7u0PC04wD9tjLJL4vpGdMZrrHMFwYSO3HxOikbHywjmtQ7rntW4qvBcpbi7iCMTPPRmpDjImQEw==",
- "dev": true,
- "requires": {
- "babel-core": "6.26.3",
- "babel-jest": "23.4.0",
- "chalk": "2.4.1",
- "glob": "7.1.2",
- "jest-environment-jsdom": "23.4.0",
- "jest-environment-node": "23.4.0",
- "jest-get-type": "22.4.3",
- "jest-jasmine2": "23.4.1",
- "jest-regex-util": "23.3.0",
- "jest-resolve": "23.4.1",
- "jest-util": "23.4.0",
- "jest-validate": "23.4.0",
- "pretty-format": "23.2.0"
- },
- "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
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "pretty-format": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.2.0.tgz",
- "integrity": "sha1-OwqqY8AYpTWDNzwcs6XZbMXoMBc=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0",
- "ansi-styles": "3.2.1"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "jest-diff": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.2.0.tgz",
- "integrity": "sha1-nyz0tR4Sx5FVAgCrwWtHEwrxBio=",
- "dev": true,
- "requires": {
- "chalk": "2.4.1",
- "diff": "3.5.0",
- "jest-get-type": "22.4.3",
- "pretty-format": "23.2.0"
- },
- "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
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "pretty-format": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.2.0.tgz",
- "integrity": "sha1-OwqqY8AYpTWDNzwcs6XZbMXoMBc=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0",
- "ansi-styles": "3.2.1"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "jest-docblock": {
- "version": "23.0.1",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.0.1.tgz",
- "integrity": "sha1-3t3RgzO+XcJBUmCgTvP86SdrVyU=",
- "requires": {
- "detect-newline": "2.1.0"
- }
- },
- "jest-each": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-23.4.0.tgz",
- "integrity": "sha1-L6nt2J2qGk7cn/m/YGKja3E0UUM=",
- "dev": true,
- "requires": {
- "chalk": "2.4.1",
- "pretty-format": "23.2.0"
- },
- "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
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "pretty-format": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.2.0.tgz",
- "integrity": "sha1-OwqqY8AYpTWDNzwcs6XZbMXoMBc=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0",
- "ansi-styles": "3.2.1"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "jest-environment-jsdom": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz",
- "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=",
- "dev": true,
- "requires": {
- "jest-mock": "23.2.0",
- "jest-util": "23.4.0",
- "jsdom": "11.11.0"
- }
- },
- "jest-environment-node": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-23.4.0.tgz",
- "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=",
- "dev": true,
- "requires": {
- "jest-mock": "23.2.0",
- "jest-util": "23.4.0"
- }
- },
- "jest-get-type": {
- "version": "22.4.3",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz",
- "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==",
- "dev": true
- },
- "jest-haste-map": {
- "version": "23.1.0",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.1.0.tgz",
- "integrity": "sha1-GObH1ajScTb5G32YUvhd4McHTEk=",
- "requires": {
- "fb-watchman": "2.0.0",
- "graceful-fs": "4.1.11",
- "jest-docblock": "23.0.1",
- "jest-serializer": "23.0.1",
- "jest-worker": "23.0.1",
- "micromatch": "2.3.11",
- "sane": "2.5.2"
- }
- },
- "jest-jasmine2": {
- "version": "23.4.1",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-23.4.1.tgz",
- "integrity": "sha512-nHmRgTtM9fuaK3RBz2z4j9mYVEJwB7FdoflQSvrwHV8mCT5z4DeHoKCvPp2R27F8fZTYJUYVMb36xn+ydg0tfA==",
- "dev": true,
- "requires": {
- "chalk": "2.4.1",
- "co": "4.6.0",
- "expect": "23.4.0",
- "is-generator-fn": "1.0.0",
- "jest-diff": "23.2.0",
- "jest-each": "23.4.0",
- "jest-matcher-utils": "23.2.0",
- "jest-message-util": "23.4.0",
- "jest-snapshot": "23.4.1",
- "jest-util": "23.4.0",
- "pretty-format": "23.2.0"
- },
- "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
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "pretty-format": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.2.0.tgz",
- "integrity": "sha1-OwqqY8AYpTWDNzwcs6XZbMXoMBc=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0",
- "ansi-styles": "3.2.1"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "jest-leak-detector": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-23.2.0.tgz",
- "integrity": "sha1-wonZYdxjjxQ1fU75bgQx7MGqN30=",
- "dev": true,
- "requires": {
- "pretty-format": "23.2.0"
- },
- "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
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "pretty-format": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.2.0.tgz",
- "integrity": "sha1-OwqqY8AYpTWDNzwcs6XZbMXoMBc=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0",
- "ansi-styles": "3.2.1"
- }
- }
- }
- },
- "jest-matcher-utils": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.2.0.tgz",
- "integrity": "sha1-TUmB8jIT6Tnjzt8j3DTHR7WuGRM=",
- "dev": true,
- "requires": {
- "chalk": "2.4.1",
- "jest-get-type": "22.4.3",
- "pretty-format": "23.2.0"
- },
- "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
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "pretty-format": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.2.0.tgz",
- "integrity": "sha1-OwqqY8AYpTWDNzwcs6XZbMXoMBc=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0",
- "ansi-styles": "3.2.1"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "jest-message-util": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz",
- "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=",
- "dev": true,
- "requires": {
- "@babel/code-frame": "7.0.0-beta.47",
- "chalk": "2.4.1",
- "micromatch": "2.3.11",
- "slash": "1.0.0",
- "stack-utils": "1.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "jest-mock": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-23.2.0.tgz",
- "integrity": "sha1-rRxg8p6HGdR8JuETgJi20YsmETQ=",
- "dev": true
- },
- "jest-regex-util": {
- "version": "23.3.0",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-23.3.0.tgz",
- "integrity": "sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U=",
- "dev": true
- },
- "jest-resolve": {
- "version": "23.4.1",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.4.1.tgz",
- "integrity": "sha512-VNk4YRNR5gsHhNS0Lp46/DzTT11e+ecbUC61ikE593cKbtdrhrMO+zXkOJaE8YDD5sHxH9W6OfssNn4FkZBzZQ==",
- "dev": true,
- "requires": {
- "browser-resolve": "1.11.3",
- "chalk": "2.4.1",
- "realpath-native": "1.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "jest-resolve-dependencies": {
- "version": "23.4.1",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-23.4.1.tgz",
- "integrity": "sha512-Jp0wgNJg3OYPvXJfNVX4k4/niwGS6ARuKacum/vue48+4A1XPJ2H3aVFuNb3gUaiB/6Le7Zyl8AUb4MELBfcmg==",
- "dev": true,
- "requires": {
- "jest-regex-util": "23.3.0",
- "jest-snapshot": "23.4.1"
- }
- },
- "jest-runner": {
- "version": "23.4.1",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-23.4.1.tgz",
- "integrity": "sha512-78KyhObsx0VEuUQ74ikGt68NpP6PApTjGpJPSyZ7AvwOFRqFlxdHpCU/lFPQxW/fLEghl4irz9OHjRLGcGFNyQ==",
- "dev": true,
- "requires": {
- "exit": "0.1.2",
- "graceful-fs": "4.1.11",
- "jest-config": "23.4.1",
- "jest-docblock": "23.2.0",
- "jest-haste-map": "23.4.1",
- "jest-jasmine2": "23.4.1",
- "jest-leak-detector": "23.2.0",
- "jest-message-util": "23.4.0",
- "jest-runtime": "23.4.1",
- "jest-util": "23.4.0",
- "jest-worker": "23.2.0",
- "source-map-support": "0.5.6",
- "throat": "4.1.0"
- },
- "dependencies": {
- "jest-docblock": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz",
- "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=",
- "dev": true,
- "requires": {
- "detect-newline": "2.1.0"
- }
- },
- "jest-haste-map": {
- "version": "23.4.1",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.4.1.tgz",
- "integrity": "sha512-PGQxOEGAfRbTyJkmZeOKkVSs+KVeWgG625p89KUuq+sIIchY5P8iPIIc+Hw2tJJPBzahU3qopw1kF/qyhDdNBw==",
- "dev": true,
- "requires": {
- "fb-watchman": "2.0.0",
- "graceful-fs": "4.1.11",
- "jest-docblock": "23.2.0",
- "jest-serializer": "23.0.1",
- "jest-worker": "23.2.0",
- "micromatch": "2.3.11",
- "sane": "2.5.2"
- }
- },
- "jest-worker": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz",
- "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=",
- "dev": true,
- "requires": {
- "merge-stream": "1.0.1"
- }
- },
- "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
- },
- "source-map-support": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz",
- "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==",
- "dev": true,
- "requires": {
- "buffer-from": "1.1.0",
- "source-map": "0.6.1"
- }
- }
- }
- },
- "jest-runtime": {
- "version": "23.4.1",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-23.4.1.tgz",
- "integrity": "sha512-fnInrsEAbLpNctQa+RLnKZyQLMmb5u4YdoT9CbRKWhjMY7q6ledOu+x+ORZ3glQOK/vJIS701RaJRp1pc5ziaA==",
- "dev": true,
- "requires": {
- "babel-core": "6.26.3",
- "babel-plugin-istanbul": "4.1.6",
- "chalk": "2.4.1",
- "convert-source-map": "1.5.1",
- "exit": "0.1.2",
- "fast-json-stable-stringify": "2.0.0",
- "graceful-fs": "4.1.11",
- "jest-config": "23.4.1",
- "jest-haste-map": "23.4.1",
- "jest-message-util": "23.4.0",
- "jest-regex-util": "23.3.0",
- "jest-resolve": "23.4.1",
- "jest-snapshot": "23.4.1",
- "jest-util": "23.4.0",
- "jest-validate": "23.4.0",
- "micromatch": "2.3.11",
- "realpath-native": "1.0.1",
- "slash": "1.0.0",
- "strip-bom": "3.0.0",
- "write-file-atomic": "2.3.0",
- "yargs": "11.1.0"
- },
- "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
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
- "dev": true,
- "requires": {
- "string-width": "2.1.1",
- "strip-ansi": "4.0.0",
- "wrap-ansi": "2.1.0"
- }
- },
- "jest-docblock": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz",
- "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=",
- "dev": true,
- "requires": {
- "detect-newline": "2.1.0"
- }
- },
- "jest-haste-map": {
- "version": "23.4.1",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.4.1.tgz",
- "integrity": "sha512-PGQxOEGAfRbTyJkmZeOKkVSs+KVeWgG625p89KUuq+sIIchY5P8iPIIc+Hw2tJJPBzahU3qopw1kF/qyhDdNBw==",
- "dev": true,
- "requires": {
- "fb-watchman": "2.0.0",
- "graceful-fs": "4.1.11",
- "jest-docblock": "23.2.0",
- "jest-serializer": "23.0.1",
- "jest-worker": "23.2.0",
- "micromatch": "2.3.11",
- "sane": "2.5.2"
- }
- },
- "jest-worker": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz",
- "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=",
- "dev": true,
- "requires": {
- "merge-stream": "1.0.1"
- }
- },
- "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": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- },
- "write-file-atomic": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz",
- "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==",
- "dev": true,
- "requires": {
- "graceful-fs": "4.1.11",
- "imurmurhash": "0.1.4",
- "signal-exit": "3.0.2"
- }
- },
- "yargs": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz",
- "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==",
- "dev": true,
- "requires": {
- "cliui": "4.1.0",
- "decamelize": "1.2.0",
- "find-up": "2.1.0",
- "get-caller-file": "1.0.3",
- "os-locale": "2.1.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": "9.0.2"
- }
- },
- "yargs-parser": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
- "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
- "dev": true,
- "requires": {
- "camelcase": "4.1.0"
- }
- }
- }
- },
- "jest-serializer": {
- "version": "23.0.1",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz",
- "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU="
- },
- "jest-snapshot": {
- "version": "23.4.1",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.4.1.tgz",
- "integrity": "sha512-oMjaQ4vB4uT211zx00X0R7hg+oLVRDvhVKiC6+vSg7Be9S/AmkDMCVUoaPcLRK/0NkZBTzrh4WCzrSZgUEZW3g==",
- "dev": true,
- "requires": {
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "chalk": "2.4.1",
- "jest-diff": "23.2.0",
- "jest-matcher-utils": "23.2.0",
- "jest-message-util": "23.4.0",
- "jest-resolve": "23.4.1",
- "mkdirp": "0.5.1",
- "natural-compare": "1.4.0",
- "pretty-format": "23.2.0",
- "semver": "5.5.0"
- },
- "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
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "pretty-format": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.2.0.tgz",
- "integrity": "sha1-OwqqY8AYpTWDNzwcs6XZbMXoMBc=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0",
- "ansi-styles": "3.2.1"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "jest-util": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz",
- "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=",
- "dev": true,
- "requires": {
- "callsites": "2.0.0",
- "chalk": "2.4.1",
- "graceful-fs": "4.1.11",
- "is-ci": "1.1.0",
- "jest-message-util": "23.4.0",
- "mkdirp": "0.5.1",
- "slash": "1.0.0",
- "source-map": "0.6.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "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
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "jest-validate": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.4.0.tgz",
- "integrity": "sha1-2W7t4B7wOskJwAnpyORVGX1IwgE=",
- "dev": true,
- "requires": {
- "chalk": "2.4.1",
- "jest-get-type": "22.4.3",
- "leven": "2.1.0",
- "pretty-format": "23.2.0"
- },
- "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
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "pretty-format": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.2.0.tgz",
- "integrity": "sha1-OwqqY8AYpTWDNzwcs6XZbMXoMBc=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0",
- "ansi-styles": "3.2.1"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "jest-watcher": {
- "version": "23.4.0",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-23.4.0.tgz",
- "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=",
- "dev": true,
- "requires": {
- "ansi-escapes": "3.1.0",
- "chalk": "2.4.1",
- "string-length": "2.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.2"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.4.0"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "jest-worker": {
- "version": "23.0.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.0.1.tgz",
- "integrity": "sha1-nmSd2WP/QEYCb5HEAX8Dmmqkp7w=",
- "requires": {
- "merge-stream": "1.0.1"
- }
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "js-yaml": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
- "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
- "dev": true,
- "requires": {
- "argparse": "1.0.10",
- "esprima": "4.0.1"
- }
- },
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true,
- "optional": true
- },
- "jsdom": {
- "version": "11.11.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.11.0.tgz",
- "integrity": "sha512-ou1VyfjwsSuWkudGxb03FotDajxAto6USAlmMZjE2lc0jCznt7sBWkhfRBRaWwbnmDqdMSTKTLT5d9sBFkkM7A==",
- "dev": true,
- "requires": {
- "abab": "1.0.4",
- "acorn": "5.7.1",
- "acorn-globals": "4.1.0",
- "array-equal": "1.0.0",
- "cssom": "0.3.4",
- "cssstyle": "0.3.1",
- "data-urls": "1.0.0",
- "domexception": "1.0.1",
- "escodegen": "1.11.0",
- "html-encoding-sniffer": "1.0.2",
- "left-pad": "1.3.0",
- "nwsapi": "2.0.5",
- "parse5": "4.0.0",
- "pn": "1.1.0",
- "request": "2.87.0",
- "request-promise-native": "1.0.5",
- "sax": "1.2.4",
- "symbol-tree": "3.2.2",
- "tough-cookie": "2.4.3",
- "w3c-hr-time": "1.0.1",
- "webidl-conversions": "4.0.2",
- "whatwg-encoding": "1.0.3",
- "whatwg-mimetype": "2.1.0",
- "whatwg-url": "6.5.0",
- "ws": "4.1.0",
- "xml-name-validator": "3.0.0"
- },
- "dependencies": {
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
- "dev": true
- },
- "ws": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz",
- "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==",
- "dev": true,
- "requires": {
- "async-limiter": "1.0.0",
- "safe-buffer": "5.1.1"
- }
- }
- }
- },
- "jsesc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
- "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s="
- },
- "json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
- "dev": true
- },
- "json-stable-stringify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
- "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
- "requires": {
- "jsonify": "0.0.0"
- }
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true
- },
- "json5": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
- },
- "jsonfile": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
- "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
- "requires": {
- "graceful-fs": "4.1.11"
- }
- },
- "jsonify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
- "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
- },
- "jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "dev": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "kind-of": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
- "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ="
- },
- "klaw": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
- "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
- "requires": {
- "graceful-fs": "4.1.11"
- }
- },
- "kleur": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-1.0.1.tgz",
- "integrity": "sha512-8srIZ5BK5PCJw1L/JN741xgNfSjuQNK9ImYbYzv7ZUD3WPfuywaY+yd7lQOphJ+2vwXnMLnRZoAh5X+orRt4LQ==",
- "dev": true
- },
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
- "dev": true,
- "optional": true
- },
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "requires": {
- "invert-kv": "1.0.0"
- }
- },
- "left-pad": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz",
- "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA=="
- },
- "leven": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
- "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
- "dev": true
- },
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true,
- "requires": {
- "prelude-ls": "1.1.2",
- "type-check": "0.3.2"
- }
- },
- "load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "requires": {
- "graceful-fs": "4.1.11",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "strip-bom": "3.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
- }
- }
- },
- "locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "requires": {
- "p-locate": "2.0.0",
- "path-exists": "3.0.0"
- }
- },
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
- },
- "lodash.pad": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz",
- "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA="
- },
- "lodash.padend": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz",
- "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4="
- },
- "lodash.padstart": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz",
- "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs="
- },
- "lodash.sortby": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
- "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
- "dev": true
- },
- "lodash.throttle": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
- "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ="
- },
- "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.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "requires": {
- "js-tokens": "4.0.0"
- }
- },
- "lru-cache": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
- "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
- "requires": {
- "pseudomap": "1.0.2",
- "yallist": "2.1.2"
- }
- },
- "make-dir": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
- "requires": {
- "pify": "3.0.0"
- }
- },
- "makeerror": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
- "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
- "requires": {
- "tmpl": "1.0.4"
- }
- },
- "map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
- },
- "map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "requires": {
- "object-visit": "1.0.1"
- }
- },
- "math-random": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
- "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w="
- },
- "mem": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
- "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
- "requires": {
- "mimic-fn": "1.2.0"
- }
- },
- "merge": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz",
- "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo="
- },
- "merge-stream": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
- "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
- "requires": {
- "readable-stream": "2.3.6"
- }
- },
- "metro": {
- "version": "0.38.3",
- "resolved": "https://registry.npmjs.org/metro/-/metro-0.38.3.tgz",
- "integrity": "sha512-1oGaZiysRwrpQLYXAZ2pOS5KxzMNz4s7q2xO/62urtSDfmtZm2fF373FBbIyfQ7KLcX5ElAsF+JZGPAvgLX1aA==",
- "requires": {
- "@babel/core": "7.0.0-beta.47",
- "@babel/generator": "7.0.0-beta.47",
- "@babel/helper-remap-async-to-generator": "7.0.0-beta.47",
- "@babel/plugin-external-helpers": "7.0.0-beta.47",
- "@babel/plugin-proposal-class-properties": "7.0.0-beta.47",
- "@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.47",
- "@babel/plugin-syntax-dynamic-import": "7.0.0-beta.47",
- "@babel/plugin-syntax-nullish-coalescing-operator": "7.0.0-beta.47",
- "@babel/plugin-transform-arrow-functions": "7.0.0-beta.47",
- "@babel/plugin-transform-async-to-generator": "7.0.0-beta.47",
- "@babel/plugin-transform-block-scoping": "7.0.0-beta.47",
- "@babel/plugin-transform-classes": "7.0.0-beta.47",
- "@babel/plugin-transform-computed-properties": "7.0.0-beta.47",
- "@babel/plugin-transform-destructuring": "7.0.0-beta.47",
- "@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.47",
- "@babel/plugin-transform-flow-strip-types": "7.0.0-beta.47",
- "@babel/plugin-transform-for-of": "7.0.0-beta.47",
- "@babel/plugin-transform-function-name": "7.0.0-beta.47",
- "@babel/plugin-transform-literals": "7.0.0-beta.47",
- "@babel/plugin-transform-modules-commonjs": "7.0.0-beta.47",
- "@babel/plugin-transform-object-assign": "7.0.0-beta.47",
- "@babel/plugin-transform-parameters": "7.0.0-beta.47",
- "@babel/plugin-transform-react-display-name": "7.0.0-beta.47",
- "@babel/plugin-transform-react-jsx": "7.0.0-beta.47",
- "@babel/plugin-transform-react-jsx-source": "7.0.0-beta.47",
- "@babel/plugin-transform-regenerator": "7.0.0-beta.47",
- "@babel/plugin-transform-shorthand-properties": "7.0.0-beta.47",
- "@babel/plugin-transform-spread": "7.0.0-beta.47",
- "@babel/plugin-transform-template-literals": "7.0.0-beta.47",
- "@babel/plugin-transform-unicode-regex": "7.0.0-beta.47",
- "@babel/register": "7.0.0-beta.47",
- "@babel/template": "7.0.0-beta.47",
- "@babel/traverse": "7.0.0-beta.47",
- "@babel/types": "7.0.0-beta.47",
- "absolute-path": "0.0.0",
- "async": "2.6.1",
- "babel-core": "6.26.3",
- "babel-plugin-external-helpers": "6.22.0",
- "babel-plugin-transform-flow-strip-types": "6.22.0",
- "babel-preset-es2015-node": "6.1.1",
- "babel-preset-fbjs": "2.1.4",
- "babel-preset-react-native": "5.0.2",
- "babel-register": "6.26.0",
- "babylon": "7.0.0-beta.47",
- "chalk": "1.1.3",
- "concat-stream": "1.6.2",
- "connect": "3.6.6",
- "debug": "2.6.9",
- "denodeify": "1.2.1",
- "eventemitter3": "3.1.0",
- "fbjs": "0.8.17",
- "fs-extra": "1.0.0",
- "graceful-fs": "4.1.11",
- "image-size": "0.6.3",
- "jest-docblock": "23.0.1",
- "jest-haste-map": "23.1.0",
- "jest-worker": "23.0.1",
- "json-stable-stringify": "1.0.1",
- "json5": "0.4.0",
- "left-pad": "1.3.0",
- "lodash.throttle": "4.1.1",
- "merge-stream": "1.0.1",
- "metro-babel-register": "0.38.3",
- "metro-babel7-plugin-react-transform": "0.38.3",
- "metro-cache": "0.38.3",
- "metro-core": "0.38.3",
- "metro-minify-uglify": "0.38.3",
- "metro-resolver": "0.38.3",
- "metro-source-map": "0.38.3",
- "mime-types": "2.1.11",
- "mkdirp": "0.5.1",
- "node-fetch": "1.7.3",
- "react-transform-hmr": "1.0.4",
- "resolve": "1.8.1",
- "rimraf": "2.6.2",
- "serialize-error": "2.1.0",
- "source-map": "0.5.7",
- "temp": "0.8.3",
- "throat": "4.1.0",
- "wordwrap": "1.0.0",
- "write-file-atomic": "1.3.4",
- "ws": "1.1.5",
- "xpipe": "1.0.5",
- "yargs": "9.0.1"
- },
- "dependencies": {
- "babylon": {
- "version": "7.0.0-beta.47",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz",
- "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ=="
- },
- "json5": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz",
- "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0="
- },
- "mime-db": {
- "version": "1.23.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz",
- "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk="
- },
- "mime-types": {
- "version": "2.1.11",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz",
- "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=",
- "requires": {
- "mime-db": "1.23.0"
- }
- }
- }
- },
- "metro-babel-register": {
- "version": "0.38.3",
- "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.38.3.tgz",
- "integrity": "sha512-YzvMTpu4o6NXq4LQzPBkp5/FqrIowfqauJfHFzT3zsj9Kd4MFgOtfOVMAx7ymnKHtXlb0ntIDkQ8EnpAwUgTEg==",
- "requires": {
- "@babel/plugin-proposal-class-properties": "7.0.0-beta.47",
- "@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.47",
- "@babel/plugin-proposal-optional-chaining": "7.0.0-beta.47",
- "@babel/plugin-transform-async-to-generator": "7.0.0-beta.47",
- "@babel/plugin-transform-flow-strip-types": "7.0.0-beta.47",
- "@babel/plugin-transform-modules-commonjs": "7.0.0-beta.47",
- "@babel/register": "7.0.0-beta.47",
- "core-js": "2.5.7",
- "escape-string-regexp": "1.0.5"
- },
- "dependencies": {
- "core-js": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
- "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
- }
- }
- },
- "metro-babel7-plugin-react-transform": {
- "version": "0.38.3",
- "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.38.3.tgz",
- "integrity": "sha512-lgIN+nqiPBu/Ltkz2+gcdsVg4UOocj8K1hHzdAx+PvQjsIKmX/Oybh9KG7d04PoxV3aKJHeXG2Z9f+0XIOgMeQ==",
- "requires": {
- "@babel/helper-module-imports": "7.0.0-beta.47",
- "lodash": "4.17.10"
- }
- },
- "metro-cache": {
- "version": "0.38.3",
- "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.38.3.tgz",
- "integrity": "sha512-SAPtI6+EWgPKOKVunhbPN7FsIo/0FCQueisi28WTjuJNbcEbfBaJiMLkxJWEXDWYgexI+9N2CUTb4qyfk4rZ1A==",
- "requires": {
- "jest-serializer": "23.0.1",
- "metro-core": "0.38.3",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2"
- }
- },
- "metro-core": {
- "version": "0.38.3",
- "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.38.3.tgz",
- "integrity": "sha512-H7jcjjpY/aVqSDQhuwhZ5FM6D8eB4JwcbnDNmbff2h5UAQSQ+EjAcBBhko4d7nx6Qo7LDAQIhV8fGbO3tXDGCw==",
- "requires": {
- "jest-haste-map": "23.1.0",
- "lodash.throttle": "4.1.1",
- "metro-resolver": "0.38.3",
- "wordwrap": "1.0.0"
- }
- },
- "metro-memory-fs": {
- "version": "0.38.3",
- "resolved": "https://registry.npmjs.org/metro-memory-fs/-/metro-memory-fs-0.38.3.tgz",
- "integrity": "sha512-GnyoyTDjLOruazScpgFsDXeeiMUAe9p1pZ3SkDD1A88f+0+wtICdAwEMsJRs/BQmYxHM3TKehprarQHP4NMxxQ=="
- },
- "metro-minify-uglify": {
- "version": "0.38.3",
- "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.38.3.tgz",
- "integrity": "sha512-BWsruxB98WG1iqCqSCqhxmmx6gwtbUaxLHEH6B/BvYC0w/x/qzK8YVHpDvc0a02SxdCby4X2o+n/m3dGUQsrMQ==",
- "requires": {
- "uglify-es": "3.3.9"
- }
- },
- "metro-resolver": {
- "version": "0.38.3",
- "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.38.3.tgz",
- "integrity": "sha512-aIBuVBRas34Lo1p16PSx0IeKgjYMDHXRWYmRJMi7IJRe2y0+vkLQfpy8cpVnYhmP6HBwFxOyuLmzatdTl+7FLA==",
- "requires": {
- "absolute-path": "0.0.0"
- }
- },
- "metro-source-map": {
- "version": "0.38.3",
- "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.38.3.tgz",
- "integrity": "sha512-At8dogx2/BsC/5+dqIpdBP9vb0U0QKF93Aw9J9zAtwLgXoDrWDDDpJ560MtFCR9kHGY4hjU/OnS9SUXrFajtGg==",
- "requires": {
- "source-map": "0.5.7"
- }
- },
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "requires": {
- "arr-diff": "2.0.0",
- "array-unique": "0.2.1",
- "braces": "1.8.5",
- "expand-brackets": "0.1.5",
- "extglob": "0.3.2",
- "filename-regex": "2.0.1",
- "is-extglob": "1.0.0",
- "is-glob": "2.0.1",
- "kind-of": "3.2.2",
- "normalize-path": "2.1.1",
- "object.omit": "2.0.1",
- "parse-glob": "3.0.4",
- "regex-cache": "0.4.4"
- },
- "dependencies": {
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "requires": {
- "arr-flatten": "1.1.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
- },
- "mime-db": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
- "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
- },
- "mime-types": {
- "version": "2.1.18",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
- "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
- "requires": {
- "mime-db": "1.33.0"
- }
- },
- "mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
- },
- "min-document": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
- "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
- "requires": {
- "dom-walk": "0.1.1"
- }
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "requires": {
- "brace-expansion": "1.1.11"
- }
- },
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
- },
- "mixin-deep": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
- "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
- "requires": {
- "for-in": "1.0.2",
- "is-extendable": "1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "2.0.4"
- }
- }
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "requires": {
- "minimist": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
- }
- }
- },
- "morgan": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.0.tgz",
- "integrity": "sha1-0B+mxlhZt2/PMbPLU6OCGjEdgFE=",
- "requires": {
- "basic-auth": "2.0.0",
- "debug": "2.6.9",
- "depd": "1.1.2",
- "on-finished": "2.3.0",
- "on-headers": "1.0.1"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "mute-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
- },
- "nan": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
- "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
- "optional": true
- },
- "nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
- "requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "fragment-cache": "0.2.1",
- "is-windows": "1.0.2",
- "kind-of": "6.0.2",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
- },
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "1.0.0",
- "is-extendable": "1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "2.0.4"
- }
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- }
- }
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "negotiator": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
- "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
- },
- "node-fetch": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
- "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
- "requires": {
- "encoding": "0.1.12",
- "is-stream": "1.1.0"
- }
- },
- "node-int64": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
- "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs="
- },
- "node-modules-regexp": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
- "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA="
- },
- "node-notifier": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz",
- "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==",
- "requires": {
- "growly": "1.3.0",
- "semver": "5.5.0",
- "shellwords": "0.1.1",
- "which": "1.3.1"
- }
- },
- "normalize-package-data": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
- "requires": {
- "hosted-git-info": "2.7.1",
- "is-builtin-module": "1.0.0",
- "semver": "5.5.0",
- "validate-npm-package-license": "3.0.3"
- }
- },
- "normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
- "requires": {
- "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=",
- "requires": {
- "path-key": "2.0.1"
- }
- },
- "npmlog": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz",
- "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=",
- "requires": {
- "ansi": "0.3.1",
- "are-we-there-yet": "1.1.5",
- "gauge": "1.2.7"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
- },
- "nwsapi": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.5.tgz",
- "integrity": "sha512-cqfA/wLUW6YbFQLkd5ZKq2SCaZkCoxehU9qt6ccMwH3fHbzUkcien9BzOgfBXfIkxeWnRFKb1ZKmjwaa9MYOMw==",
- "dev": true
- },
- "oauth-sign": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
- "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
- "dev": true
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
- },
- "object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
- "requires": {
- "copy-descriptor": "0.1.1",
- "define-property": "0.2.5",
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "0.1.6"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "object-keys": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
- "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
- "dev": true
- },
- "object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "requires": {
- "isobject": "3.0.1"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
- }
- },
- "object.getownpropertydescriptors": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
- "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
- "dev": true,
- "requires": {
- "define-properties": "1.1.2",
- "es-abstract": "1.12.0"
- }
- },
- "object.omit": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
- "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
- "requires": {
- "for-own": "0.1.5",
- "is-extendable": "0.1.1"
- }
- },
- "object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "requires": {
- "isobject": "3.0.1"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
- }
- },
- "on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "on-headers": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
- "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c="
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "requires": {
- "wrappy": "1.0.2"
- }
- },
- "onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
- "requires": {
- "mimic-fn": "1.2.0"
- }
- },
- "opn": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz",
- "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=",
- "requires": {
- "object-assign": "4.1.1"
- }
- },
- "optimist": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
- "requires": {
- "minimist": "0.0.10",
- "wordwrap": "0.0.3"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
- },
- "wordwrap": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
- }
- }
- },
- "optionator": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
- "dev": true,
- "requires": {
- "deep-is": "0.1.3",
- "fast-levenshtein": "2.0.6",
- "levn": "0.3.0",
- "prelude-ls": "1.1.2",
- "type-check": "0.3.2",
- "wordwrap": "1.0.0"
- }
- },
- "options": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
- "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8="
- },
- "os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
- },
- "os-locale": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
- "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
- "requires": {
- "execa": "0.7.0",
- "lcid": "1.0.0",
- "mem": "1.1.0"
- }
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
- },
- "p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
- },
- "p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
- "requires": {
- "p-try": "1.0.0"
- }
- },
- "p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "requires": {
- "p-limit": "1.3.0"
- }
- },
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
- },
- "parse-glob": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
- "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
- "requires": {
- "glob-base": "0.3.0",
- "is-dotfile": "1.0.3",
- "is-extglob": "1.0.0",
- "is-glob": "2.0.1"
- }
- },
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "requires": {
- "error-ex": "1.3.2"
- }
- },
- "parse5": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
- "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
- "dev": true
- },
- "parseurl": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
- "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
- },
- "pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
- },
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
- },
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
- },
- "path-parse": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
- "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME="
- },
- "path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "requires": {
- "pify": "2.3.0"
- },
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
- }
- }
- },
- "pegjs": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz",
- "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0="
- },
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
- },
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
- },
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
- "requires": {
- "pinkie": "2.0.4"
- }
- },
- "pirates": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-3.0.2.tgz",
- "integrity": "sha512-c5CgUJq6H2k6MJz72Ak1F5sN9n9wlSlJyEnwvpm9/y3WB4E3pHBDT2c6PEiS1vyJvq2bUxUAIu0EGf8Cx4Ic7Q==",
- "requires": {
- "node-modules-regexp": "1.0.0"
- }
- },
- "pkg-dir": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
- "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
- "requires": {
- "find-up": "2.1.0"
- }
- },
- "plist": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
- "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
- "requires": {
- "base64-js": "1.3.0",
- "xmlbuilder": "9.0.7",
- "xmldom": "0.1.27"
- }
- },
- "plugin-error": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
- "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=",
- "requires": {
- "ansi-cyan": "0.1.1",
- "ansi-red": "0.1.1",
- "arr-diff": "1.1.0",
- "arr-union": "2.1.0",
- "extend-shallow": "1.1.4"
- }
- },
- "pn": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
- "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
- "dev": true
- },
- "posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
- },
- "prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true
- },
- "preserve": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
- "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks="
- },
- "pretty-format": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-4.3.1.tgz",
- "integrity": "sha1-UwvlxCs8BbNkFKeipDN6qArNDo0="
- },
- "private": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
- },
- "process": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
- "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8="
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
- },
- "promise": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
- "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
- "requires": {
- "asap": "2.0.6"
- }
- },
- "prompts": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/prompts/-/prompts-0.1.12.tgz",
- "integrity": "sha512-pgR1GE1JM8q8UsHVIgjdK62DPwvrf0kvaKWJ/mfMoCm2lwfIReX/giQ1p0AlMoUXNhQap/8UiOdqi3bOROm/eg==",
- "dev": true,
- "requires": {
- "kleur": "1.0.1",
- "sisteransi": "0.1.1"
- }
- },
- "prop-types": {
- "version": "15.6.2",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
- "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
- "requires": {
- "loose-envify": "1.4.0",
- "object-assign": "4.1.1"
- }
- },
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
- },
- "psl": {
- "version": "1.1.28",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.28.tgz",
- "integrity": "sha512-+AqO1Ae+N/4r7Rvchrdm432afjT9hqJRyBN3DQv9At0tPz4hIFSGKbq64fN9dVoCow4oggIIax5/iONx0r9hZw==",
- "dev": true
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
- },
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true
- },
- "randomatic": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz",
- "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==",
- "requires": {
- "is-number": "4.0.0",
- "kind-of": "6.0.2",
- "math-random": "1.0.1"
- },
- "dependencies": {
- "is-number": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
- "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ=="
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- }
- }
- },
- "range-parser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
- "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
- },
- "react": {
- "version": "16.4.1",
- "resolved": "https://registry.npmjs.org/react/-/react-16.4.1.tgz",
- "integrity": "sha512-3GEs0giKp6E0Oh/Y9ZC60CmYgUPnp7voH9fbjWsvXtYFb4EWtgQub0ADSq0sJR0BbHc4FThLLtzlcFaFXIorwg==",
- "requires": {
- "fbjs": "0.8.17",
- "loose-envify": "1.4.0",
- "object-assign": "4.1.1",
- "prop-types": "15.6.2"
- }
- },
- "react-clone-referenced-element": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/react-clone-referenced-element/-/react-clone-referenced-element-1.0.1.tgz",
- "integrity": "sha1-K7qMaUBMXkqUQ5hgC8xMlB+GBoI="
- },
- "react-deep-force-update": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz",
- "integrity": "sha1-vNMUeAJ7ZLMznxCJIatSC0MT3Cw="
- },
- "react-devtools-core": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.2.3.tgz",
- "integrity": "sha1-o34ZnZSGXiy7YWuXvo9YIGdOar0=",
- "requires": {
- "shell-quote": "1.6.1",
- "ws": "3.3.3"
- },
- "dependencies": {
- "ultron": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
- "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og=="
- },
- "ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
- "requires": {
- "async-limiter": "1.0.0",
- "safe-buffer": "5.1.1",
- "ultron": "1.1.1"
- }
- }
- }
- },
- "react-is": {
- "version": "16.4.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.4.1.tgz",
- "integrity": "sha512-xpb0PpALlFWNw/q13A+1aHeyJyLYCg0/cCHPUA43zYluZuIPHaHL3k8OBsTgQtxqW0FhyDEMvi8fZ/+7+r4OSQ==",
- "dev": true
- },
- "react-native": {
- "version": "0.56.0",
- "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.56.0.tgz",
- "integrity": "sha512-JGKPG77HwrgMdiCkmZmjuczJrwCnq7E28+My+OS3OnmN78uphmtaMqYnv3lJjfb5hKS4kCqYCfFYFMUnmpmxMw==",
- "requires": {
- "absolute-path": "0.0.0",
- "art": "0.10.3",
- "base64-js": "1.3.0",
- "chalk": "1.1.3",
- "commander": "2.16.0",
- "compression": "1.7.2",
- "connect": "3.6.6",
- "create-react-class": "15.6.3",
- "debug": "2.6.9",
- "denodeify": "1.2.1",
- "envinfo": "5.10.0",
- "errorhandler": "1.5.0",
- "escape-string-regexp": "1.0.5",
- "event-target-shim": "1.1.1",
- "fbjs": "0.8.16",
- "fbjs-scripts": "0.8.3",
- "fs-extra": "1.0.0",
- "glob": "7.1.2",
- "graceful-fs": "4.1.11",
- "inquirer": "3.3.0",
- "lodash": "4.17.10",
- "metro": "0.38.3",
- "metro-babel-register": "0.38.3",
- "metro-core": "0.38.3",
- "metro-memory-fs": "0.38.3",
- "mime": "1.6.0",
- "minimist": "1.2.0",
- "mkdirp": "0.5.1",
- "morgan": "1.9.0",
- "node-fetch": "1.7.3",
- "node-notifier": "5.2.1",
- "npmlog": "2.0.4",
- "opn": "3.0.3",
- "optimist": "0.6.1",
- "plist": "3.0.1",
- "pretty-format": "4.3.1",
- "promise": "7.3.1",
- "prop-types": "15.6.2",
- "react-clone-referenced-element": "1.0.1",
- "react-devtools-core": "3.2.3",
- "react-timer-mixin": "0.13.3",
- "regenerator-runtime": "0.11.1",
- "rimraf": "2.6.2",
- "semver": "5.5.0",
- "serve-static": "1.13.2",
- "shell-quote": "1.6.1",
- "stacktrace-parser": "0.1.4",
- "ws": "1.1.5",
- "xcode": "0.9.3",
- "xmldoc": "0.4.0",
- "yargs": "9.0.1"
- },
- "dependencies": {
- "fbjs": {
- "version": "0.8.16",
- "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz",
- "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=",
- "requires": {
- "core-js": "1.2.7",
- "isomorphic-fetch": "2.2.1",
- "loose-envify": "1.4.0",
- "object-assign": "4.1.1",
- "promise": "7.3.1",
- "setimmediate": "1.0.5",
- "ua-parser-js": "0.7.18"
- }
- }
- }
- },
- "react-native-push-notification": {
- "version": "git+https://git@github.com/zo0r/react-native-push-notification.git#05c5f3c56a0f64cada1f8ef818ca5e3fb9735d5e"
- },
- "react-proxy": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz",
- "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=",
- "requires": {
- "lodash": "4.17.10",
- "react-deep-force-update": "1.1.1"
- }
- },
- "react-test-renderer": {
- "version": "16.4.1",
- "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.4.1.tgz",
- "integrity": "sha512-wyyiPxRZOTpKnNIgUBOB6xPLTpIzwcQMIURhZvzUqZzezvHjaGNsDPBhMac5fIY3Jf5NuKxoGvV64zDSOECPPQ==",
- "dev": true,
- "requires": {
- "fbjs": "0.8.17",
- "object-assign": "4.1.1",
- "prop-types": "15.6.2",
- "react-is": "16.4.1"
- }
- },
- "react-timer-mixin": {
- "version": "0.13.3",
- "resolved": "https://registry.npmjs.org/react-timer-mixin/-/react-timer-mixin-0.13.3.tgz",
- "integrity": "sha1-Dai5+AfsB9w+hU0ILHN8ZWBbPSI="
- },
- "react-transform-hmr": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz",
- "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=",
- "requires": {
- "global": "4.3.2",
- "react-proxy": "1.1.8"
- }
- },
- "read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "requires": {
- "load-json-file": "2.0.0",
- "normalize-package-data": "2.4.0",
- "path-type": "2.0.0"
- }
- },
- "read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "requires": {
- "find-up": "2.1.0",
- "read-pkg": "2.0.0"
- }
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "2.0.0",
- "safe-buffer": "5.1.1",
- "string_decoder": "1.1.1",
- "util-deprecate": "1.0.2"
- }
- },
- "realpath-native": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.1.tgz",
- "integrity": "sha512-W14EcXuqUvKP8dkWkD7B95iMy77lpMnlFXbbk409bQtNCbeu0kvRE5reo+yIZ3JXxg6frbGsz2DLQ39lrCB40g==",
- "dev": true,
- "requires": {
- "util.promisify": "1.0.0"
- }
- },
- "regenerate": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
- "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="
- },
- "regenerate-unicode-properties": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz",
- "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==",
- "requires": {
- "regenerate": "1.4.0"
- }
- },
- "regenerator-runtime": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
- },
- "regenerator-transform": {
- "version": "0.12.4",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.12.4.tgz",
- "integrity": "sha512-p2I0fY+TbSLD2/VFTFb/ypEHxs3e3AjU0DzttdPqk2bSmDhfSh5E54b86Yc6XhUa5KykK1tgbvZ4Nr82oCJWkQ==",
- "requires": {
- "private": "0.1.8"
- }
- },
- "regex-cache": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
- "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
- "requires": {
- "is-equal-shallow": "0.1.3"
- }
- },
- "regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
- "requires": {
- "extend-shallow": "3.0.2",
- "safe-regex": "1.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "1.0.0",
- "is-extendable": "1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "2.0.4"
- }
- }
- }
- },
- "regexpu-core": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz",
- "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==",
- "requires": {
- "regenerate": "1.4.0",
- "regenerate-unicode-properties": "7.0.0",
- "regjsgen": "0.4.0",
- "regjsparser": "0.3.0",
- "unicode-match-property-ecmascript": "1.0.4",
- "unicode-match-property-value-ecmascript": "1.0.2"
- }
- },
- "regjsgen": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz",
- "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA=="
- },
- "regjsparser": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz",
- "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==",
- "requires": {
- "jsesc": "0.5.0"
- },
- "dependencies": {
- "jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
- }
- }
- },
- "remove-trailing-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
- },
- "repeat-element": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
- "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo="
- },
- "repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
- },
- "repeating": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
- "requires": {
- "is-finite": "1.0.2"
- }
- },
- "request": {
- "version": "2.87.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
- "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
- "dev": true,
- "requires": {
- "aws-sign2": "0.7.0",
- "aws4": "1.7.0",
- "caseless": "0.12.0",
- "combined-stream": "1.0.6",
- "extend": "3.0.1",
- "forever-agent": "0.6.1",
- "form-data": "2.3.2",
- "har-validator": "5.0.3",
- "http-signature": "1.2.0",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
- "mime-types": "2.1.18",
- "oauth-sign": "0.8.2",
- "performance-now": "2.1.0",
- "qs": "6.5.2",
- "safe-buffer": "5.1.1",
- "tough-cookie": "2.3.4",
- "tunnel-agent": "0.6.0",
- "uuid": "3.3.2"
- },
- "dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
- },
- "tough-cookie": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
- "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
- "dev": true,
- "requires": {
- "punycode": "1.4.1"
- }
- },
- "uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
- "dev": true
- }
- }
- },
- "request-promise-core": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz",
- "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=",
- "dev": true,
- "requires": {
- "lodash": "4.17.10"
- }
- },
- "request-promise-native": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz",
- "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=",
- "dev": true,
- "requires": {
- "request-promise-core": "1.1.1",
- "stealthy-require": "1.1.1",
- "tough-cookie": "2.4.3"
- }
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
- },
- "require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
- },
- "resolve": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
- "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
- "requires": {
- "path-parse": "1.0.5"
- }
- },
- "resolve-cwd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
- "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
- "dev": true,
- "requires": {
- "resolve-from": "3.0.0"
- }
- },
- "resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
- "dev": true
- },
- "resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
- },
- "restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
- "requires": {
- "onetime": "2.0.1",
- "signal-exit": "3.0.2"
- }
- },
- "ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
- },
- "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,
- "optional": true,
- "requires": {
- "align-text": "0.1.4"
- }
- },
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "requires": {
- "glob": "7.1.2"
- }
- },
- "rsvp": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz",
- "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw=="
- },
- "run-async": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
- "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
- "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="
- },
- "rx-lite-aggregates": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
- "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
- "requires": {
- "rx-lite": "4.0.8"
- }
- },
- "safe-buffer": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
- },
- "safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
- "requires": {
- "ret": "0.1.15"
- }
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "sane": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz",
- "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=",
- "requires": {
- "anymatch": "2.0.0",
- "capture-exit": "1.2.0",
- "exec-sh": "0.2.2",
- "fb-watchman": "2.0.0",
- "fsevents": "1.2.4",
- "micromatch": "3.1.10",
- "minimist": "1.2.0",
- "walker": "1.0.7",
- "watch": "0.18.0"
- },
- "dependencies": {
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
- },
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "requires": {
- "arr-flatten": "1.1.0",
- "array-unique": "0.3.2",
- "extend-shallow": "2.0.1",
- "fill-range": "4.0.0",
- "isobject": "3.0.1",
- "repeat-element": "1.1.2",
- "snapdragon": "0.8.2",
- "snapdragon-node": "2.1.1",
- "split-string": "3.1.0",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "requires": {
- "debug": "2.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "posix-character-classes": "0.1.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "0.1.6"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
- }
- },
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
- }
- }
- },
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "1.0.0",
- "is-extendable": "1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "2.0.4"
- }
- }
- }
- },
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "requires": {
- "array-unique": "0.3.2",
- "define-property": "1.0.0",
- "expand-brackets": "2.1.4",
- "extend-shallow": "2.0.1",
- "fragment-cache": "0.2.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "1.0.2"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "requires": {
- "extend-shallow": "2.0.1",
- "is-number": "3.0.0",
- "repeat-string": "1.6.1",
- "to-regex-range": "2.1.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
- }
- },
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
- "braces": "2.3.2",
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "extglob": "2.0.4",
- "fragment-cache": "0.2.1",
- "kind-of": "6.0.2",
- "nanomatch": "1.2.13",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- }
- }
- }
- },
- "sax": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.6.tgz",
- "integrity": "sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA="
- },
- "semver": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
- },
- "send": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
- "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
- "requires": {
- "debug": "2.6.9",
- "depd": "1.1.2",
- "destroy": "1.0.4",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "etag": "1.8.1",
- "fresh": "0.5.2",
- "http-errors": "1.6.3",
- "mime": "1.4.1",
- "ms": "2.0.0",
- "on-finished": "2.3.0",
- "range-parser": "1.2.0",
- "statuses": "1.4.0"
- },
- "dependencies": {
- "mime": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
- "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
- },
- "statuses": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
- "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
- }
- }
- },
- "serialize-error": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz",
- "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go="
- },
- "serve-static": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
- "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
- "requires": {
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "parseurl": "1.3.2",
- "send": "0.16.2"
- }
- },
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
- },
- "set-value": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
- "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
- "requires": {
- "extend-shallow": "2.0.1",
- "is-extendable": "0.1.1",
- "is-plain-object": "2.0.4",
- "split-string": "3.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
- },
- "setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "requires": {
- "shebang-regex": "1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
- },
- "shell-quote": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
- "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
- "requires": {
- "array-filter": "0.0.1",
- "array-map": "0.0.0",
- "array-reduce": "0.0.0",
- "jsonify": "0.0.0"
- }
- },
- "shellwords": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
- "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww=="
- },
- "signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
- },
- "simple-plist": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.2.1.tgz",
- "integrity": "sha1-cXZts1IyaSjPOoByQrp2IyJjZyM=",
- "requires": {
- "bplist-creator": "0.0.7",
- "bplist-parser": "0.1.1",
- "plist": "2.0.1"
- },
- "dependencies": {
- "base64-js": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.1.2.tgz",
- "integrity": "sha1-1kAMrBxMZgl22Q0HoENR2JOV9eg="
- },
- "plist": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/plist/-/plist-2.0.1.tgz",
- "integrity": "sha1-CjLKlIGxw2TpLhjcVch23p0B2os=",
- "requires": {
- "base64-js": "1.1.2",
- "xmlbuilder": "8.2.2",
- "xmldom": "0.1.27"
- }
- },
- "xmlbuilder": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
- "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M="
- }
- }
- },
- "sisteransi": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-0.1.1.tgz",
- "integrity": "sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g==",
- "dev": true
- },
- "slash": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
- },
- "slide": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
- "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc="
- },
- "snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
- "requires": {
- "base": "0.11.2",
- "debug": "2.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "map-cache": "0.2.2",
- "source-map": "0.5.7",
- "source-map-resolve": "0.5.2",
- "use": "3.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "0.1.6"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
- "requires": {
- "define-property": "1.0.0",
- "isobject": "3.0.1",
- "snapdragon-util": "3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "1.0.2"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
- }
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- }
- }
- },
- "snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "source-map-resolve": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
- "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
- "requires": {
- "atob": "2.1.1",
- "decode-uri-component": "0.2.0",
- "resolve-url": "0.2.1",
- "source-map-url": "0.4.0",
- "urix": "0.1.0"
- }
- },
- "source-map-support": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
- "requires": {
- "source-map": "0.5.7"
- }
- },
- "source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
- },
- "spdx-correct": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
- "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
- "requires": {
- "spdx-expression-parse": "3.0.0",
- "spdx-license-ids": "3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
- "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg=="
- },
- "spdx-expression-parse": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
- "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
- "requires": {
- "spdx-exceptions": "2.1.0",
- "spdx-license-ids": "3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
- "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA=="
- },
- "split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
- "requires": {
- "extend-shallow": "3.0.2"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "1.0.0",
- "is-extendable": "1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "2.0.4"
- }
- }
- }
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "sshpk": {
- "version": "1.14.2",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
- "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
- "dev": true,
- "requires": {
- "asn1": "0.2.3",
- "assert-plus": "1.0.0",
- "bcrypt-pbkdf": "1.0.2",
- "dashdash": "1.14.1",
- "ecc-jsbn": "0.1.1",
- "getpass": "0.1.7",
- "jsbn": "0.1.1",
- "safer-buffer": "2.1.2",
- "tweetnacl": "0.14.5"
- }
- },
- "stack-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz",
- "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=",
- "dev": true
- },
- "stacktrace-parser": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.4.tgz",
- "integrity": "sha1-ATl5IuX2Ls8whFUiyVxP4dJefU4="
- },
- "static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
- "requires": {
- "define-property": "0.2.5",
- "object-copy": "0.1.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "0.1.6"
- }
- }
- }
- },
- "statuses": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
- "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
- },
- "stealthy-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
- "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
- "dev": true
- },
- "stream-buffers": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
- "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ="
- },
- "string-length": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
- "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=",
- "dev": true,
- "requires": {
- "astral-regex": "1.0.0",
- "strip-ansi": "4.0.0"
- },
- "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
- },
- "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"
- }
- }
- }
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "requires": {
- "ansi-regex": "3.0.0"
- }
- }
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "requires": {
- "safe-buffer": "5.1.1"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "requires": {
- "ansi-regex": "2.1.1"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
- },
- "strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- },
- "symbol-tree": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz",
- "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=",
- "dev": true
- },
- "temp": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz",
- "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=",
- "requires": {
- "os-tmpdir": "1.0.2",
- "rimraf": "2.2.8"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.2.8",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
- "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI="
- }
- }
- },
- "test-exclude": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz",
- "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==",
- "dev": true,
- "requires": {
- "arrify": "1.0.1",
- "micromatch": "3.1.10",
- "object-assign": "4.1.1",
- "read-pkg-up": "1.0.1",
- "require-main-filename": "1.0.1"
- },
- "dependencies": {
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
- "dev": true
- },
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "dev": true,
- "requires": {
- "arr-flatten": "1.1.0",
- "array-unique": "0.3.2",
- "extend-shallow": "2.0.1",
- "fill-range": "4.0.0",
- "isobject": "3.0.1",
- "repeat-element": "1.1.2",
- "snapdragon": "0.8.2",
- "snapdragon-node": "2.1.1",
- "split-string": "3.1.0",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "posix-character-classes": "0.1.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "0.1.6"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "0.1.1"
- }
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
- }
- },
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
- }
- },
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "requires": {
- "assign-symbols": "1.0.0",
- "is-extendable": "1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "2.0.4"
- }
- }
- }
- },
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "requires": {
- "array-unique": "0.3.2",
- "define-property": "1.0.0",
- "expand-brackets": "2.1.4",
- "extend-shallow": "2.0.1",
- "fragment-cache": "0.2.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "1.0.2"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "dev": true,
- "requires": {
- "extend-shallow": "2.0.1",
- "is-number": "3.0.0",
- "repeat-string": "1.6.1",
- "to-regex-range": "2.1.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
- "requires": {
- "path-exists": "2.1.0",
- "pinkie-promise": "2.0.1"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
- }
- },
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "dev": true,
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
- "dev": true
- },
- "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"
- }
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true,
- "requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
- "braces": "2.3.2",
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "extglob": "2.0.4",
- "fragment-cache": "0.2.1",
- "kind-of": "6.0.2",
- "nanomatch": "1.2.13",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- }
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
- "requires": {
- "pinkie-promise": "2.0.1"
- }
- },
- "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"
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- },
- "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": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true,
- "requires": {
- "is-utf8": "0.2.1"
- }
- }
- }
- },
- "throat": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz",
- "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo="
- },
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
- },
- "through2": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
- "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
- "requires": {
- "readable-stream": "2.3.6",
- "xtend": "4.0.1"
- }
- },
- "time-stamp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
- "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM="
- },
- "tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "requires": {
- "os-tmpdir": "1.0.2"
- }
- },
- "tmpl": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
- "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE="
- },
- "to-fast-properties": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
- },
- "to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
- "requires": {
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "regex-not": "1.0.2",
- "safe-regex": "1.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "1.0.0",
- "is-extendable": "1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "2.0.4"
- }
- }
- }
- },
- "to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "requires": {
- "is-number": "3.0.0",
- "repeat-string": "1.6.1"
- },
- "dependencies": {
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "requires": {
- "kind-of": "3.2.2"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "dev": true,
- "requires": {
- "psl": "1.1.28",
- "punycode": "1.4.1"
- },
- "dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
- }
- }
- },
- "tr46": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
- "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
- "dev": true,
- "requires": {
- "punycode": "2.1.1"
- }
- },
- "trim-right": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "requires": {
- "safe-buffer": "5.1.1"
- }
- },
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true,
- "optional": true
- },
- "type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true,
- "requires": {
- "prelude-ls": "1.1.2"
- }
- },
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
- },
- "ua-parser-js": {
- "version": "0.7.18",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz",
- "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA=="
- },
- "uglify-es": {
- "version": "3.3.9",
- "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
- "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
- "requires": {
- "commander": "2.13.0",
- "source-map": "0.6.1"
- },
- "dependencies": {
- "commander": {
- "version": "2.13.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
- "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA=="
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- }
- }
- },
- "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,
- "optional": true
- },
- "ultron": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
- "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po="
- },
- "unicode-canonical-property-names-ecmascript": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
- "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ=="
- },
- "unicode-match-property-ecmascript": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
- "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
- "requires": {
- "unicode-canonical-property-names-ecmascript": "1.0.4",
- "unicode-property-aliases-ecmascript": "1.0.4"
- }
- },
- "unicode-match-property-value-ecmascript": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz",
- "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ=="
- },
- "unicode-property-aliases-ecmascript": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz",
- "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg=="
- },
- "union-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
- "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
- "requires": {
- "arr-union": "3.1.0",
- "get-value": "2.0.6",
- "is-extendable": "0.1.1",
- "set-value": "0.4.3"
- },
- "dependencies": {
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- },
- "set-value": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
- "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
- "requires": {
- "extend-shallow": "2.0.1",
- "is-extendable": "0.1.1",
- "is-plain-object": "2.0.4",
- "to-object-path": "0.3.0"
- }
- }
- }
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
- },
- "unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
- "requires": {
- "has-value": "0.3.1",
- "isobject": "3.0.1"
- },
- "dependencies": {
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "requires": {
- "get-value": "2.0.6",
- "has-values": "0.1.4",
- "isobject": "2.1.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
- }
- },
- "urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
- },
- "use": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- },
- "util.promisify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
- "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
- "dev": true,
- "requires": {
- "define-properties": "1.1.2",
- "object.getownpropertydescriptors": "2.0.3"
- }
- },
- "utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
- },
- "uuid": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
- "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE="
- },
- "validate-npm-package-license": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
- "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
- "requires": {
- "spdx-correct": "3.0.0",
- "spdx-expression-parse": "3.0.0"
- }
- },
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
- },
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
- "requires": {
- "assert-plus": "1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "1.3.0"
- }
- },
- "w3c-hr-time": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz",
- "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=",
- "dev": true,
- "requires": {
- "browser-process-hrtime": "0.1.2"
- }
- },
- "walker": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
- "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
- "requires": {
- "makeerror": "1.0.11"
- }
- },
- "watch": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz",
- "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=",
- "requires": {
- "exec-sh": "0.2.2",
- "minimist": "1.2.0"
- }
- },
- "webidl-conversions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
- "dev": true
- },
- "whatwg-encoding": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz",
- "integrity": "sha512-jLBwwKUhi8WtBfsMQlL4bUUcT8sMkAtQinscJAe/M4KHCkHuUJAF6vuB0tueNIw4c8ziO6AkRmgY+jL3a0iiPw==",
- "dev": true,
- "requires": {
- "iconv-lite": "0.4.19"
- },
- "dependencies": {
- "iconv-lite": {
- "version": "0.4.19",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
- "dev": true
- }
- }
- },
- "whatwg-fetch": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz",
- "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng=="
- },
- "whatwg-mimetype": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz",
- "integrity": "sha512-FKxhYLytBQiUKjkYteN71fAUA3g6KpNXoho1isLiLSB3N1G4F35Q5vUxWfKFhBwi5IWF27VE6WxhrnnC+m0Mew==",
- "dev": true
- },
- "whatwg-url": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
- "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
- "dev": true,
- "requires": {
- "lodash.sortby": "4.7.0",
- "tr46": "1.0.1",
- "webidl-conversions": "4.0.2"
- }
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "requires": {
- "isexe": "2.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="
- },
- "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,
- "optional": true
- },
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "requires": {
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "requires": {
- "number-is-nan": "1.0.1"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
- }
- }
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
- },
- "write-file-atomic": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz",
- "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=",
- "requires": {
- "graceful-fs": "4.1.11",
- "imurmurhash": "0.1.4",
- "slide": "1.1.6"
- }
- },
- "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"
- }
- },
- "xcode": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/xcode/-/xcode-0.9.3.tgz",
- "integrity": "sha1-kQqJwWrubMC0LKgFptC0z4chHPM=",
- "requires": {
- "pegjs": "0.10.0",
- "simple-plist": "0.2.1",
- "uuid": "3.0.1"
- }
- },
- "xml-name-validator": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
- "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
- "dev": true
- },
- "xmlbuilder": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
- "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0="
- },
- "xmldoc": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-0.4.0.tgz",
- "integrity": "sha1-0lciS+g5PqrL+DfvIn/Y7CWzaIg=",
- "requires": {
- "sax": "1.1.6"
- }
- },
- "xmldom": {
- "version": "0.1.27",
- "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
- "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
- },
- "xpipe": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/xpipe/-/xpipe-1.0.5.tgz",
- "integrity": "sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98="
- },
- "xtend": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
- "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
- },
- "y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
- },
- "yargs": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
- "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
- "requires": {
- "camelcase": "4.1.0",
- "cliui": "3.2.0",
- "decamelize": "1.2.0",
- "get-caller-file": "1.0.3",
- "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"
- }
- },
- "yargs-parser": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
- "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
- "requires": {
- "camelcase": "4.1.0"
- }
- }
- }
-}
diff --git a/example/package.json b/example/package.json
index 4e90e315d..5710b7cd2 100644
--- a/example/package.json
+++ b/example/package.json
@@ -3,19 +3,28 @@
"version": "0.0.1",
"private": true,
"scripts": {
- "start": "node node_modules/react-native/local-cli/cli.js start",
- "test": "jest"
+ "android": "react-native run-android",
+ "ios": "react-native run-ios",
+ "start": "react-native start",
+ "test": "jest",
+ "lint": "eslint .",
+ "pod-install": "cd ios && pod install"
},
"dependencies": {
- "react": "16.4.1",
- "react-native": "0.56.0",
- "react-native-push-notification": "git+https://git@github.com/zo0r/react-native-push-notification.git"
+ "@react-native-community/push-notification-ios": "^1.10.1",
+ "react": "16.13.1",
+ "react-native": "0.63.3",
+ "react-native-push-notification": "zo0r/react-native-push-notification#dev"
},
"devDependencies": {
- "babel-jest": "23.4.0",
- "babel-preset-react-native": "^5",
- "jest": "23.4.1",
- "react-test-renderer": "16.4.1"
+ "@babel/core": "^7.9.0",
+ "@babel/runtime": "^7.9.2",
+ "@react-native-community/eslint-config": "^1.0.0",
+ "babel-jest": "^25.3.0",
+ "eslint": "^6.8.0",
+ "jest": "^25.3.0",
+ "metro-react-native-babel-preset": "^0.59.0",
+ "react-test-renderer": "16.11.0"
},
"jest": {
"preset": "react-native"
diff --git a/example/yarn.lock b/example/yarn.lock
deleted file mode 100644
index 3ad46e861..000000000
--- a/example/yarn.lock
+++ /dev/null
@@ -1,5333 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@babel/code-frame@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz#d18c2f4c4ba8d093a2bcfab5616593bfe2441a27"
- dependencies:
- "@babel/highlight" "7.0.0-beta.47"
-
-"@babel/code-frame@^7.0.0-beta.35":
- version "7.0.0-beta.53"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.53.tgz#980d1560b863575bf5a377925037e0132ef5921e"
- dependencies:
- "@babel/highlight" "7.0.0-beta.53"
-
-"@babel/core@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0-beta.47.tgz#b9c164fb9a1e1083f067c236a9da1d7a7d759271"
- dependencies:
- "@babel/code-frame" "7.0.0-beta.47"
- "@babel/generator" "7.0.0-beta.47"
- "@babel/helpers" "7.0.0-beta.47"
- "@babel/template" "7.0.0-beta.47"
- "@babel/traverse" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
- babylon "7.0.0-beta.47"
- convert-source-map "^1.1.0"
- debug "^3.1.0"
- json5 "^0.5.0"
- lodash "^4.17.5"
- micromatch "^2.3.11"
- resolve "^1.3.2"
- semver "^5.4.1"
- source-map "^0.5.0"
-
-"@babel/generator@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.47.tgz#1835709f377cc4d2a4affee6d9258a10bbf3b9d1"
- dependencies:
- "@babel/types" "7.0.0-beta.47"
- jsesc "^2.5.1"
- lodash "^4.17.5"
- source-map "^0.5.0"
- trim-right "^1.0.1"
-
-"@babel/helper-annotate-as-pure@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.47.tgz#354fb596055d9db369211bf075f0d5e93904d6f6"
- dependencies:
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.47.tgz#d5917c29ee3d68abc2c72f604bc043f6e056e907"
- dependencies:
- "@babel/helper-explode-assignable-expression" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/helper-builder-react-jsx@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.47.tgz#e39bbce315743044c0d64b31f82f20600f761729"
- dependencies:
- "@babel/types" "7.0.0-beta.47"
- esutils "^2.0.0"
-
-"@babel/helper-call-delegate@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.47.tgz#96b7804397075f722a4030d3876f51ec19d8829b"
- dependencies:
- "@babel/helper-hoist-variables" "7.0.0-beta.47"
- "@babel/traverse" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/helper-define-map@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.47.tgz#43a9def87c5166dc29630d51b3da9cc4320c131c"
- dependencies:
- "@babel/helper-function-name" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
- lodash "^4.17.5"
-
-"@babel/helper-explode-assignable-expression@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.47.tgz#56b688e282a698f4d1cf135453a11ae8af870a19"
- dependencies:
- "@babel/traverse" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/helper-function-name@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.47.tgz#8057d63e951e85c57c02cdfe55ad7608d73ffb7d"
- dependencies:
- "@babel/helper-get-function-arity" "7.0.0-beta.47"
- "@babel/template" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/helper-get-function-arity@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.47.tgz#2de04f97c14b094b55899d3fa83144a16d207510"
- dependencies:
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/helper-hoist-variables@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.47.tgz#ce295d1d723fe22b2820eaec748ed701aa5ae3d0"
- dependencies:
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/helper-member-expression-to-functions@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.47.tgz#35bfcf1d16dce481ef3dec66d5a1ae6a7d80bb45"
- dependencies:
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/helper-module-imports@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.47.tgz#5af072029ffcfbece6ffbaf5d9984c75580f3f04"
- dependencies:
- "@babel/types" "7.0.0-beta.47"
- lodash "^4.17.5"
-
-"@babel/helper-module-transforms@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.47.tgz#7eff91fc96873bd7b8d816698f1a69bbc01f3c38"
- dependencies:
- "@babel/helper-module-imports" "7.0.0-beta.47"
- "@babel/helper-simple-access" "7.0.0-beta.47"
- "@babel/helper-split-export-declaration" "7.0.0-beta.47"
- "@babel/template" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
- lodash "^4.17.5"
-
-"@babel/helper-optimise-call-expression@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.47.tgz#085d864d0613c5813c1b7c71b61bea36f195929e"
- dependencies:
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/helper-plugin-utils@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.47.tgz#4f564117ec39f96cf60fafcde35c9ddce0e008fd"
-
-"@babel/helper-regex@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0-beta.47.tgz#b8e3b53132c4edbb04804242c02ffe4d60316971"
- dependencies:
- lodash "^4.17.5"
-
-"@babel/helper-remap-async-to-generator@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.47.tgz#444dc362f61470bd61a745ebb364431d9ca186c2"
- dependencies:
- "@babel/helper-annotate-as-pure" "7.0.0-beta.47"
- "@babel/helper-wrap-function" "7.0.0-beta.47"
- "@babel/template" "7.0.0-beta.47"
- "@babel/traverse" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/helper-replace-supers@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.47.tgz#310b206a302868a792b659455ceba27db686cbb7"
- dependencies:
- "@babel/helper-member-expression-to-functions" "7.0.0-beta.47"
- "@babel/helper-optimise-call-expression" "7.0.0-beta.47"
- "@babel/traverse" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/helper-simple-access@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.47.tgz#234d754acbda9251a10db697ef50181eab125042"
- dependencies:
- "@babel/template" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
- lodash "^4.17.5"
-
-"@babel/helper-split-export-declaration@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.47.tgz#e11277855472d8d83baf22f2d0186c4a2059b09a"
- dependencies:
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/helper-wrap-function@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.47.tgz#6528b44a3ccb4f3aeeb79add0a88192f7eb81161"
- dependencies:
- "@babel/helper-function-name" "7.0.0-beta.47"
- "@babel/template" "7.0.0-beta.47"
- "@babel/traverse" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/helpers@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.0.0-beta.47.tgz#f9b42ed2e4d5f75ec0fb2e792c173e451e8d40fd"
- dependencies:
- "@babel/template" "7.0.0-beta.47"
- "@babel/traverse" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
-
-"@babel/highlight@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.47.tgz#8fbc83fb2a21f0bd2b95cdbeb238cf9689cad494"
- dependencies:
- chalk "^2.0.0"
- esutils "^2.0.2"
- js-tokens "^3.0.0"
-
-"@babel/highlight@7.0.0-beta.53":
- version "7.0.0-beta.53"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.53.tgz#f4e952dad1787d205e188d3e384cdce49ca368fb"
- dependencies:
- chalk "^2.0.0"
- esutils "^2.0.2"
- js-tokens "^3.0.0"
-
-"@babel/plugin-external-helpers@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-external-helpers/-/plugin-external-helpers-7.0.0-beta.47.tgz#b348b80da9b5fa3acebbe21979aa3839f6f7b875"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-proposal-class-properties@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.47.tgz#08c1a1dfc92d0f5c37b39096c6fb883e1ca4b0f5"
- dependencies:
- "@babel/helper-function-name" "7.0.0-beta.47"
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
- "@babel/helper-replace-supers" "7.0.0-beta.47"
- "@babel/plugin-syntax-class-properties" "7.0.0-beta.47"
-
-"@babel/plugin-proposal-object-rest-spread@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.47.tgz#e1529fddc88e948868ee1d0edaa27ebd9502322d"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
- "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.47"
-
-"@babel/plugin-proposal-optional-chaining@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0-beta.47.tgz#099e5720121f91eb36544575f98d44cd57865ea5"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
- "@babel/plugin-syntax-optional-chaining" "7.0.0-beta.47"
-
-"@babel/plugin-syntax-class-properties@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.47.tgz#de52bed12fd472c848e1562f57dd4a202fe27f11"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-syntax-dynamic-import@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.47.tgz#ee964915014a687701ee8e15c289e31a7c899e60"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-syntax-flow@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.47.tgz#9d0b09b9af6fec87a7b22e406bf948089d58c188"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-syntax-jsx@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.47.tgz#f3849d94288695d724bd205b4f6c3c99e4ec24a4"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-syntax-nullish-coalescing-operator@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.0.0-beta.47.tgz#24043fa9b2cdd980d4ff18b9d451569565725ebf"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-syntax-object-rest-spread@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.47.tgz#21da514d94c138b2261ca09f0dec9abadce16185"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-syntax-optional-chaining@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0-beta.47.tgz#f1febe859d9dde26f2b2e1f20cf679925d1fab23"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-arrow-functions@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.47.tgz#d6eecda4c652b909e3088f0983ebaf8ec292984b"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-async-to-generator@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.47.tgz#5723816ea1e91fa313a84e6ee9cc12ff31d46610"
- dependencies:
- "@babel/helper-module-imports" "7.0.0-beta.47"
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
- "@babel/helper-remap-async-to-generator" "7.0.0-beta.47"
-
-"@babel/plugin-transform-block-scoping@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.47.tgz#b737cc58a81bea57efd5bda0baef9a43a25859ad"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
- lodash "^4.17.5"
-
-"@babel/plugin-transform-classes@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.47.tgz#7aff9cbe7b26fd94d7a9f97fa90135ef20c93fb6"
- dependencies:
- "@babel/helper-annotate-as-pure" "7.0.0-beta.47"
- "@babel/helper-define-map" "7.0.0-beta.47"
- "@babel/helper-function-name" "7.0.0-beta.47"
- "@babel/helper-optimise-call-expression" "7.0.0-beta.47"
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
- "@babel/helper-replace-supers" "7.0.0-beta.47"
- "@babel/helper-split-export-declaration" "7.0.0-beta.47"
- globals "^11.1.0"
-
-"@babel/plugin-transform-computed-properties@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.47.tgz#56ef2a021769a2b65e90a3e12fd10b791da9f3e0"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-destructuring@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.47.tgz#452b607775fd1c4d10621997837189efc0a6d428"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-exponentiation-operator@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.47.tgz#930e1abf5db9f4db5b63dbf97f3581ad0be1e907"
- dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "7.0.0-beta.47"
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-flow-strip-types@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.47.tgz#fa45811094c10d70c84efdd0eac62ebd2a634bf7"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
- "@babel/plugin-syntax-flow" "7.0.0-beta.47"
-
-"@babel/plugin-transform-for-of@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.47.tgz#527d5dc24e4a4ad0fc1d0a3990d29968cb984e76"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-function-name@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.47.tgz#fb443c81cc77f3206a863b730b35c8c553ce5041"
- dependencies:
- "@babel/helper-function-name" "7.0.0-beta.47"
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-literals@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.47.tgz#448fad196f062163684a38f10f14e83315892e9c"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-modules-commonjs@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.47.tgz#dfe5c6d867aa9614e55f7616736073edb3aab887"
- dependencies:
- "@babel/helper-module-transforms" "7.0.0-beta.47"
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
- "@babel/helper-simple-access" "7.0.0-beta.47"
-
-"@babel/plugin-transform-object-assign@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.0.0-beta.47.tgz#aaf0e4593c1e9b1ceb48fc8770736a029b17ed64"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-parameters@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.47.tgz#46a4236040a6552a5f165fb3ddd60368954b0ddd"
- dependencies:
- "@babel/helper-call-delegate" "7.0.0-beta.47"
- "@babel/helper-get-function-arity" "7.0.0-beta.47"
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-react-display-name@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.47.tgz#7a45c1703b8b33f252148ecf1b50dd54809de952"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-react-jsx-source@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.47.tgz#da8c01704b896409eae168a15045216e72d278dc"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
- "@babel/plugin-syntax-jsx" "7.0.0-beta.47"
-
-"@babel/plugin-transform-react-jsx@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.47.tgz#98c99a69be748d966c0aea08b5ca942ba3fc9ed1"
- dependencies:
- "@babel/helper-builder-react-jsx" "7.0.0-beta.47"
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
- "@babel/plugin-syntax-jsx" "7.0.0-beta.47"
-
-"@babel/plugin-transform-regenerator@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.47.tgz#86500e1c404055fb98fc82b73b09bd053cacb516"
- dependencies:
- regenerator-transform "^0.12.3"
-
-"@babel/plugin-transform-shorthand-properties@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.47.tgz#00be44c4fad8fe2c00ed18ea15ea3c88dd519dbb"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-spread@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.47.tgz#3feadb02292ed1e9b75090d651b9df88a7ab5c50"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-sticky-regex@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.47.tgz#c0aa347d76b5dc87d3b37ac016ada3f950605131"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
- "@babel/helper-regex" "7.0.0-beta.47"
-
-"@babel/plugin-transform-template-literals@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.47.tgz#5f7b5badf64c4c5da79026aeab03001e62a6ee5f"
- dependencies:
- "@babel/helper-annotate-as-pure" "7.0.0-beta.47"
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
-
-"@babel/plugin-transform-unicode-regex@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.47.tgz#efed0b2f1dfbf28283502234a95b4be88f7fdcb6"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.47"
- "@babel/helper-regex" "7.0.0-beta.47"
- regexpu-core "^4.1.3"
-
-"@babel/register@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0-beta.47.tgz#ac53bc357ca59979db0e306aa5d3121aa612a7a2"
- dependencies:
- core-js "^2.5.3"
- find-cache-dir "^1.0.0"
- home-or-tmp "^3.0.0"
- lodash "^4.17.5"
- mkdirp "^0.5.1"
- pirates "^3.0.1"
- source-map-support "^0.4.2"
-
-"@babel/template@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.47.tgz#0473970a7c0bee7a1a18c1ca999d3ba5e5bad83d"
- dependencies:
- "@babel/code-frame" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
- babylon "7.0.0-beta.47"
- lodash "^4.17.5"
-
-"@babel/traverse@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.47.tgz#0e57fdbb9ff3a909188b6ebf1e529c641e6c82a4"
- dependencies:
- "@babel/code-frame" "7.0.0-beta.47"
- "@babel/generator" "7.0.0-beta.47"
- "@babel/helper-function-name" "7.0.0-beta.47"
- "@babel/helper-split-export-declaration" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
- babylon "7.0.0-beta.47"
- debug "^3.1.0"
- globals "^11.1.0"
- invariant "^2.2.0"
- lodash "^4.17.5"
-
-"@babel/types@7.0.0-beta.47":
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.47.tgz#e6fcc1a691459002c2671d558a586706dddaeef8"
- dependencies:
- esutils "^2.0.2"
- lodash "^4.17.5"
- to-fast-properties "^2.0.0"
-
-abab@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e"
-
-abbrev@1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
-
-absolute-path@^0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/absolute-path/-/absolute-path-0.0.0.tgz#a78762fbdadfb5297be99b15d35a785b2f095bf7"
-
-accepts@~1.3.3, accepts@~1.3.4:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2"
- dependencies:
- mime-types "~2.1.18"
- negotiator "0.6.1"
-
-acorn-globals@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538"
- dependencies:
- acorn "^5.0.0"
-
-acorn@^5.0.0, acorn@^5.3.0:
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8"
-
-ajv@^5.1.0:
- version "5.5.2"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
- dependencies:
- co "^4.6.0"
- fast-deep-equal "^1.0.0"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.3.0"
-
-align-text@^0.1.1, align-text@^0.1.3:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
- dependencies:
- kind-of "^3.0.2"
- longest "^1.0.1"
- repeat-string "^1.5.2"
-
-amdefine@>=0.0.4:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
-
-ansi-colors@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9"
- dependencies:
- ansi-wrap "^0.1.0"
-
-ansi-cyan@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873"
- dependencies:
- ansi-wrap "0.1.0"
-
-ansi-escapes@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30"
-
-ansi-gray@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251"
- dependencies:
- ansi-wrap "0.1.0"
-
-ansi-red@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c"
- dependencies:
- ansi-wrap "0.1.0"
-
-ansi-regex@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
-
-ansi-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
-
-ansi-styles@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
-
-ansi-styles@^3.2.0, ansi-styles@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
- dependencies:
- color-convert "^1.9.0"
-
-ansi-wrap@0.1.0, ansi-wrap@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
-
-ansi@^0.3.0, ansi@~0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21"
-
-anymatch@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
- dependencies:
- micromatch "^3.1.4"
- normalize-path "^2.1.1"
-
-append-transform@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab"
- dependencies:
- default-require-extensions "^2.0.0"
-
-aproba@^1.0.3:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
-
-are-we-there-yet@~1.1.2:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
- dependencies:
- delegates "^1.0.0"
- readable-stream "^2.0.6"
-
-argparse@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
- dependencies:
- sprintf-js "~1.0.2"
-
-arr-diff@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a"
- dependencies:
- arr-flatten "^1.0.1"
- array-slice "^0.2.3"
-
-arr-diff@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
- dependencies:
- arr-flatten "^1.0.1"
-
-arr-diff@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
-
-arr-flatten@^1.0.1, arr-flatten@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
-
-arr-union@^2.0.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d"
-
-arr-union@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
-
-array-equal@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
-
-array-filter@~0.0.0:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
-
-array-map@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
-
-array-reduce@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
-
-array-slice@^0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
-
-array-unique@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
-
-array-unique@^0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
-
-arrify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
-
-art@^0.10.0:
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/art/-/art-0.10.3.tgz#b01d84a968ccce6208df55a733838c96caeeaea2"
-
-asap@~2.0.3:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
-
-asn1@~0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
-
-assert-plus@1.0.0, assert-plus@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
-
-assign-symbols@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
-
-astral-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
-
-async-limiter@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
-
-async@^1.4.0:
- version "1.5.2"
- resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
-
-async@^2.1.4, async@^2.4.0:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610"
- dependencies:
- lodash "^4.17.10"
-
-asynckit@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
-
-atob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a"
-
-aws-sign2@~0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
-
-aws4@^1.6.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289"
-
-babel-code-frame@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
- dependencies:
- chalk "^1.1.3"
- esutils "^2.0.2"
- js-tokens "^3.0.2"
-
-babel-core@^6.0.0, babel-core@^6.24.1, babel-core@^6.26.0, babel-core@^6.7.2:
- version "6.26.3"
- resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
- dependencies:
- babel-code-frame "^6.26.0"
- babel-generator "^6.26.0"
- babel-helpers "^6.24.1"
- babel-messages "^6.23.0"
- babel-register "^6.26.0"
- babel-runtime "^6.26.0"
- babel-template "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- convert-source-map "^1.5.1"
- debug "^2.6.9"
- json5 "^0.5.1"
- lodash "^4.17.4"
- minimatch "^3.0.4"
- path-is-absolute "^1.0.1"
- private "^0.1.8"
- slash "^1.0.0"
- source-map "^0.5.7"
-
-babel-generator@^6.18.0, babel-generator@^6.26.0:
- version "6.26.1"
- resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
- dependencies:
- babel-messages "^6.23.0"
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- detect-indent "^4.0.0"
- jsesc "^1.3.0"
- lodash "^4.17.4"
- source-map "^0.5.7"
- trim-right "^1.0.1"
-
-babel-helper-builder-react-jsx@^6.24.1:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0"
- dependencies:
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- esutils "^2.0.2"
-
-babel-helper-call-delegate@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
- dependencies:
- babel-helper-hoist-variables "^6.24.1"
- babel-runtime "^6.22.0"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helper-define-map@^6.24.1:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f"
- dependencies:
- babel-helper-function-name "^6.24.1"
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- lodash "^4.17.4"
-
-babel-helper-function-name@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
- dependencies:
- babel-helper-get-function-arity "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helper-get-function-arity@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-helper-hoist-variables@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-helper-optimise-call-expression@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-helper-regex@^6.24.1:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72"
- dependencies:
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- lodash "^4.17.4"
-
-babel-helper-replace-supers@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
- dependencies:
- babel-helper-optimise-call-expression "^6.24.1"
- babel-messages "^6.23.0"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helpers@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
- dependencies:
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-jest@23.4.0, babel-jest@^23.4.0:
- version "23.4.0"
- resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.4.0.tgz#22c34c392e2176f6a4c367992a7fcff69d2e8557"
- dependencies:
- babel-plugin-istanbul "^4.1.6"
- babel-preset-jest "^23.2.0"
-
-babel-messages@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-check-es2015-constants@^6.8.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-external-helpers@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz#2285f48b02bd5dede85175caf8c62e86adccefa1"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-istanbul@^4.1.6:
- version "4.1.6"
- resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45"
- dependencies:
- babel-plugin-syntax-object-rest-spread "^6.13.0"
- find-up "^2.1.0"
- istanbul-lib-instrument "^1.10.1"
- test-exclude "^4.2.1"
-
-babel-plugin-jest-hoist@^23.2.0:
- version "23.2.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167"
-
-babel-plugin-syntax-class-properties@^6.8.0:
- version "6.13.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de"
-
-babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.8.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d"
-
-babel-plugin-syntax-jsx@^6.8.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
-
-babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.8.0:
- version "6.13.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
-
-babel-plugin-syntax-trailing-function-commas@^6.8.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
-
-babel-plugin-transform-class-properties@^6.8.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac"
- dependencies:
- babel-helper-function-name "^6.24.1"
- babel-plugin-syntax-class-properties "^6.8.0"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-arrow-functions@^6.8.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-block-scoped-functions@^6.8.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-block-scoping@^6.8.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f"
- dependencies:
- babel-runtime "^6.26.0"
- babel-template "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- lodash "^4.17.4"
-
-babel-plugin-transform-es2015-classes@^6.8.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
- dependencies:
- babel-helper-define-map "^6.24.1"
- babel-helper-function-name "^6.24.1"
- babel-helper-optimise-call-expression "^6.24.1"
- babel-helper-replace-supers "^6.24.1"
- babel-messages "^6.23.0"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-computed-properties@^6.8.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3"
- dependencies:
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-destructuring@6.x, babel-plugin-transform-es2015-destructuring@^6.8.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-for-of@^6.8.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-function-name@6.x, babel-plugin-transform-es2015-function-name@^6.8.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
- dependencies:
- babel-helper-function-name "^6.24.1"
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-literals@^6.8.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-modules-commonjs@6.x, babel-plugin-transform-es2015-modules-commonjs@^6.8.0:
- version "6.26.2"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3"
- dependencies:
- babel-plugin-transform-strict-mode "^6.24.1"
- babel-runtime "^6.26.0"
- babel-template "^6.26.0"
- babel-types "^6.26.0"
-
-babel-plugin-transform-es2015-object-super@^6.8.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d"
- dependencies:
- babel-helper-replace-supers "^6.24.1"
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-parameters@6.x, babel-plugin-transform-es2015-parameters@^6.8.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
- dependencies:
- babel-helper-call-delegate "^6.24.1"
- babel-helper-get-function-arity "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-shorthand-properties@6.x, babel-plugin-transform-es2015-shorthand-properties@^6.8.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0"
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-spread@6.x, babel-plugin-transform-es2015-spread@^6.8.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-sticky-regex@6.x:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
- dependencies:
- babel-helper-regex "^6.24.1"
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-template-literals@^6.8.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-unicode-regex@6.x:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
- dependencies:
- babel-helper-regex "^6.24.1"
- babel-runtime "^6.22.0"
- regexpu-core "^2.0.0"
-
-babel-plugin-transform-es3-member-expression-literals@^6.8.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz#733d3444f3ecc41bef8ed1a6a4e09657b8969ebb"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-es3-property-literals@^6.8.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz#b2078d5842e22abf40f73e8cde9cd3711abd5758"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-flow-strip-types@^6.21.0, babel-plugin-transform-flow-strip-types@^6.8.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf"
- dependencies:
- babel-plugin-syntax-flow "^6.18.0"
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-object-rest-spread@^6.8.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06"
- dependencies:
- babel-plugin-syntax-object-rest-spread "^6.8.0"
- babel-runtime "^6.26.0"
-
-babel-plugin-transform-react-display-name@^6.8.0:
- version "6.25.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1"
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-react-jsx@^6.8.0:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3"
- dependencies:
- babel-helper-builder-react-jsx "^6.24.1"
- babel-plugin-syntax-jsx "^6.8.0"
- babel-runtime "^6.22.0"
-
-babel-plugin-transform-strict-mode@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-preset-es2015-node@^6.1.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/babel-preset-es2015-node/-/babel-preset-es2015-node-6.1.1.tgz#60b23157024b0cfebf3a63554cb05ee035b4e55f"
- dependencies:
- babel-plugin-transform-es2015-destructuring "6.x"
- babel-plugin-transform-es2015-function-name "6.x"
- babel-plugin-transform-es2015-modules-commonjs "6.x"
- babel-plugin-transform-es2015-parameters "6.x"
- babel-plugin-transform-es2015-shorthand-properties "6.x"
- babel-plugin-transform-es2015-spread "6.x"
- babel-plugin-transform-es2015-sticky-regex "6.x"
- babel-plugin-transform-es2015-unicode-regex "6.x"
- semver "5.x"
-
-babel-preset-fbjs@^2.1.2, babel-preset-fbjs@^2.1.4:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-2.1.4.tgz#22f358e6654073acf61e47a052a777d7bccf03af"
- dependencies:
- babel-plugin-check-es2015-constants "^6.8.0"
- babel-plugin-syntax-class-properties "^6.8.0"
- babel-plugin-syntax-flow "^6.8.0"
- babel-plugin-syntax-jsx "^6.8.0"
- babel-plugin-syntax-object-rest-spread "^6.8.0"
- babel-plugin-syntax-trailing-function-commas "^6.8.0"
- babel-plugin-transform-class-properties "^6.8.0"
- babel-plugin-transform-es2015-arrow-functions "^6.8.0"
- babel-plugin-transform-es2015-block-scoped-functions "^6.8.0"
- babel-plugin-transform-es2015-block-scoping "^6.8.0"
- babel-plugin-transform-es2015-classes "^6.8.0"
- babel-plugin-transform-es2015-computed-properties "^6.8.0"
- babel-plugin-transform-es2015-destructuring "^6.8.0"
- babel-plugin-transform-es2015-for-of "^6.8.0"
- babel-plugin-transform-es2015-function-name "^6.8.0"
- babel-plugin-transform-es2015-literals "^6.8.0"
- babel-plugin-transform-es2015-modules-commonjs "^6.8.0"
- babel-plugin-transform-es2015-object-super "^6.8.0"
- babel-plugin-transform-es2015-parameters "^6.8.0"
- babel-plugin-transform-es2015-shorthand-properties "^6.8.0"
- babel-plugin-transform-es2015-spread "^6.8.0"
- babel-plugin-transform-es2015-template-literals "^6.8.0"
- babel-plugin-transform-es3-member-expression-literals "^6.8.0"
- babel-plugin-transform-es3-property-literals "^6.8.0"
- babel-plugin-transform-flow-strip-types "^6.8.0"
- babel-plugin-transform-object-rest-spread "^6.8.0"
- babel-plugin-transform-react-display-name "^6.8.0"
- babel-plugin-transform-react-jsx "^6.8.0"
-
-babel-preset-jest@^23.2.0:
- version "23.2.0"
- resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46"
- dependencies:
- babel-plugin-jest-hoist "^23.2.0"
- babel-plugin-syntax-object-rest-spread "^6.13.0"
-
-babel-preset-react-native@^5, babel-preset-react-native@^5.0.0:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-5.0.2.tgz#dfed62379712a9c017ff99ce4fbeac1e11d42285"
- dependencies:
- "@babel/plugin-proposal-class-properties" "7.0.0-beta.47"
- "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.47"
- "@babel/plugin-proposal-optional-chaining" "7.0.0-beta.47"
- "@babel/plugin-transform-arrow-functions" "7.0.0-beta.47"
- "@babel/plugin-transform-block-scoping" "7.0.0-beta.47"
- "@babel/plugin-transform-classes" "7.0.0-beta.47"
- "@babel/plugin-transform-computed-properties" "7.0.0-beta.47"
- "@babel/plugin-transform-destructuring" "7.0.0-beta.47"
- "@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.47"
- "@babel/plugin-transform-flow-strip-types" "7.0.0-beta.47"
- "@babel/plugin-transform-for-of" "7.0.0-beta.47"
- "@babel/plugin-transform-function-name" "7.0.0-beta.47"
- "@babel/plugin-transform-literals" "7.0.0-beta.47"
- "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.47"
- "@babel/plugin-transform-object-assign" "7.0.0-beta.47"
- "@babel/plugin-transform-parameters" "7.0.0-beta.47"
- "@babel/plugin-transform-react-display-name" "7.0.0-beta.47"
- "@babel/plugin-transform-react-jsx" "7.0.0-beta.47"
- "@babel/plugin-transform-react-jsx-source" "7.0.0-beta.47"
- "@babel/plugin-transform-regenerator" "7.0.0-beta.47"
- "@babel/plugin-transform-shorthand-properties" "7.0.0-beta.47"
- "@babel/plugin-transform-spread" "7.0.0-beta.47"
- "@babel/plugin-transform-sticky-regex" "7.0.0-beta.47"
- "@babel/plugin-transform-template-literals" "7.0.0-beta.47"
- "@babel/plugin-transform-unicode-regex" "7.0.0-beta.47"
- "@babel/template" "7.0.0-beta.47"
- metro-babel7-plugin-react-transform "^0.39.1"
-
-babel-register@^6.24.1, babel-register@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
- dependencies:
- babel-core "^6.26.0"
- babel-runtime "^6.26.0"
- core-js "^2.5.0"
- home-or-tmp "^2.0.0"
- lodash "^4.17.4"
- mkdirp "^0.5.1"
- source-map-support "^0.4.15"
-
-babel-runtime@^6.22.0, babel-runtime@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
- dependencies:
- core-js "^2.4.0"
- regenerator-runtime "^0.11.0"
-
-babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
- dependencies:
- babel-runtime "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- lodash "^4.17.4"
-
-babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
- dependencies:
- babel-code-frame "^6.26.0"
- babel-messages "^6.23.0"
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- debug "^2.6.8"
- globals "^9.18.0"
- invariant "^2.2.2"
- lodash "^4.17.4"
-
-babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.24.1, babel-types@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
- dependencies:
- babel-runtime "^6.26.0"
- esutils "^2.0.2"
- lodash "^4.17.4"
- to-fast-properties "^1.0.3"
-
-babylon@7.0.0-beta.47:
- version "7.0.0-beta.47"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.47.tgz#6d1fa44f0abec41ab7c780481e62fd9aafbdea80"
-
-babylon@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
-
-balanced-match@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
-
-base64-js@1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.1.2.tgz#d6400cac1c4c660976d90d07a04351d89395f5e8"
-
-base64-js@^1.1.2, base64-js@^1.2.3:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
-
-base@^0.11.1:
- version "0.11.2"
- resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
- dependencies:
- cache-base "^1.0.1"
- class-utils "^0.3.5"
- component-emitter "^1.2.1"
- define-property "^1.0.0"
- isobject "^3.0.1"
- mixin-deep "^1.2.0"
- pascalcase "^0.1.1"
-
-basic-auth@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.0.tgz#015db3f353e02e56377755f962742e8981e7bbba"
- dependencies:
- safe-buffer "5.1.1"
-
-bcrypt-pbkdf@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
- dependencies:
- tweetnacl "^0.14.3"
-
-big-integer@^1.6.7:
- version "1.6.32"
- resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.32.tgz#5867458b25ecd5bcb36b627c30bb501a13c07e89"
-
-bplist-creator@0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.7.tgz#37df1536092824b87c42f957b01344117372ae45"
- dependencies:
- stream-buffers "~2.2.0"
-
-bplist-parser@0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.1.1.tgz#d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6"
- dependencies:
- big-integer "^1.6.7"
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-braces@^1.8.2:
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
- dependencies:
- expand-range "^1.8.1"
- preserve "^0.2.0"
- repeat-element "^1.1.2"
-
-braces@^2.3.1:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
- dependencies:
- arr-flatten "^1.1.0"
- array-unique "^0.3.2"
- extend-shallow "^2.0.1"
- fill-range "^4.0.0"
- isobject "^3.0.1"
- repeat-element "^1.1.2"
- snapdragon "^0.8.1"
- snapdragon-node "^2.0.1"
- split-string "^3.0.2"
- to-regex "^3.0.1"
-
-browser-process-hrtime@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e"
-
-browser-resolve@^1.11.3:
- version "1.11.3"
- resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6"
- dependencies:
- resolve "1.1.7"
-
-bser@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
- dependencies:
- node-int64 "^0.4.0"
-
-buffer-from@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04"
-
-builtin-modules@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
-
-bytes@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
-
-cache-base@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
- dependencies:
- collection-visit "^1.0.0"
- component-emitter "^1.2.1"
- get-value "^2.0.6"
- has-value "^1.0.0"
- isobject "^3.0.1"
- set-value "^2.0.0"
- to-object-path "^0.3.0"
- union-value "^1.0.0"
- unset-value "^1.0.0"
-
-callsites@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
-
-camelcase@^1.0.2:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
-
-camelcase@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
-
-capture-exit@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f"
- dependencies:
- rsvp "^3.3.3"
-
-caseless@~0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
-
-center-align@^0.1.1:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
- dependencies:
- align-text "^0.1.3"
- lazy-cache "^1.0.3"
-
-chalk@^1.1.1, chalk@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
- dependencies:
- ansi-styles "^2.2.1"
- escape-string-regexp "^1.0.2"
- has-ansi "^2.0.0"
- strip-ansi "^3.0.0"
- supports-color "^2.0.0"
-
-chalk@^2.0.0, chalk@^2.0.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
-chardet@^0.4.0:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
-
-chownr@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
-
-ci-info@^1.0.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.3.tgz#710193264bb05c77b8c90d02f5aaf22216a667b2"
-
-class-utils@^0.3.5:
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
- dependencies:
- arr-union "^3.1.0"
- define-property "^0.2.5"
- isobject "^3.0.0"
- static-extend "^0.1.1"
-
-cli-cursor@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
- dependencies:
- restore-cursor "^2.0.0"
-
-cli-width@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
-
-cliui@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
- dependencies:
- center-align "^0.1.1"
- right-align "^0.1.1"
- wordwrap "0.0.2"
-
-cliui@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
- dependencies:
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
- wrap-ansi "^2.0.0"
-
-cliui@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
- dependencies:
- string-width "^2.1.1"
- strip-ansi "^4.0.0"
- wrap-ansi "^2.0.0"
-
-co@^4.6.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
-
-code-point-at@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
-
-collection-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
- dependencies:
- map-visit "^1.0.0"
- object-visit "^1.0.0"
-
-color-convert@^1.9.0:
- version "1.9.2"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147"
- dependencies:
- color-name "1.1.1"
-
-color-name@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689"
-
-color-support@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
-
-combined-stream@1.0.6, combined-stream@~1.0.5:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818"
- dependencies:
- delayed-stream "~1.0.0"
-
-commander@^2.9.0:
- version "2.16.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50"
-
-commander@~2.13.0:
- version "2.13.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c"
-
-commondir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
-
-compare-versions@^3.1.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.3.0.tgz#af93ea705a96943f622ab309578b9b90586f39c3"
-
-component-emitter@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
-
-compressible@~2.0.13:
- version "2.0.14"
- resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.14.tgz#326c5f507fbb055f54116782b969a81b67a29da7"
- dependencies:
- mime-db ">= 1.34.0 < 2"
-
-compression@^1.7.1:
- version "1.7.2"
- resolved "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69"
- dependencies:
- accepts "~1.3.4"
- bytes "3.0.0"
- compressible "~2.0.13"
- debug "2.6.9"
- on-headers "~1.0.1"
- safe-buffer "5.1.1"
- vary "~1.1.2"
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-
-concat-stream@^1.6.0:
- version "1.6.2"
- resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
- dependencies:
- buffer-from "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^2.2.2"
- typedarray "^0.0.6"
-
-connect@^3.6.5:
- version "3.6.6"
- resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz#09eff6c55af7236e137135a72574858b6786f524"
- dependencies:
- debug "2.6.9"
- finalhandler "1.1.0"
- parseurl "~1.3.2"
- utils-merge "1.0.1"
-
-console-control-strings@^1.0.0, console-control-strings@~1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
-
-convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
-
-copy-descriptor@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
-
-core-js@^1.0.0:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
-
-core-js@^2.2.2, core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.5.3:
- version "2.5.7"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e"
-
-core-util-is@1.0.2, core-util-is@~1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
-
-create-react-class@^15.6.3:
- version "15.6.3"
- resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036"
- dependencies:
- fbjs "^0.8.9"
- loose-envify "^1.3.1"
- object-assign "^4.1.1"
-
-cross-spawn@^5.0.1, cross-spawn@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
- dependencies:
- lru-cache "^4.0.1"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
- version "0.3.4"
- resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797"
-
-"cssstyle@>= 0.3.1 < 0.4.0":
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.3.1.tgz#6da9b4cff1bc5d716e6e5fe8e04fcb1b50a49adf"
- dependencies:
- cssom "0.3.x"
-
-dashdash@^1.12.0:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
- dependencies:
- assert-plus "^1.0.0"
-
-data-urls@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.0.0.tgz#24802de4e81c298ea8a9388bb0d8e461c774684f"
- dependencies:
- abab "^1.0.4"
- whatwg-mimetype "^2.0.0"
- whatwg-url "^6.4.0"
-
-debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- dependencies:
- ms "2.0.0"
-
-debug@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
- dependencies:
- ms "2.0.0"
-
-decamelize@^1.0.0, decamelize@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
-
-decode-uri-component@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
-
-deep-extend@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
-
-deep-is@~0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
-
-default-require-extensions@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7"
- dependencies:
- strip-bom "^3.0.0"
-
-define-properties@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
- dependencies:
- foreach "^2.0.5"
- object-keys "^1.0.8"
-
-define-property@^0.2.5:
- version "0.2.5"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
- dependencies:
- is-descriptor "^0.1.0"
-
-define-property@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
- dependencies:
- is-descriptor "^1.0.0"
-
-define-property@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
- dependencies:
- is-descriptor "^1.0.2"
- isobject "^3.0.1"
-
-delayed-stream@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
-
-delegates@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
-
-denodeify@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631"
-
-depd@~1.1.1, depd@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
-
-destroy@~1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
-
-detect-indent@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
- dependencies:
- repeating "^2.0.0"
-
-detect-libc@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
-
-detect-newline@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
-
-diff@^3.2.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
-
-dom-walk@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018"
-
-domexception@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
- dependencies:
- webidl-conversions "^4.0.2"
-
-ecc-jsbn@~0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
- dependencies:
- jsbn "~0.1.0"
-
-ee-first@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
-
-encodeurl@~1.0.1, encodeurl@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
-
-encoding@^0.1.11:
- version "0.1.12"
- resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
- dependencies:
- iconv-lite "~0.4.13"
-
-envinfo@^5.7.0:
- version "5.10.0"
- resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-5.10.0.tgz#503a9774ae15b93ea68bdfae2ccd6306624ea6df"
-
-error-ex@^1.2.0:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
- dependencies:
- is-arrayish "^0.2.1"
-
-errorhandler@^1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.5.0.tgz#eaba64ca5d542a311ac945f582defc336165d9f4"
- dependencies:
- accepts "~1.3.3"
- escape-html "~1.0.3"
-
-es-abstract@^1.5.1:
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
- dependencies:
- es-to-primitive "^1.1.1"
- function-bind "^1.1.1"
- has "^1.0.1"
- is-callable "^1.1.3"
- is-regex "^1.0.4"
-
-es-to-primitive@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
- dependencies:
- is-callable "^1.1.1"
- is-date-object "^1.0.1"
- is-symbol "^1.0.1"
-
-escape-html@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
-
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
-
-escodegen@^1.9.0:
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589"
- dependencies:
- esprima "^3.1.3"
- estraverse "^4.2.0"
- esutils "^2.0.2"
- optionator "^0.8.1"
- optionalDependencies:
- source-map "~0.6.1"
-
-esprima@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
-
-esprima@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
-
-estraverse@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
-
-esutils@^2.0.0, esutils@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
-
-etag@~1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
-
-event-target-shim@^1.0.5:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-1.1.1.tgz#a86e5ee6bdaa16054475da797ccddf0c55698491"
-
-eventemitter3@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163"
-
-exec-sh@^0.2.0:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36"
- dependencies:
- merge "^1.2.0"
-
-execa@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
- dependencies:
- cross-spawn "^5.0.1"
- get-stream "^3.0.0"
- is-stream "^1.1.0"
- npm-run-path "^2.0.0"
- p-finally "^1.0.0"
- signal-exit "^3.0.0"
- strip-eof "^1.0.0"
-
-exit@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
-
-expand-brackets@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
- dependencies:
- is-posix-bracket "^0.1.0"
-
-expand-brackets@^2.1.4:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
- dependencies:
- debug "^2.3.3"
- define-property "^0.2.5"
- extend-shallow "^2.0.1"
- posix-character-classes "^0.1.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-expand-range@^1.8.1:
- version "1.8.2"
- resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
- dependencies:
- fill-range "^2.1.0"
-
-expect@^23.4.0:
- version "23.4.0"
- resolved "https://registry.yarnpkg.com/expect/-/expect-23.4.0.tgz#6da4ecc99c1471253e7288338983ad1ebadb60c3"
- dependencies:
- ansi-styles "^3.2.0"
- jest-diff "^23.2.0"
- jest-get-type "^22.1.0"
- jest-matcher-utils "^23.2.0"
- jest-message-util "^23.4.0"
- jest-regex-util "^23.3.0"
-
-extend-shallow@^1.1.2:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071"
- dependencies:
- kind-of "^1.1.0"
-
-extend-shallow@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
- dependencies:
- is-extendable "^0.1.0"
-
-extend-shallow@^3.0.0, extend-shallow@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
- dependencies:
- assign-symbols "^1.0.0"
- is-extendable "^1.0.1"
-
-extend@~3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
-
-external-editor@^2.0.4:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
- dependencies:
- chardet "^0.4.0"
- iconv-lite "^0.4.17"
- tmp "^0.0.33"
-
-extglob@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
- dependencies:
- is-extglob "^1.0.0"
-
-extglob@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
- dependencies:
- array-unique "^0.3.2"
- define-property "^1.0.0"
- expand-brackets "^2.1.4"
- extend-shallow "^2.0.1"
- fragment-cache "^0.2.1"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-extsprintf@1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
-
-extsprintf@^1.2.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
-
-fancy-log@^1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.2.tgz#f41125e3d84f2e7d89a43d06d958c8f78be16be1"
- dependencies:
- ansi-gray "^0.1.1"
- color-support "^1.1.3"
- time-stamp "^1.0.0"
-
-fast-deep-equal@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
-
-fast-json-stable-stringify@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
-
-fast-levenshtein@~2.0.4:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
-
-fb-watchman@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58"
- dependencies:
- bser "^2.0.0"
-
-fbjs-scripts@^0.8.1:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/fbjs-scripts/-/fbjs-scripts-0.8.3.tgz#b854de7a11e62a37f72dab9aaf4d9b53c4a03174"
- dependencies:
- ansi-colors "^1.0.1"
- babel-core "^6.7.2"
- babel-preset-fbjs "^2.1.2"
- core-js "^2.4.1"
- cross-spawn "^5.1.0"
- fancy-log "^1.3.2"
- object-assign "^4.0.1"
- plugin-error "^0.1.2"
- semver "^5.1.0"
- through2 "^2.0.0"
-
-fbjs@0.8.16:
- version "0.8.16"
- resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db"
- dependencies:
- core-js "^1.0.0"
- isomorphic-fetch "^2.1.1"
- loose-envify "^1.0.0"
- object-assign "^4.1.0"
- promise "^7.1.1"
- setimmediate "^1.0.5"
- ua-parser-js "^0.7.9"
-
-fbjs@^0.8.14, fbjs@^0.8.16, fbjs@^0.8.9:
- version "0.8.17"
- resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
- dependencies:
- core-js "^1.0.0"
- isomorphic-fetch "^2.1.1"
- loose-envify "^1.0.0"
- object-assign "^4.1.0"
- promise "^7.1.1"
- setimmediate "^1.0.5"
- ua-parser-js "^0.7.18"
-
-figures@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
- dependencies:
- escape-string-regexp "^1.0.5"
-
-filename-regex@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
-
-fileset@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0"
- dependencies:
- glob "^7.0.3"
- minimatch "^3.0.3"
-
-fill-range@^2.1.0:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
- dependencies:
- is-number "^2.1.0"
- isobject "^2.0.0"
- randomatic "^3.0.0"
- repeat-element "^1.1.2"
- repeat-string "^1.5.2"
-
-fill-range@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
- dependencies:
- extend-shallow "^2.0.1"
- is-number "^3.0.0"
- repeat-string "^1.6.1"
- to-regex-range "^2.1.0"
-
-finalhandler@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5"
- dependencies:
- debug "2.6.9"
- encodeurl "~1.0.1"
- escape-html "~1.0.3"
- on-finished "~2.3.0"
- parseurl "~1.3.2"
- statuses "~1.3.1"
- unpipe "~1.0.0"
-
-find-cache-dir@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f"
- dependencies:
- commondir "^1.0.1"
- make-dir "^1.0.0"
- pkg-dir "^2.0.0"
-
-find-up@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
- dependencies:
- path-exists "^2.0.0"
- pinkie-promise "^2.0.0"
-
-find-up@^2.0.0, find-up@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
- dependencies:
- locate-path "^2.0.0"
-
-for-in@^1.0.1, for-in@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
-
-for-own@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
- dependencies:
- for-in "^1.0.1"
-
-foreach@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
-
-forever-agent@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
-
-form-data@~2.3.1:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099"
- dependencies:
- asynckit "^0.4.0"
- combined-stream "1.0.6"
- mime-types "^2.1.12"
-
-fragment-cache@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
- dependencies:
- map-cache "^0.2.2"
-
-fresh@0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
-
-fs-extra@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950"
- dependencies:
- graceful-fs "^4.1.2"
- jsonfile "^2.1.0"
- klaw "^1.0.0"
-
-fs-minipass@^1.2.5:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
- dependencies:
- minipass "^2.2.1"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
-
-fsevents@^1.2.3:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426"
- dependencies:
- nan "^2.9.2"
- node-pre-gyp "^0.10.0"
-
-function-bind@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
-
-gauge@~1.2.5:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93"
- dependencies:
- ansi "^0.3.0"
- has-unicode "^2.0.0"
- lodash.pad "^4.1.0"
- lodash.padend "^4.1.0"
- lodash.padstart "^4.1.0"
-
-gauge@~2.7.3:
- version "2.7.4"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
- dependencies:
- aproba "^1.0.3"
- console-control-strings "^1.0.0"
- has-unicode "^2.0.0"
- object-assign "^4.1.0"
- signal-exit "^3.0.0"
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
- wide-align "^1.1.0"
-
-get-caller-file@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
-
-get-stream@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
-
-get-value@^2.0.3, get-value@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
-
-getpass@^0.1.1:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
- dependencies:
- assert-plus "^1.0.0"
-
-glob-base@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
- dependencies:
- glob-parent "^2.0.0"
- is-glob "^2.0.0"
-
-glob-parent@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
- dependencies:
- is-glob "^2.0.0"
-
-glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-global@^4.3.0:
- version "4.3.2"
- resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f"
- dependencies:
- min-document "^2.19.0"
- process "~0.5.1"
-
-globals@^11.1.0:
- version "11.7.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673"
-
-globals@^9.18.0:
- version "9.18.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
- version "4.1.11"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
-
-growly@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
-
-handlebars@^4.0.3:
- version "4.0.11"
- resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc"
- dependencies:
- async "^1.4.0"
- optimist "^0.6.1"
- source-map "^0.4.4"
- optionalDependencies:
- uglify-js "^2.6"
-
-har-schema@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
-
-har-validator@~5.0.3:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd"
- dependencies:
- ajv "^5.1.0"
- har-schema "^2.0.0"
-
-has-ansi@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
- dependencies:
- ansi-regex "^2.0.0"
-
-has-flag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
-
-has-flag@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
-
-has-unicode@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
-
-has-value@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
- dependencies:
- get-value "^2.0.3"
- has-values "^0.1.4"
- isobject "^2.0.0"
-
-has-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
- dependencies:
- get-value "^2.0.6"
- has-values "^1.0.0"
- isobject "^3.0.0"
-
-has-values@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
-
-has-values@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
- dependencies:
- is-number "^3.0.0"
- kind-of "^4.0.0"
-
-has@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
- dependencies:
- function-bind "^1.1.1"
-
-home-or-tmp@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
- dependencies:
- os-homedir "^1.0.0"
- os-tmpdir "^1.0.1"
-
-home-or-tmp@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-3.0.0.tgz#57a8fe24cf33cdd524860a15821ddc25c86671fb"
-
-hosted-git-info@^2.1.4:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
-
-html-encoding-sniffer@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
- dependencies:
- whatwg-encoding "^1.0.1"
-
-http-errors@~1.6.2:
- version "1.6.3"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
- dependencies:
- depd "~1.1.2"
- inherits "2.0.3"
- setprototypeof "1.1.0"
- statuses ">= 1.4.0 < 2"
-
-http-signature@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
- dependencies:
- assert-plus "^1.0.0"
- jsprim "^1.2.2"
- sshpk "^1.7.0"
-
-iconv-lite@0.4.19:
- version "0.4.19"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
-
-iconv-lite@^0.4.17, iconv-lite@^0.4.4, iconv-lite@~0.4.13:
- version "0.4.23"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
-ignore-walk@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
- dependencies:
- minimatch "^3.0.4"
-
-image-size@^0.6.0:
- version "0.6.3"
- resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.6.3.tgz#e7e5c65bb534bd7cdcedd6cb5166272a85f75fb2"
-
-import-local@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc"
- dependencies:
- pkg-dir "^2.0.0"
- resolve-cwd "^2.0.0"
-
-imurmurhash@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@2.0.3, inherits@^2.0.3, inherits@~2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
-
-ini@~1.3.0:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
-
-inquirer@^3.0.6:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
- dependencies:
- ansi-escapes "^3.0.0"
- chalk "^2.0.0"
- cli-cursor "^2.1.0"
- cli-width "^2.0.0"
- external-editor "^2.0.4"
- figures "^2.0.0"
- lodash "^4.3.0"
- mute-stream "0.0.7"
- run-async "^2.2.0"
- rx-lite "^4.0.8"
- rx-lite-aggregates "^4.0.8"
- string-width "^2.1.0"
- strip-ansi "^4.0.0"
- through "^2.3.6"
-
-invariant@^2.2.0, invariant@^2.2.2:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
- dependencies:
- loose-envify "^1.0.0"
-
-invert-kv@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
-
-is-accessor-descriptor@^0.1.6:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
- dependencies:
- kind-of "^3.0.2"
-
-is-accessor-descriptor@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
- dependencies:
- kind-of "^6.0.0"
-
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
-
-is-buffer@^1.1.5:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
-
-is-builtin-module@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
- dependencies:
- builtin-modules "^1.0.0"
-
-is-callable@^1.1.1, is-callable@^1.1.3:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
-
-is-ci@^1.0.10:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5"
- dependencies:
- ci-info "^1.0.0"
-
-is-data-descriptor@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
- dependencies:
- kind-of "^3.0.2"
-
-is-data-descriptor@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
- dependencies:
- kind-of "^6.0.0"
-
-is-date-object@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
-
-is-descriptor@^0.1.0:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
- dependencies:
- is-accessor-descriptor "^0.1.6"
- is-data-descriptor "^0.1.4"
- kind-of "^5.0.0"
-
-is-descriptor@^1.0.0, is-descriptor@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
- dependencies:
- is-accessor-descriptor "^1.0.0"
- is-data-descriptor "^1.0.0"
- kind-of "^6.0.2"
-
-is-dotfile@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
-
-is-equal-shallow@^0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
- dependencies:
- is-primitive "^2.0.0"
-
-is-extendable@^0.1.0, is-extendable@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
-
-is-extendable@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
- dependencies:
- is-plain-object "^2.0.4"
-
-is-extglob@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
-
-is-finite@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
- dependencies:
- number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
- dependencies:
- number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
-
-is-generator-fn@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a"
-
-is-glob@^2.0.0, is-glob@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
- dependencies:
- is-extglob "^1.0.0"
-
-is-number@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
- dependencies:
- kind-of "^3.0.2"
-
-is-number@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
- dependencies:
- kind-of "^3.0.2"
-
-is-number@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
-
-is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
- dependencies:
- isobject "^3.0.1"
-
-is-posix-bracket@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
-
-is-primitive@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
-
-is-promise@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
-
-is-regex@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
- dependencies:
- has "^1.0.1"
-
-is-stream@^1.0.1, is-stream@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
-
-is-symbol@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
-
-is-typedarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
-
-is-utf8@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
-
-is-windows@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
-
-isarray@1.0.0, isarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
-
-isobject@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
- dependencies:
- isarray "1.0.0"
-
-isobject@^3.0.0, isobject@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
-
-isomorphic-fetch@^2.1.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
- dependencies:
- node-fetch "^1.0.1"
- whatwg-fetch ">=0.10.0"
-
-isstream@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
-
-istanbul-api@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.1.tgz#4c3b05d18c0016d1022e079b98dc82c40f488954"
- dependencies:
- async "^2.1.4"
- compare-versions "^3.1.0"
- fileset "^2.0.2"
- istanbul-lib-coverage "^1.2.0"
- istanbul-lib-hook "^1.2.0"
- istanbul-lib-instrument "^1.10.1"
- istanbul-lib-report "^1.1.4"
- istanbul-lib-source-maps "^1.2.4"
- istanbul-reports "^1.3.0"
- js-yaml "^3.7.0"
- mkdirp "^0.5.1"
- once "^1.4.0"
-
-istanbul-lib-coverage@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341"
-
-istanbul-lib-hook@^1.2.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.1.tgz#f614ec45287b2a8fc4f07f5660af787575601805"
- dependencies:
- append-transform "^1.0.0"
-
-istanbul-lib-instrument@^1.10.1:
- version "1.10.1"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz#724b4b6caceba8692d3f1f9d0727e279c401af7b"
- dependencies:
- babel-generator "^6.18.0"
- babel-template "^6.16.0"
- babel-traverse "^6.18.0"
- babel-types "^6.18.0"
- babylon "^6.18.0"
- istanbul-lib-coverage "^1.2.0"
- semver "^5.3.0"
-
-istanbul-lib-report@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz#e886cdf505c4ebbd8e099e4396a90d0a28e2acb5"
- dependencies:
- istanbul-lib-coverage "^1.2.0"
- mkdirp "^0.5.1"
- path-parse "^1.0.5"
- supports-color "^3.1.2"
-
-istanbul-lib-source-maps@^1.2.4:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz#ffe6be4e7ab86d3603e4290d54990b14506fc9b1"
- dependencies:
- debug "^3.1.0"
- istanbul-lib-coverage "^1.2.0"
- mkdirp "^0.5.1"
- rimraf "^2.6.1"
- source-map "^0.5.3"
-
-istanbul-reports@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.3.0.tgz#2f322e81e1d9520767597dca3c20a0cce89a3554"
- dependencies:
- handlebars "^4.0.3"
-
-jest-changed-files@^23.4.0:
- version "23.4.0"
- resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.4.0.tgz#f1b304f98c235af5d9a31ec524262c5e4de3c6ff"
- dependencies:
- throat "^4.0.0"
-
-jest-cli@^23.4.1:
- version "23.4.1"
- resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.4.1.tgz#c1ffd33254caee376990aa2abe2963e0de4ca76b"
- dependencies:
- ansi-escapes "^3.0.0"
- chalk "^2.0.1"
- exit "^0.1.2"
- glob "^7.1.2"
- graceful-fs "^4.1.11"
- import-local "^1.0.0"
- is-ci "^1.0.10"
- istanbul-api "^1.3.1"
- istanbul-lib-coverage "^1.2.0"
- istanbul-lib-instrument "^1.10.1"
- istanbul-lib-source-maps "^1.2.4"
- jest-changed-files "^23.4.0"
- jest-config "^23.4.1"
- jest-environment-jsdom "^23.4.0"
- jest-get-type "^22.1.0"
- jest-haste-map "^23.4.1"
- jest-message-util "^23.4.0"
- jest-regex-util "^23.3.0"
- jest-resolve-dependencies "^23.4.1"
- jest-runner "^23.4.1"
- jest-runtime "^23.4.1"
- jest-snapshot "^23.4.1"
- jest-util "^23.4.0"
- jest-validate "^23.4.0"
- jest-watcher "^23.4.0"
- jest-worker "^23.2.0"
- micromatch "^2.3.11"
- node-notifier "^5.2.1"
- prompts "^0.1.9"
- realpath-native "^1.0.0"
- rimraf "^2.5.4"
- slash "^1.0.0"
- string-length "^2.0.0"
- strip-ansi "^4.0.0"
- which "^1.2.12"
- yargs "^11.0.0"
-
-jest-config@^23.4.1:
- version "23.4.1"
- resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.4.1.tgz#3172fa21f0507d7f8a088ed1dbe4157057f201e9"
- dependencies:
- babel-core "^6.0.0"
- babel-jest "^23.4.0"
- chalk "^2.0.1"
- glob "^7.1.1"
- jest-environment-jsdom "^23.4.0"
- jest-environment-node "^23.4.0"
- jest-get-type "^22.1.0"
- jest-jasmine2 "^23.4.1"
- jest-regex-util "^23.3.0"
- jest-resolve "^23.4.1"
- jest-util "^23.4.0"
- jest-validate "^23.4.0"
- pretty-format "^23.2.0"
-
-jest-diff@^23.2.0:
- version "23.2.0"
- resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.2.0.tgz#9f2cf4b51e12c791550200abc16b47130af1062a"
- dependencies:
- chalk "^2.0.1"
- diff "^3.2.0"
- jest-get-type "^22.1.0"
- pretty-format "^23.2.0"
-
-jest-docblock@23.0.1:
- version "23.0.1"
- resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.0.1.tgz#deddd18333be5dc2415260a04ef3fce9276b5725"
- dependencies:
- detect-newline "^2.1.0"
-
-jest-docblock@^23.0.1, jest-docblock@^23.2.0:
- version "23.2.0"
- resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7"
- dependencies:
- detect-newline "^2.1.0"
-
-jest-each@^23.4.0:
- version "23.4.0"
- resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.4.0.tgz#2fa9edd89daa1a4edc9ff9bf6062a36b71345143"
- dependencies:
- chalk "^2.0.1"
- pretty-format "^23.2.0"
-
-jest-environment-jsdom@^23.4.0:
- version "23.4.0"
- resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz#056a7952b3fea513ac62a140a2c368c79d9e6023"
- dependencies:
- jest-mock "^23.2.0"
- jest-util "^23.4.0"
- jsdom "^11.5.1"
-
-jest-environment-node@^23.4.0:
- version "23.4.0"
- resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-23.4.0.tgz#57e80ed0841dea303167cce8cd79521debafde10"
- dependencies:
- jest-mock "^23.2.0"
- jest-util "^23.4.0"
-
-jest-get-type@^22.1.0:
- version "22.4.3"
- resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4"
-
-jest-haste-map@23.1.0:
- version "23.1.0"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.1.0.tgz#18e6c7d5a8d27136f91b7d9852f85de0c7074c49"
- dependencies:
- fb-watchman "^2.0.0"
- graceful-fs "^4.1.11"
- jest-docblock "^23.0.1"
- jest-serializer "^23.0.1"
- jest-worker "^23.0.1"
- micromatch "^2.3.11"
- sane "^2.0.0"
-
-jest-haste-map@^23.4.1:
- version "23.4.1"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.4.1.tgz#43a174ba7ac079ae1dd74eaf5a5fe78989474dd2"
- dependencies:
- fb-watchman "^2.0.0"
- graceful-fs "^4.1.11"
- jest-docblock "^23.2.0"
- jest-serializer "^23.0.1"
- jest-worker "^23.2.0"
- micromatch "^2.3.11"
- sane "^2.0.0"
-
-jest-jasmine2@^23.4.1:
- version "23.4.1"
- resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.4.1.tgz#fa192262430d418e827636e4a98423e5e7ff0fce"
- dependencies:
- chalk "^2.0.1"
- co "^4.6.0"
- expect "^23.4.0"
- is-generator-fn "^1.0.0"
- jest-diff "^23.2.0"
- jest-each "^23.4.0"
- jest-matcher-utils "^23.2.0"
- jest-message-util "^23.4.0"
- jest-snapshot "^23.4.1"
- jest-util "^23.4.0"
- pretty-format "^23.2.0"
-
-jest-leak-detector@^23.2.0:
- version "23.2.0"
- resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.2.0.tgz#c289d961dc638f14357d4ef96e0431ecc1aa377d"
- dependencies:
- pretty-format "^23.2.0"
-
-jest-matcher-utils@^23.2.0:
- version "23.2.0"
- resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.2.0.tgz#4d4981f23213e939e3cedf23dc34c747b5ae1913"
- dependencies:
- chalk "^2.0.1"
- jest-get-type "^22.1.0"
- pretty-format "^23.2.0"
-
-jest-message-util@^23.4.0:
- version "23.4.0"
- resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-23.4.0.tgz#17610c50942349508d01a3d1e0bda2c079086a9f"
- dependencies:
- "@babel/code-frame" "^7.0.0-beta.35"
- chalk "^2.0.1"
- micromatch "^2.3.11"
- slash "^1.0.0"
- stack-utils "^1.0.1"
-
-jest-mock@^23.2.0:
- version "23.2.0"
- resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134"
-
-jest-regex-util@^23.3.0:
- version "23.3.0"
- resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz#5f86729547c2785c4002ceaa8f849fe8ca471bc5"
-
-jest-resolve-dependencies@^23.4.1:
- version "23.4.1"
- resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.4.1.tgz#a1d85247e2963f8b3859f6b0ec61b741b359378e"
- dependencies:
- jest-regex-util "^23.3.0"
- jest-snapshot "^23.4.1"
-
-jest-resolve@^23.4.1:
- version "23.4.1"
- resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.4.1.tgz#7f3c17104732a2c0c940a01256025ed745814982"
- dependencies:
- browser-resolve "^1.11.3"
- chalk "^2.0.1"
- realpath-native "^1.0.0"
-
-jest-runner@^23.4.1:
- version "23.4.1"
- resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.4.1.tgz#d41fd1459b95d35d6df685f1468c09e617c8c260"
- dependencies:
- exit "^0.1.2"
- graceful-fs "^4.1.11"
- jest-config "^23.4.1"
- jest-docblock "^23.2.0"
- jest-haste-map "^23.4.1"
- jest-jasmine2 "^23.4.1"
- jest-leak-detector "^23.2.0"
- jest-message-util "^23.4.0"
- jest-runtime "^23.4.1"
- jest-util "^23.4.0"
- jest-worker "^23.2.0"
- source-map-support "^0.5.6"
- throat "^4.0.0"
-
-jest-runtime@^23.4.1:
- version "23.4.1"
- resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.4.1.tgz#c1822eba5eb19294debe6b25b2760d0a8c532fd1"
- dependencies:
- babel-core "^6.0.0"
- babel-plugin-istanbul "^4.1.6"
- chalk "^2.0.1"
- convert-source-map "^1.4.0"
- exit "^0.1.2"
- fast-json-stable-stringify "^2.0.0"
- graceful-fs "^4.1.11"
- jest-config "^23.4.1"
- jest-haste-map "^23.4.1"
- jest-message-util "^23.4.0"
- jest-regex-util "^23.3.0"
- jest-resolve "^23.4.1"
- jest-snapshot "^23.4.1"
- jest-util "^23.4.0"
- jest-validate "^23.4.0"
- micromatch "^2.3.11"
- realpath-native "^1.0.0"
- slash "^1.0.0"
- strip-bom "3.0.0"
- write-file-atomic "^2.1.0"
- yargs "^11.0.0"
-
-jest-serializer@23.0.1, jest-serializer@^23.0.1:
- version "23.0.1"
- resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165"
-
-jest-snapshot@^23.4.1:
- version "23.4.1"
- resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.4.1.tgz#090de9acae927f6a3af3005bda40d912b83e9c96"
- dependencies:
- babel-traverse "^6.0.0"
- babel-types "^6.0.0"
- chalk "^2.0.1"
- jest-diff "^23.2.0"
- jest-matcher-utils "^23.2.0"
- jest-message-util "^23.4.0"
- jest-resolve "^23.4.1"
- mkdirp "^0.5.1"
- natural-compare "^1.4.0"
- pretty-format "^23.2.0"
- semver "^5.5.0"
-
-jest-util@^23.4.0:
- version "23.4.0"
- resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-23.4.0.tgz#4d063cb927baf0a23831ff61bec2cbbf49793561"
- dependencies:
- callsites "^2.0.0"
- chalk "^2.0.1"
- graceful-fs "^4.1.11"
- is-ci "^1.0.10"
- jest-message-util "^23.4.0"
- mkdirp "^0.5.1"
- slash "^1.0.0"
- source-map "^0.6.0"
-
-jest-validate@^23.4.0:
- version "23.4.0"
- resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.4.0.tgz#d96eede01ef03ac909c009e9c8e455197d48c201"
- dependencies:
- chalk "^2.0.1"
- jest-get-type "^22.1.0"
- leven "^2.1.0"
- pretty-format "^23.2.0"
-
-jest-watcher@^23.4.0:
- version "23.4.0"
- resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.4.0.tgz#d2e28ce74f8dad6c6afc922b92cabef6ed05c91c"
- dependencies:
- ansi-escapes "^3.0.0"
- chalk "^2.0.1"
- string-length "^2.0.0"
-
-jest-worker@23.0.1:
- version "23.0.1"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.0.1.tgz#9e649dd963ff4046026f91c4017f039a6aa4a7bc"
- dependencies:
- merge-stream "^1.0.1"
-
-jest-worker@^23.0.1, jest-worker@^23.2.0:
- version "23.2.0"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9"
- dependencies:
- merge-stream "^1.0.1"
-
-jest@23.4.1:
- version "23.4.1"
- resolved "https://registry.yarnpkg.com/jest/-/jest-23.4.1.tgz#39550c72f3237f63ae1b434d8d122cdf6fa007b6"
- dependencies:
- import-local "^1.0.0"
- jest-cli "^23.4.1"
-
-js-tokens@^3.0.0, js-tokens@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
-
-"js-tokens@^3.0.0 || ^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
-
-js-yaml@^3.7.0:
- version "3.12.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
- dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
-jsbn@~0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
-
-jsdom@^11.5.1:
- version "11.11.0"
- resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.11.0.tgz#df486efad41aee96c59ad7a190e2449c7eb1110e"
- dependencies:
- abab "^1.0.4"
- acorn "^5.3.0"
- acorn-globals "^4.1.0"
- array-equal "^1.0.0"
- cssom ">= 0.3.2 < 0.4.0"
- cssstyle ">= 0.3.1 < 0.4.0"
- data-urls "^1.0.0"
- domexception "^1.0.0"
- escodegen "^1.9.0"
- html-encoding-sniffer "^1.0.2"
- left-pad "^1.2.0"
- nwsapi "^2.0.0"
- parse5 "4.0.0"
- pn "^1.1.0"
- request "^2.83.0"
- request-promise-native "^1.0.5"
- sax "^1.2.4"
- symbol-tree "^3.2.2"
- tough-cookie "^2.3.3"
- w3c-hr-time "^1.0.1"
- webidl-conversions "^4.0.2"
- whatwg-encoding "^1.0.3"
- whatwg-mimetype "^2.1.0"
- whatwg-url "^6.4.1"
- ws "^4.0.0"
- xml-name-validator "^3.0.0"
-
-jsesc@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
-
-jsesc@^2.5.1:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe"
-
-jsesc@~0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
-
-json-schema-traverse@^0.3.0:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
-
-json-schema@0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
-
-json-stable-stringify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
- dependencies:
- jsonify "~0.0.0"
-
-json-stringify-safe@~5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
-
-json5@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d"
-
-json5@^0.5.0, json5@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
-
-jsonfile@^2.1.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsonify@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
-
-jsprim@^1.2.2:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
- dependencies:
- assert-plus "1.0.0"
- extsprintf "1.3.0"
- json-schema "0.2.3"
- verror "1.10.0"
-
-kind-of@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44"
-
-kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
- dependencies:
- is-buffer "^1.1.5"
-
-kind-of@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
- dependencies:
- is-buffer "^1.1.5"
-
-kind-of@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
-
-kind-of@^6.0.0, kind-of@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
-
-klaw@^1.0.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
- optionalDependencies:
- graceful-fs "^4.1.9"
-
-kleur@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/kleur/-/kleur-1.0.1.tgz#6b64a4a42c7226fc0319fec35904f824ad945f7e"
-
-lazy-cache@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
-
-lcid@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
- dependencies:
- invert-kv "^1.0.0"
-
-left-pad@^1.1.3, left-pad@^1.2.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
-
-leven@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
-
-levn@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
- dependencies:
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
-
-load-json-file@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
- dependencies:
- graceful-fs "^4.1.2"
- parse-json "^2.2.0"
- pify "^2.0.0"
- pinkie-promise "^2.0.0"
- strip-bom "^2.0.0"
-
-load-json-file@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
- dependencies:
- graceful-fs "^4.1.2"
- parse-json "^2.2.0"
- pify "^2.0.0"
- strip-bom "^3.0.0"
-
-locate-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
- dependencies:
- p-locate "^2.0.0"
- path-exists "^3.0.0"
-
-lodash.pad@^4.1.0:
- version "4.5.1"
- resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70"
-
-lodash.padend@^4.1.0:
- version "4.6.1"
- resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e"
-
-lodash.padstart@^4.1.0:
- version "4.6.1"
- resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b"
-
-lodash.sortby@^4.7.0:
- version "4.7.0"
- resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
-
-lodash.throttle@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
-
-lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.6.1:
- version "4.17.10"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
-
-longest@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
-
-loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
- dependencies:
- js-tokens "^3.0.0 || ^4.0.0"
-
-lru-cache@^4.0.1:
- version "4.1.3"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c"
- dependencies:
- pseudomap "^1.0.2"
- yallist "^2.1.2"
-
-make-dir@^1.0.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
- dependencies:
- pify "^3.0.0"
-
-makeerror@1.0.x:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
- dependencies:
- tmpl "1.0.x"
-
-map-cache@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
-
-map-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
- dependencies:
- object-visit "^1.0.0"
-
-math-random@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac"
-
-mem@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76"
- dependencies:
- mimic-fn "^1.0.0"
-
-merge-stream@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
- dependencies:
- readable-stream "^2.0.1"
-
-merge@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da"
-
-metro-babel-register@0.38.3, metro-babel-register@^0.38.1:
- version "0.38.3"
- resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.38.3.tgz#9db0b312ea6480079af5a981d9a24fc578de25d6"
- dependencies:
- "@babel/plugin-proposal-class-properties" "7.0.0-beta.47"
- "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.47"
- "@babel/plugin-proposal-optional-chaining" "7.0.0-beta.47"
- "@babel/plugin-transform-async-to-generator" "7.0.0-beta.47"
- "@babel/plugin-transform-flow-strip-types" "7.0.0-beta.47"
- "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.47"
- "@babel/register" "7.0.0-beta.47"
- core-js "^2.2.2"
- escape-string-regexp "^1.0.5"
-
-metro-babel7-plugin-react-transform@0.38.3:
- version "0.38.3"
- resolved "https://registry.yarnpkg.com/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.38.3.tgz#c07742f31139415683a9ee95332f20967641b12f"
- dependencies:
- "@babel/helper-module-imports" "7.0.0-beta.47"
- lodash "^4.17.5"
-
-metro-babel7-plugin-react-transform@^0.39.1:
- version "0.39.1"
- resolved "https://registry.yarnpkg.com/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.39.1.tgz#deb851fa6904ed5b9f4e38f69e3f318a0fb670e6"
- dependencies:
- "@babel/helper-module-imports" "7.0.0-beta.47"
- lodash "^4.17.5"
-
-metro-cache@0.38.3:
- version "0.38.3"
- resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.38.3.tgz#8eec909d5959fedf592147c6c0067fc2a82f51ef"
- dependencies:
- jest-serializer "23.0.1"
- metro-core "0.38.3"
- mkdirp "^0.5.1"
- rimraf "^2.5.4"
-
-metro-core@0.38.3, metro-core@^0.38.1:
- version "0.38.3"
- resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.38.3.tgz#9690835b21cb9c4c623c72bd0a4634babb912d22"
- dependencies:
- jest-haste-map "23.1.0"
- lodash.throttle "^4.1.1"
- metro-resolver "0.38.3"
- wordwrap "^1.0.0"
-
-metro-memory-fs@^0.38.1:
- version "0.38.3"
- resolved "https://registry.yarnpkg.com/metro-memory-fs/-/metro-memory-fs-0.38.3.tgz#e7f80654e16e8ead63378ade1eecd27d3000dc1b"
-
-metro-minify-uglify@0.38.3:
- version "0.38.3"
- resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.38.3.tgz#0bedf37a2fdb98b7e56c3242e169481f3016afff"
- dependencies:
- uglify-es "^3.1.9"
-
-metro-resolver@0.38.3:
- version "0.38.3"
- resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.38.3.tgz#8f82dcbd6862759b352f14c976e23e768cc6ccfc"
- dependencies:
- absolute-path "^0.0.0"
-
-metro-source-map@0.38.3:
- version "0.38.3"
- resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.38.3.tgz#0d3d178a848a373d54ae90fe06eebe0e378eb1ef"
- dependencies:
- source-map "^0.5.6"
-
-metro@^0.38.1:
- version "0.38.3"
- resolved "https://registry.yarnpkg.com/metro/-/metro-0.38.3.tgz#a03ac6c720c8e3c7441a32cd43fbf5aca8cfad25"
- dependencies:
- "@babel/core" "7.0.0-beta.47"
- "@babel/generator" "7.0.0-beta.47"
- "@babel/helper-remap-async-to-generator" "7.0.0-beta.47"
- "@babel/plugin-external-helpers" "7.0.0-beta.47"
- "@babel/plugin-proposal-class-properties" "7.0.0-beta.47"
- "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.47"
- "@babel/plugin-syntax-dynamic-import" "7.0.0-beta.47"
- "@babel/plugin-syntax-nullish-coalescing-operator" "7.0.0-beta.47"
- "@babel/plugin-transform-arrow-functions" "7.0.0-beta.47"
- "@babel/plugin-transform-async-to-generator" "7.0.0-beta.47"
- "@babel/plugin-transform-block-scoping" "7.0.0-beta.47"
- "@babel/plugin-transform-classes" "7.0.0-beta.47"
- "@babel/plugin-transform-computed-properties" "7.0.0-beta.47"
- "@babel/plugin-transform-destructuring" "7.0.0-beta.47"
- "@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.47"
- "@babel/plugin-transform-flow-strip-types" "7.0.0-beta.47"
- "@babel/plugin-transform-for-of" "7.0.0-beta.47"
- "@babel/plugin-transform-function-name" "7.0.0-beta.47"
- "@babel/plugin-transform-literals" "7.0.0-beta.47"
- "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.47"
- "@babel/plugin-transform-object-assign" "7.0.0-beta.47"
- "@babel/plugin-transform-parameters" "7.0.0-beta.47"
- "@babel/plugin-transform-react-display-name" "7.0.0-beta.47"
- "@babel/plugin-transform-react-jsx" "7.0.0-beta.47"
- "@babel/plugin-transform-react-jsx-source" "7.0.0-beta.47"
- "@babel/plugin-transform-regenerator" "7.0.0-beta.47"
- "@babel/plugin-transform-shorthand-properties" "7.0.0-beta.47"
- "@babel/plugin-transform-spread" "7.0.0-beta.47"
- "@babel/plugin-transform-template-literals" "7.0.0-beta.47"
- "@babel/plugin-transform-unicode-regex" "7.0.0-beta.47"
- "@babel/register" "7.0.0-beta.47"
- "@babel/template" "7.0.0-beta.47"
- "@babel/traverse" "7.0.0-beta.47"
- "@babel/types" "7.0.0-beta.47"
- absolute-path "^0.0.0"
- async "^2.4.0"
- babel-core "^6.24.1"
- babel-plugin-external-helpers "^6.22.0"
- babel-plugin-transform-flow-strip-types "^6.21.0"
- babel-preset-es2015-node "^6.1.1"
- babel-preset-fbjs "^2.1.4"
- babel-preset-react-native "^5.0.0"
- babel-register "^6.24.1"
- babylon "7.0.0-beta.47"
- chalk "^1.1.1"
- concat-stream "^1.6.0"
- connect "^3.6.5"
- debug "^2.2.0"
- denodeify "^1.2.1"
- eventemitter3 "^3.0.0"
- fbjs "^0.8.14"
- fs-extra "^1.0.0"
- graceful-fs "^4.1.3"
- image-size "^0.6.0"
- jest-docblock "23.0.1"
- jest-haste-map "23.1.0"
- jest-worker "23.0.1"
- json-stable-stringify "^1.0.1"
- json5 "^0.4.0"
- left-pad "^1.1.3"
- lodash.throttle "^4.1.1"
- merge-stream "^1.0.1"
- metro-babel-register "0.38.3"
- metro-babel7-plugin-react-transform "0.38.3"
- metro-cache "0.38.3"
- metro-core "0.38.3"
- metro-minify-uglify "0.38.3"
- metro-resolver "0.38.3"
- metro-source-map "0.38.3"
- mime-types "2.1.11"
- mkdirp "^0.5.1"
- node-fetch "^1.3.3"
- react-transform-hmr "^1.0.4"
- resolve "^1.5.0"
- rimraf "^2.5.4"
- serialize-error "^2.1.0"
- source-map "^0.5.6"
- temp "0.8.3"
- throat "^4.1.0"
- wordwrap "^1.0.0"
- write-file-atomic "^1.2.0"
- ws "^1.1.0"
- xpipe "^1.0.5"
- yargs "^9.0.0"
-
-micromatch@^2.3.11:
- version "2.3.11"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
- dependencies:
- arr-diff "^2.0.0"
- array-unique "^0.2.1"
- braces "^1.8.2"
- expand-brackets "^0.1.4"
- extglob "^0.3.1"
- filename-regex "^2.0.0"
- is-extglob "^1.0.0"
- is-glob "^2.0.1"
- kind-of "^3.0.2"
- normalize-path "^2.0.1"
- object.omit "^2.0.0"
- parse-glob "^3.0.4"
- regex-cache "^0.4.2"
-
-micromatch@^3.1.4, micromatch@^3.1.8:
- version "3.1.10"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
- dependencies:
- arr-diff "^4.0.0"
- array-unique "^0.3.2"
- braces "^2.3.1"
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- extglob "^2.0.4"
- fragment-cache "^0.2.1"
- kind-of "^6.0.2"
- nanomatch "^1.2.9"
- object.pick "^1.3.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.2"
-
-"mime-db@>= 1.34.0 < 2":
- version "1.35.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.35.0.tgz#0569d657466491283709663ad379a99b90d9ab47"
-
-mime-db@~1.23.0:
- version "1.23.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.23.0.tgz#a31b4070adaea27d732ea333740a64d0ec9a6659"
-
-mime-db@~1.33.0:
- version "1.33.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
-
-mime-types@2.1.11:
- version "2.1.11"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.11.tgz#c259c471bda808a85d6cd193b430a5fae4473b3c"
- dependencies:
- mime-db "~1.23.0"
-
-mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18:
- version "2.1.18"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
- dependencies:
- mime-db "~1.33.0"
-
-mime@1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
-
-mime@^1.3.4:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
-
-mimic-fn@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
-
-min-document@^2.19.0:
- version "2.19.0"
- resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
- dependencies:
- dom-walk "^0.1.0"
-
-minimatch@^3.0.3, minimatch@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
- dependencies:
- brace-expansion "^1.1.7"
-
-minimist@0.0.8:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-
-minimist@^1.1.1, minimist@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
-
-minimist@~0.0.1:
- version "0.0.10"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
-
-minipass@^2.2.1, minipass@^2.3.3:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.3.tgz#a7dcc8b7b833f5d368759cce544dccb55f50f233"
- dependencies:
- safe-buffer "^5.1.2"
- yallist "^3.0.0"
-
-minizlib@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb"
- dependencies:
- minipass "^2.2.1"
-
-mixin-deep@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
- dependencies:
- for-in "^1.0.2"
- is-extendable "^1.0.1"
-
-mkdirp@^0.5.0, mkdirp@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
- dependencies:
- minimist "0.0.8"
-
-morgan@^1.9.0:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.0.tgz#d01fa6c65859b76fcf31b3cb53a3821a311d8051"
- dependencies:
- basic-auth "~2.0.0"
- debug "2.6.9"
- depd "~1.1.1"
- on-finished "~2.3.0"
- on-headers "~1.0.1"
-
-ms@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
-
-mute-stream@0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
-
-nan@^2.9.2:
- version "2.10.0"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
-
-nanomatch@^1.2.9:
- version "1.2.13"
- resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
- dependencies:
- arr-diff "^4.0.0"
- array-unique "^0.3.2"
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- fragment-cache "^0.2.1"
- is-windows "^1.0.2"
- kind-of "^6.0.2"
- object.pick "^1.3.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-natural-compare@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
-
-needle@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d"
- dependencies:
- debug "^2.1.2"
- iconv-lite "^0.4.4"
- sax "^1.2.4"
-
-negotiator@0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
-
-node-fetch@^1.0.1, node-fetch@^1.3.3:
- version "1.7.3"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
- dependencies:
- encoding "^0.1.11"
- is-stream "^1.0.1"
-
-node-int64@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
-
-node-modules-regexp@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
-
-node-notifier@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.2.1.tgz#fa313dd08f5517db0e2502e5758d664ac69f9dea"
- dependencies:
- growly "^1.3.0"
- semver "^5.4.1"
- shellwords "^0.1.1"
- which "^1.3.0"
-
-node-pre-gyp@^0.10.0:
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc"
- dependencies:
- detect-libc "^1.0.2"
- mkdirp "^0.5.1"
- needle "^2.2.1"
- nopt "^4.0.1"
- npm-packlist "^1.1.6"
- npmlog "^4.0.2"
- rc "^1.2.7"
- rimraf "^2.6.1"
- semver "^5.3.0"
- tar "^4"
-
-nopt@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
- dependencies:
- abbrev "1"
- osenv "^0.1.4"
-
-normalize-package-data@^2.3.2:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
- dependencies:
- hosted-git-info "^2.1.4"
- is-builtin-module "^1.0.0"
- semver "2 || 3 || 4 || 5"
- validate-npm-package-license "^3.0.1"
-
-normalize-path@^2.0.1, normalize-path@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
- dependencies:
- remove-trailing-separator "^1.0.1"
-
-npm-bundled@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308"
-
-npm-packlist@^1.1.6:
- version "1.1.10"
- resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a"
- dependencies:
- ignore-walk "^3.0.1"
- npm-bundled "^1.0.1"
-
-npm-run-path@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
- dependencies:
- path-key "^2.0.0"
-
-npmlog@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692"
- dependencies:
- ansi "~0.3.1"
- are-we-there-yet "~1.1.2"
- gauge "~1.2.5"
-
-npmlog@^4.0.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
- dependencies:
- are-we-there-yet "~1.1.2"
- console-control-strings "~1.1.0"
- gauge "~2.7.3"
- set-blocking "~2.0.0"
-
-number-is-nan@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
-
-nwsapi@^2.0.0:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.5.tgz#3998cfe7a014600e5e30dedb1fef2a4404b2871f"
-
-oauth-sign@~0.8.2:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
-
-object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
-
-object-copy@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
- dependencies:
- copy-descriptor "^0.1.0"
- define-property "^0.2.5"
- kind-of "^3.0.3"
-
-object-keys@^1.0.8:
- version "1.0.12"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2"
-
-object-visit@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
- dependencies:
- isobject "^3.0.0"
-
-object.getownpropertydescriptors@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
- dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.5.1"
-
-object.omit@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
- dependencies:
- for-own "^0.1.4"
- is-extendable "^0.1.1"
-
-object.pick@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
- dependencies:
- isobject "^3.0.1"
-
-on-finished@~2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
- dependencies:
- ee-first "1.1.1"
-
-on-headers@~1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
-
-once@^1.3.0, once@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- dependencies:
- wrappy "1"
-
-onetime@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
- dependencies:
- mimic-fn "^1.0.0"
-
-opn@^3.0.2:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/opn/-/opn-3.0.3.tgz#b6d99e7399f78d65c3baaffef1fb288e9b85243a"
- dependencies:
- object-assign "^4.0.1"
-
-optimist@^0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
- dependencies:
- minimist "~0.0.1"
- wordwrap "~0.0.2"
-
-optionator@^0.8.1:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
- dependencies:
- deep-is "~0.1.3"
- fast-levenshtein "~2.0.4"
- levn "~0.3.0"
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
- wordwrap "~1.0.0"
-
-options@>=0.0.5:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
-
-os-homedir@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
-
-os-locale@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
- dependencies:
- execa "^0.7.0"
- lcid "^1.0.0"
- mem "^1.1.0"
-
-os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
-
-osenv@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
- dependencies:
- os-homedir "^1.0.0"
- os-tmpdir "^1.0.0"
-
-p-finally@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
-
-p-limit@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
- dependencies:
- p-try "^1.0.0"
-
-p-locate@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
- dependencies:
- p-limit "^1.1.0"
-
-p-try@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
-
-parse-glob@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
- dependencies:
- glob-base "^0.3.0"
- is-dotfile "^1.0.0"
- is-extglob "^1.0.0"
- is-glob "^2.0.0"
-
-parse-json@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
- dependencies:
- error-ex "^1.2.0"
-
-parse5@4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
-
-parseurl@~1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
-
-pascalcase@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
-
-path-exists@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
- dependencies:
- pinkie-promise "^2.0.0"
-
-path-exists@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
-
-path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
-
-path-key@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
-
-path-parse@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
-
-path-type@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
- dependencies:
- graceful-fs "^4.1.2"
- pify "^2.0.0"
- pinkie-promise "^2.0.0"
-
-path-type@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
- dependencies:
- pify "^2.0.0"
-
-pegjs@^0.10.0:
- version "0.10.0"
- resolved "https://registry.yarnpkg.com/pegjs/-/pegjs-0.10.0.tgz#cf8bafae6eddff4b5a7efb185269eaaf4610ddbd"
-
-performance-now@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
-
-pify@^2.0.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
-
-pify@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
-
-pinkie-promise@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
- dependencies:
- pinkie "^2.0.0"
-
-pinkie@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
-
-pirates@^3.0.1:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/pirates/-/pirates-3.0.2.tgz#7e6f85413fd9161ab4e12b539b06010d85954bb9"
- dependencies:
- node-modules-regexp "^1.0.0"
-
-pkg-dir@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
- dependencies:
- find-up "^2.1.0"
-
-plist@2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/plist/-/plist-2.0.1.tgz#0a32ca9481b1c364e92e18dc55c876de9d01da8b"
- dependencies:
- base64-js "1.1.2"
- xmlbuilder "8.2.2"
- xmldom "0.1.x"
-
-plist@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c"
- dependencies:
- base64-js "^1.2.3"
- xmlbuilder "^9.0.7"
- xmldom "0.1.x"
-
-plugin-error@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace"
- dependencies:
- ansi-cyan "^0.1.1"
- ansi-red "^0.1.1"
- arr-diff "^1.0.1"
- arr-union "^2.0.1"
- extend-shallow "^1.1.2"
-
-pn@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
-
-posix-character-classes@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
-
-prelude-ls@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
-
-preserve@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
-
-pretty-format@^23.2.0:
- version "23.2.0"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.2.0.tgz#3b0aaa63c018a53583373c1cb3a5d96cc5e83017"
- dependencies:
- ansi-regex "^3.0.0"
- ansi-styles "^3.2.0"
-
-pretty-format@^4.2.1:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-4.3.1.tgz#530be5c42b3c05b36414a7a2a4337aa80acd0e8d"
-
-private@^0.1.6, private@^0.1.8:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
-
-process-nextick-args@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
-
-process@~0.5.1:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
-
-promise@^7.1.1:
- version "7.3.1"
- resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
- dependencies:
- asap "~2.0.3"
-
-prompts@^0.1.9:
- version "0.1.12"
- resolved "https://registry.yarnpkg.com/prompts/-/prompts-0.1.12.tgz#39dc42de7d2f0ec3e2af76bf40713fcb8726090d"
- dependencies:
- kleur "^1.0.0"
- sisteransi "^0.1.1"
-
-prop-types@^15.5.8, prop-types@^15.6.0:
- version "15.6.2"
- resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102"
- dependencies:
- loose-envify "^1.3.1"
- object-assign "^4.1.1"
-
-pseudomap@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
-
-psl@^1.1.24:
- version "1.1.28"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.28.tgz#4fb6ceb08a1e2214d4fd4de0ca22dae13740bc7b"
-
-punycode@^1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
-
-punycode@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
-
-qs@~6.5.1:
- version "6.5.2"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
-
-randomatic@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923"
- dependencies:
- is-number "^4.0.0"
- kind-of "^6.0.0"
- math-random "^1.0.1"
-
-range-parser@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
-
-rc@^1.2.7:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
- dependencies:
- deep-extend "^0.6.0"
- ini "~1.3.0"
- minimist "^1.2.0"
- strip-json-comments "~2.0.1"
-
-react-clone-referenced-element@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/react-clone-referenced-element/-/react-clone-referenced-element-1.0.1.tgz#2bba8c69404c5e4a944398600bcc4c941f860682"
-
-react-deep-force-update@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz#bcd31478027b64b3339f108921ab520b4313dc2c"
-
-react-devtools-core@^3.2.2:
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-3.2.3.tgz#a37e199d94865e2cbb616b97be8f5820674e6abd"
- dependencies:
- shell-quote "^1.6.1"
- ws "^3.3.1"
-
-react-is@^16.4.1:
- version "16.4.1"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.4.1.tgz#d624c4650d2c65dbd52c72622bbf389435d9776e"
-
-react-native@0.56.0:
- version "0.56.0"
- resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.56.0.tgz#66686f781ec39a44376aadd4bbc55c8573ab61e5"
- dependencies:
- absolute-path "^0.0.0"
- art "^0.10.0"
- base64-js "^1.1.2"
- chalk "^1.1.1"
- commander "^2.9.0"
- compression "^1.7.1"
- connect "^3.6.5"
- create-react-class "^15.6.3"
- debug "^2.2.0"
- denodeify "^1.2.1"
- envinfo "^5.7.0"
- errorhandler "^1.5.0"
- escape-string-regexp "^1.0.5"
- event-target-shim "^1.0.5"
- fbjs "0.8.16"
- fbjs-scripts "^0.8.1"
- fs-extra "^1.0.0"
- glob "^7.1.1"
- graceful-fs "^4.1.3"
- inquirer "^3.0.6"
- lodash "^4.17.5"
- metro "^0.38.1"
- metro-babel-register "^0.38.1"
- metro-core "^0.38.1"
- metro-memory-fs "^0.38.1"
- mime "^1.3.4"
- minimist "^1.2.0"
- mkdirp "^0.5.1"
- morgan "^1.9.0"
- node-fetch "^1.3.3"
- node-notifier "^5.2.1"
- npmlog "^2.0.4"
- opn "^3.0.2"
- optimist "^0.6.1"
- plist "^3.0.0"
- pretty-format "^4.2.1"
- promise "^7.1.1"
- prop-types "^15.5.8"
- react-clone-referenced-element "^1.0.1"
- react-devtools-core "^3.2.2"
- react-timer-mixin "^0.13.2"
- regenerator-runtime "^0.11.0"
- rimraf "^2.5.4"
- semver "^5.0.3"
- serve-static "^1.13.1"
- shell-quote "1.6.1"
- stacktrace-parser "^0.1.3"
- ws "^1.1.0"
- xcode "^0.9.1"
- xmldoc "^0.4.0"
- yargs "^9.0.0"
-
-react-proxy@^1.1.7:
- version "1.1.8"
- resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-1.1.8.tgz#9dbfd9d927528c3aa9f444e4558c37830ab8c26a"
- dependencies:
- lodash "^4.6.1"
- react-deep-force-update "^1.0.0"
-
-react-test-renderer@16.4.1:
- version "16.4.1"
- resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.4.1.tgz#f2fb30c2c7b517db6e5b10ed20bb6b0a7ccd8d70"
- dependencies:
- fbjs "^0.8.16"
- object-assign "^4.1.1"
- prop-types "^15.6.0"
- react-is "^16.4.1"
-
-react-timer-mixin@^0.13.2:
- version "0.13.3"
- resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.3.tgz#0da8b9f807ec07dc3e854d082c737c65605b3d22"
-
-react-transform-hmr@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz#e1a40bd0aaefc72e8dfd7a7cda09af85066397bb"
- dependencies:
- global "^4.3.0"
- react-proxy "^1.1.7"
-
-react@16.4.1:
- version "16.4.1"
- resolved "https://registry.yarnpkg.com/react/-/react-16.4.1.tgz#de51ba5764b5dbcd1f9079037b862bd26b82fe32"
- dependencies:
- fbjs "^0.8.16"
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
- prop-types "^15.6.0"
-
-read-pkg-up@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
- dependencies:
- find-up "^1.0.0"
- read-pkg "^1.0.0"
-
-read-pkg-up@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
- dependencies:
- find-up "^2.0.0"
- read-pkg "^2.0.0"
-
-read-pkg@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
- dependencies:
- load-json-file "^1.0.0"
- normalize-package-data "^2.3.2"
- path-type "^1.0.0"
-
-read-pkg@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
- dependencies:
- load-json-file "^2.0.0"
- normalize-package-data "^2.3.2"
- path-type "^2.0.0"
-
-readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2:
- version "2.3.6"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.3"
- isarray "~1.0.0"
- process-nextick-args "~2.0.0"
- safe-buffer "~5.1.1"
- string_decoder "~1.1.1"
- util-deprecate "~1.0.1"
-
-realpath-native@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.1.tgz#07f40a0cce8f8261e2e8b7ebebf5c95965d7b633"
- dependencies:
- util.promisify "^1.0.0"
-
-regenerate-unicode-properties@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c"
- dependencies:
- regenerate "^1.4.0"
-
-regenerate@^1.2.1, regenerate@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
-
-regenerator-runtime@^0.11.0:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
-
-regenerator-transform@^0.12.3:
- version "0.12.4"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.12.4.tgz#aa9b6c59f4b97be080e972506c560b3bccbfcff0"
- dependencies:
- private "^0.1.6"
-
-regex-cache@^0.4.2:
- version "0.4.4"
- resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
- dependencies:
- is-equal-shallow "^0.1.3"
-
-regex-not@^1.0.0, regex-not@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
- dependencies:
- extend-shallow "^3.0.2"
- safe-regex "^1.1.0"
-
-regexpu-core@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
- dependencies:
- regenerate "^1.2.1"
- regjsgen "^0.2.0"
- regjsparser "^0.1.4"
-
-regexpu-core@^4.1.3:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.2.0.tgz#a3744fa03806cffe146dea4421a3e73bdcc47b1d"
- dependencies:
- regenerate "^1.4.0"
- regenerate-unicode-properties "^7.0.0"
- regjsgen "^0.4.0"
- regjsparser "^0.3.0"
- unicode-match-property-ecmascript "^1.0.4"
- unicode-match-property-value-ecmascript "^1.0.2"
-
-regjsgen@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
-
-regjsgen@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.4.0.tgz#c1eb4c89a209263f8717c782591523913ede2561"
-
-regjsparser@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
- dependencies:
- jsesc "~0.5.0"
-
-regjsparser@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.3.0.tgz#3c326da7fcfd69fa0d332575a41c8c0cdf588c96"
- dependencies:
- jsesc "~0.5.0"
-
-remove-trailing-separator@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
-
-repeat-element@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
-
-repeat-string@^1.5.2, repeat-string@^1.6.1:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
-
-repeating@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
- dependencies:
- is-finite "^1.0.0"
-
-request-promise-core@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6"
- dependencies:
- lodash "^4.13.1"
-
-request-promise-native@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5"
- dependencies:
- request-promise-core "1.1.1"
- stealthy-require "^1.1.0"
- tough-cookie ">=2.3.3"
-
-request@^2.83.0:
- version "2.87.0"
- resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e"
- dependencies:
- aws-sign2 "~0.7.0"
- aws4 "^1.6.0"
- caseless "~0.12.0"
- combined-stream "~1.0.5"
- extend "~3.0.1"
- forever-agent "~0.6.1"
- form-data "~2.3.1"
- har-validator "~5.0.3"
- http-signature "~1.2.0"
- is-typedarray "~1.0.0"
- isstream "~0.1.2"
- json-stringify-safe "~5.0.1"
- mime-types "~2.1.17"
- oauth-sign "~0.8.2"
- performance-now "^2.1.0"
- qs "~6.5.1"
- safe-buffer "^5.1.1"
- tough-cookie "~2.3.3"
- tunnel-agent "^0.6.0"
- uuid "^3.1.0"
-
-require-directory@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
-
-require-main-filename@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
-
-resolve-cwd@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
- dependencies:
- resolve-from "^3.0.0"
-
-resolve-from@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
-
-resolve-url@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
-
-resolve@1.1.7:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
-
-resolve@^1.3.2, resolve@^1.5.0:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
- dependencies:
- path-parse "^1.0.5"
-
-restore-cursor@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
- dependencies:
- onetime "^2.0.0"
- signal-exit "^3.0.2"
-
-ret@~0.1.10:
- version "0.1.15"
- resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
-
-right-align@^0.1.1:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
- dependencies:
- align-text "^0.1.1"
-
-rimraf@^2.5.4, rimraf@^2.6.1:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
- dependencies:
- glob "^7.0.5"
-
-rimraf@~2.2.6:
- version "2.2.8"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582"
-
-rsvp@^3.3.3:
- version "3.6.2"
- resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a"
-
-run-async@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
- dependencies:
- is-promise "^2.1.0"
-
-rx-lite-aggregates@^4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
- dependencies:
- rx-lite "*"
-
-rx-lite@*, rx-lite@^4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
-
-safe-buffer@5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
-
-safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
-
-safe-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
- dependencies:
- ret "~0.1.10"
-
-"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
-
-sane@^2.0.0:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa"
- dependencies:
- anymatch "^2.0.0"
- capture-exit "^1.2.0"
- exec-sh "^0.2.0"
- fb-watchman "^2.0.0"
- micromatch "^3.1.4"
- minimist "^1.1.1"
- walker "~1.0.5"
- watch "~0.18.0"
- optionalDependencies:
- fsevents "^1.2.3"
-
-sax@^1.2.4:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
-
-sax@~1.1.1:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/sax/-/sax-1.1.6.tgz#5d616be8a5e607d54e114afae55b7eaf2fcc3240"
-
-"semver@2 || 3 || 4 || 5", semver@5.x, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
-
-send@0.16.2:
- version "0.16.2"
- resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"
- dependencies:
- debug "2.6.9"
- depd "~1.1.2"
- destroy "~1.0.4"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- fresh "0.5.2"
- http-errors "~1.6.2"
- mime "1.4.1"
- ms "2.0.0"
- on-finished "~2.3.0"
- range-parser "~1.2.0"
- statuses "~1.4.0"
-
-serialize-error@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a"
-
-serve-static@^1.13.1:
- version "1.13.2"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1"
- dependencies:
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- parseurl "~1.3.2"
- send "0.16.2"
-
-set-blocking@^2.0.0, set-blocking@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
-
-set-value@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"
- dependencies:
- extend-shallow "^2.0.1"
- is-extendable "^0.1.1"
- is-plain-object "^2.0.1"
- to-object-path "^0.3.0"
-
-set-value@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"
- dependencies:
- extend-shallow "^2.0.1"
- is-extendable "^0.1.1"
- is-plain-object "^2.0.3"
- split-string "^3.0.1"
-
-setimmediate@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
-
-setprototypeof@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
-
-shebang-command@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
- dependencies:
- shebang-regex "^1.0.0"
-
-shebang-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
-
-shell-quote@1.6.1, shell-quote@^1.6.1:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
- dependencies:
- array-filter "~0.0.0"
- array-map "~0.0.0"
- array-reduce "~0.0.0"
- jsonify "~0.0.0"
-
-shellwords@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
-
-signal-exit@^3.0.0, signal-exit@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
-
-simple-plist@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-0.2.1.tgz#71766db352326928cf3a807242ba762322636723"
- dependencies:
- bplist-creator "0.0.7"
- bplist-parser "0.1.1"
- plist "2.0.1"
-
-sisteransi@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce"
-
-slash@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
-
-slide@^1.1.5:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
-
-snapdragon-node@^2.0.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
- dependencies:
- define-property "^1.0.0"
- isobject "^3.0.0"
- snapdragon-util "^3.0.1"
-
-snapdragon-util@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
- dependencies:
- kind-of "^3.2.0"
-
-snapdragon@^0.8.1:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
- dependencies:
- base "^0.11.1"
- debug "^2.2.0"
- define-property "^0.2.5"
- extend-shallow "^2.0.1"
- map-cache "^0.2.2"
- source-map "^0.5.6"
- source-map-resolve "^0.5.0"
- use "^3.1.0"
-
-source-map-resolve@^0.5.0:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259"
- dependencies:
- atob "^2.1.1"
- decode-uri-component "^0.2.0"
- resolve-url "^0.2.1"
- source-map-url "^0.4.0"
- urix "^0.1.0"
-
-source-map-support@^0.4.15, source-map-support@^0.4.2:
- version "0.4.18"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
- dependencies:
- source-map "^0.5.6"
-
-source-map-support@^0.5.6:
- version "0.5.6"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13"
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map-url@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
-
-source-map@^0.4.4:
- version "0.4.4"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
- dependencies:
- amdefine ">=0.0.4"
-
-source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
-
-source-map@^0.6.0, source-map@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
-
-spdx-correct@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82"
- dependencies:
- spdx-expression-parse "^3.0.0"
- spdx-license-ids "^3.0.0"
-
-spdx-exceptions@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9"
-
-spdx-expression-parse@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0"
- dependencies:
- spdx-exceptions "^2.1.0"
- spdx-license-ids "^3.0.0"
-
-spdx-license-ids@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87"
-
-split-string@^3.0.1, split-string@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
- dependencies:
- extend-shallow "^3.0.0"
-
-sprintf-js@~1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
-
-sshpk@^1.7.0:
- version "1.14.2"
- resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98"
- dependencies:
- asn1 "~0.2.3"
- assert-plus "^1.0.0"
- dashdash "^1.12.0"
- getpass "^0.1.1"
- safer-buffer "^2.0.2"
- optionalDependencies:
- bcrypt-pbkdf "^1.0.0"
- ecc-jsbn "~0.1.1"
- jsbn "~0.1.0"
- tweetnacl "~0.14.0"
-
-stack-utils@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620"
-
-stacktrace-parser@^0.1.3:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.4.tgz#01397922e5f62ecf30845522c95c4fe1d25e7d4e"
-
-static-extend@^0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
- dependencies:
- define-property "^0.2.5"
- object-copy "^0.1.0"
-
-"statuses@>= 1.4.0 < 2":
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
-
-statuses@~1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
-
-statuses@~1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
-
-stealthy-require@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
-
-stream-buffers@~2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4"
-
-string-length@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed"
- dependencies:
- astral-regex "^1.0.0"
- strip-ansi "^4.0.0"
-
-string-width@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
- dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- strip-ansi "^3.0.0"
-
-"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
- dependencies:
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^4.0.0"
-
-string_decoder@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
- dependencies:
- safe-buffer "~5.1.0"
-
-strip-ansi@^3.0.0, strip-ansi@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
- dependencies:
- ansi-regex "^2.0.0"
-
-strip-ansi@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
- dependencies:
- ansi-regex "^3.0.0"
-
-strip-bom@3.0.0, strip-bom@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
-
-strip-bom@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
- dependencies:
- is-utf8 "^0.2.0"
-
-strip-eof@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
-
-strip-json-comments@~2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
-
-supports-color@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
-
-supports-color@^3.1.2:
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
- dependencies:
- has-flag "^1.0.0"
-
-supports-color@^5.3.0:
- version "5.4.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54"
- dependencies:
- has-flag "^3.0.0"
-
-symbol-tree@^3.2.2:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
-
-tar@^4:
- version "4.4.4"
- resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.4.tgz#ec8409fae9f665a4355cc3b4087d0820232bb8cd"
- dependencies:
- chownr "^1.0.1"
- fs-minipass "^1.2.5"
- minipass "^2.3.3"
- minizlib "^1.1.0"
- mkdirp "^0.5.0"
- safe-buffer "^5.1.2"
- yallist "^3.0.2"
-
-temp@0.8.3:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59"
- dependencies:
- os-tmpdir "^1.0.0"
- rimraf "~2.2.6"
-
-test-exclude@^4.2.1:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa"
- dependencies:
- arrify "^1.0.1"
- micromatch "^3.1.8"
- object-assign "^4.1.0"
- read-pkg-up "^1.0.1"
- require-main-filename "^1.0.1"
-
-throat@^4.0.0, throat@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
-
-through2@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
- dependencies:
- readable-stream "^2.1.5"
- xtend "~4.0.1"
-
-through@^2.3.6:
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
-
-time-stamp@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3"
-
-tmp@^0.0.33:
- version "0.0.33"
- resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
- dependencies:
- os-tmpdir "~1.0.2"
-
-tmpl@1.0.x:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
-
-to-fast-properties@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
-
-to-fast-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
-
-to-object-path@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
- dependencies:
- kind-of "^3.0.2"
-
-to-regex-range@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
- dependencies:
- is-number "^3.0.0"
- repeat-string "^1.6.1"
-
-to-regex@^3.0.1, to-regex@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
- dependencies:
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- regex-not "^1.0.2"
- safe-regex "^1.1.0"
-
-tough-cookie@>=2.3.3, tough-cookie@^2.3.3:
- version "2.4.3"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781"
- dependencies:
- psl "^1.1.24"
- punycode "^1.4.1"
-
-tough-cookie@~2.3.3:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655"
- dependencies:
- punycode "^1.4.1"
-
-tr46@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
- dependencies:
- punycode "^2.1.0"
-
-trim-right@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
-
-tunnel-agent@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
- dependencies:
- safe-buffer "^5.0.1"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
- version "0.14.5"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
-
-type-check@~0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
- dependencies:
- prelude-ls "~1.1.2"
-
-typedarray@^0.0.6:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-
-ua-parser-js@^0.7.18, ua-parser-js@^0.7.9:
- version "0.7.18"
- resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.18.tgz#a7bfd92f56edfb117083b69e31d2aa8882d4b1ed"
-
-uglify-es@^3.1.9:
- version "3.3.9"
- resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677"
- dependencies:
- commander "~2.13.0"
- source-map "~0.6.1"
-
-uglify-js@^2.6:
- version "2.8.29"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
- dependencies:
- source-map "~0.5.1"
- yargs "~3.10.0"
- optionalDependencies:
- uglify-to-browserify "~1.0.0"
-
-uglify-to-browserify@~1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
-
-ultron@1.0.x:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
-
-ultron@~1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
-
-unicode-canonical-property-names-ecmascript@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
-
-unicode-match-property-ecmascript@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c"
- dependencies:
- unicode-canonical-property-names-ecmascript "^1.0.4"
- unicode-property-aliases-ecmascript "^1.0.4"
-
-unicode-match-property-value-ecmascript@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4"
-
-unicode-property-aliases-ecmascript@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0"
-
-union-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
- dependencies:
- arr-union "^3.1.0"
- get-value "^2.0.6"
- is-extendable "^0.1.1"
- set-value "^0.4.3"
-
-unpipe@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
-
-unset-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
- dependencies:
- has-value "^0.3.1"
- isobject "^3.0.0"
-
-urix@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
-
-use@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
-
-util-deprecate@~1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-
-util.promisify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
- dependencies:
- define-properties "^1.1.2"
- object.getownpropertydescriptors "^2.0.3"
-
-utils-merge@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
-
-uuid@3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
-
-uuid@^3.1.0:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
-
-validate-npm-package-license@^3.0.1:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338"
- dependencies:
- spdx-correct "^3.0.0"
- spdx-expression-parse "^3.0.0"
-
-vary@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
-
-verror@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
- dependencies:
- assert-plus "^1.0.0"
- core-util-is "1.0.2"
- extsprintf "^1.2.0"
-
-w3c-hr-time@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045"
- dependencies:
- browser-process-hrtime "^0.1.2"
-
-walker@~1.0.5:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
- dependencies:
- makeerror "1.0.x"
-
-watch@~0.18.0:
- version "0.18.0"
- resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986"
- dependencies:
- exec-sh "^0.2.0"
- minimist "^1.2.0"
-
-webidl-conversions@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
-
-whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz#57c235bc8657e914d24e1a397d3c82daee0a6ba3"
- dependencies:
- iconv-lite "0.4.19"
-
-whatwg-fetch@>=0.10.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"
-
-whatwg-mimetype@^2.0.0, whatwg-mimetype@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz#f0f21d76cbba72362eb609dbed2a30cd17fcc7d4"
-
-whatwg-url@^6.4.0, whatwg-url@^6.4.1:
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8"
- dependencies:
- lodash.sortby "^4.7.0"
- tr46 "^1.0.1"
- webidl-conversions "^4.0.2"
-
-which-module@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
-
-which@^1.2.12, which@^1.2.9, which@^1.3.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
- dependencies:
- isexe "^2.0.0"
-
-wide-align@^1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
- dependencies:
- string-width "^1.0.2 || 2"
-
-window-size@0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
-
-wordwrap@0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
-
-wordwrap@^1.0.0, wordwrap@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
-
-wordwrap@~0.0.2:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
-
-wrap-ansi@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
- dependencies:
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
-
-write-file-atomic@^1.2.0:
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f"
- dependencies:
- graceful-fs "^4.1.11"
- imurmurhash "^0.1.4"
- slide "^1.1.5"
-
-write-file-atomic@^2.1.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab"
- dependencies:
- graceful-fs "^4.1.11"
- imurmurhash "^0.1.4"
- signal-exit "^3.0.2"
-
-ws@^1.1.0:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51"
- dependencies:
- options ">=0.0.5"
- ultron "1.0.x"
-
-ws@^3.3.1:
- version "3.3.3"
- resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
- dependencies:
- async-limiter "~1.0.0"
- safe-buffer "~5.1.0"
- ultron "~1.1.0"
-
-ws@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289"
- dependencies:
- async-limiter "~1.0.0"
- safe-buffer "~5.1.0"
-
-xcode@^0.9.1:
- version "0.9.3"
- resolved "https://registry.yarnpkg.com/xcode/-/xcode-0.9.3.tgz#910a89c16aee6cc0b42ca805a6d0b4cf87211cf3"
- dependencies:
- pegjs "^0.10.0"
- simple-plist "^0.2.1"
- uuid "3.0.1"
-
-xml-name-validator@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
-
-xmlbuilder@8.2.2:
- version "8.2.2"
- resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773"
-
-xmlbuilder@^9.0.7:
- version "9.0.7"
- resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
-
-xmldoc@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-0.4.0.tgz#d257224be8393eaacbf837ef227fd8ec25b36888"
- dependencies:
- sax "~1.1.1"
-
-xmldom@0.1.x:
- version "0.1.27"
- resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9"
-
-xpipe@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf"
-
-xtend@~4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
-
-y18n@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
-
-yallist@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
-
-yallist@^3.0.0, yallist@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9"
-
-yargs-parser@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
- dependencies:
- camelcase "^4.1.0"
-
-yargs-parser@^9.0.2:
- version "9.0.2"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077"
- dependencies:
- camelcase "^4.1.0"
-
-yargs@^11.0.0:
- version "11.1.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77"
- dependencies:
- cliui "^4.0.0"
- decamelize "^1.1.1"
- find-up "^2.1.0"
- get-caller-file "^1.0.1"
- os-locale "^2.0.0"
- require-directory "^2.1.1"
- require-main-filename "^1.0.1"
- set-blocking "^2.0.0"
- string-width "^2.0.0"
- which-module "^2.0.0"
- y18n "^3.2.1"
- yargs-parser "^9.0.2"
-
-yargs@^9.0.0:
- version "9.0.1"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-9.0.1.tgz#52acc23feecac34042078ee78c0c007f5085db4c"
- dependencies:
- camelcase "^4.1.0"
- cliui "^3.2.0"
- decamelize "^1.1.1"
- get-caller-file "^1.0.1"
- os-locale "^2.0.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.0.0"
- which-module "^2.0.0"
- y18n "^3.2.1"
- yargs-parser "^7.0.0"
-
-yargs@~3.10.0:
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
- dependencies:
- camelcase "^1.0.2"
- cliui "^2.1.0"
- decamelize "^1.0.0"
- window-size "0.1.0"
diff --git a/index.js b/index.js
index f4d738b72..716ea0ed2 100644
--- a/index.js
+++ b/index.js
@@ -4,292 +4,505 @@
'use strict';
-var RNNotificationsComponent = require( './component' );
-
-var AppState = RNNotificationsComponent.state;
-var RNNotifications = RNNotificationsComponent.component;
-
-var Platform = require('react-native').Platform;
-
-var Notifications = {
- handler: RNNotifications,
- onRegister: false,
- onError: false,
- onNotification: false,
+import { AppState, Platform } from 'react-native';
+import { component } from './component';
+
+const Notifications = {
+ handler: component,
+ onRegister: false,
+ onRegistrationError: false,
+ onNotification: false,
+ onAction: false,
onRemoteFetch: false,
- isLoaded: false,
- hasPoppedInitialNotification: false,
+ isLoaded: false,
+ isPopInitialNotification: false,
- isPermissionsRequestPending: false,
+ isPermissionsRequestPending: false,
- permissions: {
- alert: true,
- badge: true,
- sound: true
- }
+ permissions: {
+ alert: true,
+ badge: true,
+ sound: true
+ }
};
-Notifications.callNative = function(name: String, params: Array) {
- if ( typeof this.handler[name] === 'function' ) {
- if ( typeof params !== 'array' &&
- typeof params !== 'object' ) {
- params = [];
- }
-
- return this.handler[name](...params);
- } else {
- return null;
- }
+Notifications.callNative = function(name, params) {
+ if ( typeof this.handler[name] === 'function' ) {
+ if ( typeof params !== 'array' &&
+ typeof params !== 'object' ) {
+ params = [];
+ }
+
+ return this.handler[name](...params);
+ } else {
+ return null;
+ }
};
/**
* Configure local and remote notifications
- * @param {Object} options
- * @param {function} options.onRegister - Fired when the user registers for remote notifications.
- * @param {function} options.onNotification - Fired when a remote notification is received.
- * @param {function} options.onError - None
- * @param {Object} options.permissions - Permissions list
- * @param {Boolean} options.requestPermissions - Check permissions when register
+ * @param {Object} options
+ * @param {function} options.onRegister - Fired when the user registers for remote notifications.
+ * @param {function} options.onNotification - Fired when a remote notification is received.
+ * @param {function} options.onAction - Fired when a remote notification is received.
+ * @param {function} options.onRegistrationError - Fired when the user fails to register for remote notifications.
+ * @param {Object} options.permissions - Permissions list
+ * @param {Boolean} options.requestPermissions - Check permissions when register
*/
-Notifications.configure = function(options: Object) {
- if ( typeof options.onRegister !== 'undefined' ) {
- this.onRegister = options.onRegister;
- }
-
- if ( typeof options.onError !== 'undefined' ) {
- this.onError = options.onError;
- }
-
- if ( typeof options.onNotification !== 'undefined' ) {
- this.onNotification = options.onNotification;
- }
-
- if ( typeof options.permissions !== 'undefined' ) {
- this.permissions = options.permissions;
- }
-
- if ( typeof options.senderID !== 'undefined' ) {
- this.senderID = options.senderID;
- }
-
- if ( typeof options.onRemoteFetch !== 'undefined' ) {
- this.onRemoteFetch = options.onRemoteFetch;
- }
-
- if ( this.isLoaded === false ) {
- this._onRegister = this._onRegister.bind(this);
- this._onNotification = this._onNotification.bind(this);
- this._onRemoteFetch = this._onRemoteFetch.bind(this);
- this.callNative( 'addEventListener', [ 'register', this._onRegister ] );
- this.callNative( 'addEventListener', [ 'notification', this._onNotification ] );
- this.callNative( 'addEventListener', [ 'localNotification', this._onNotification ] );
- Platform.OS === 'android' ? this.callNative( 'addEventListener', [ 'remoteFetch', this._onRemoteFetch ] ) : null
-
- this.isLoaded = true;
- }
-
- if ( this.hasPoppedInitialNotification === false &&
- ( options.popInitialNotification === undefined || options.popInitialNotification === true ) ) {
- this.popInitialNotification(function(firstNotification) {
- if ( firstNotification !== null ) {
- this._onNotification(firstNotification, true);
- }
- }.bind(this));
- this.hasPoppedInitialNotification = true;
- }
-
- if ( options.requestPermissions !== false ) {
- this._requestPermissions();
- }
-
+Notifications.configure = function(options) {
+ if ( typeof options.onRegister !== 'undefined' ) {
+ this.onRegister = options.onRegister;
+ }
+
+ if ( typeof options.onRegistrationError !== 'undefined' ) {
+ this.onRegistrationError = options.onRegistrationError;
+ }
+
+ if ( typeof options.onNotification !== 'undefined' ) {
+ this.onNotification = options.onNotification;
+ }
+
+ if ( typeof options.onAction !== 'undefined' ) {
+ this.onAction = options.onAction;
+ }
+
+ if ( typeof options.permissions !== 'undefined' ) {
+ this.permissions = options.permissions;
+ }
+
+ if ( typeof options.onRemoteFetch !== 'undefined' ) {
+ this.onRemoteFetch = options.onRemoteFetch;
+ }
+
+ if ( this.isLoaded === false ) {
+ this._onRegister = this._onRegister.bind(this);
+ this._onRegistrationError = this._onRegistrationError.bind(this);
+ this._onNotification = this._onNotification.bind(this);
+ this._onRemoteFetch = this._onRemoteFetch.bind(this);
+ this._onAction = this._onAction.bind(this);
+ this.callNative( 'addEventListener', [ 'register', this._onRegister ] );
+ this.callNative( 'addEventListener', [ 'registrationError', this._onRegistrationError ] );
+ this.callNative( 'addEventListener', [ 'notification', this._onNotification ] );
+ this.callNative( 'addEventListener', [ 'localNotification', this._onNotification ] );
+ Platform.OS === 'android' ? this.callNative( 'addEventListener', [ 'action', this._onAction ] ) : null
+ Platform.OS === 'android' ? this.callNative( 'addEventListener', [ 'remoteFetch', this._onRemoteFetch ] ) : null
+
+ this.isLoaded = true;
+ }
+
+ const handlePopInitialNotification = (state) => {
+ if('active' !== state) {
+ return;
+ }
+
+ if (options.popInitialNotification === undefined || options.popInitialNotification === true) {
+ this.popInitialNotification(function(firstNotification) {
+ if(this.isPopInitialNotification) {
+ return;
+ }
+
+ this.isPopInitialNotification = true;
+
+ if (!firstNotification || false === firstNotification.userInteraction) {
+ return;
+ }
+
+ this._onNotification(firstNotification, true);
+ }.bind(this));
+ }
+ }
+
+ AppState.addEventListener('change', handlePopInitialNotification.bind(this));
+
+ handlePopInitialNotification(AppState.currentState);
+
+ if ( options.requestPermissions !== false ) {
+ this._requestPermissions();
+ }
};
/* Unregister */
Notifications.unregister = function() {
- this.callNative( 'removeEventListener', [ 'register', this._onRegister ] )
- this.callNative( 'removeEventListener', [ 'notification', this._onNotification ] )
- this.callNative( 'removeEventListener', [ 'localNotification', this._onNotification ] )
- Platform.OS === 'android' ? this.callNative( 'removeEventListener', [ 'remoteFetch', this._onRemoteFetch ] ) : null
- this.isLoaded = false;
+ this.callNative( 'removeEventListener', [ 'register', this._onRegister ] )
+ this.callNative( 'removeEventListener', [ 'registrationError', this._onRegistrationError ] )
+ this.callNative( 'removeEventListener', [ 'notification', this._onNotification ] )
+ this.callNative( 'removeEventListener', [ 'localNotification', this._onNotification ] )
+ Platform.OS === 'android' ? this.callNative( 'removeEventListener', [ 'action', this._onAction ] ) : null
+ Platform.OS === 'android' ? this.callNative( 'removeEventListener', [ 'remoteFetch', this._onRemoteFetch ] ) : null
+ this.isLoaded = false;
};
/**
* Local Notifications
- * @param {Object} details
- * @param {String} details.title - The title displayed in the notification alert.
- * @param {String} details.message - The message displayed in the notification alert.
- * @param {String} details.ticker - ANDROID ONLY: The ticker displayed in the status bar.
- * @param {Object} details.userInfo - iOS ONLY: The userInfo used in the notification alert.
+ * @param {Object} details
+ * @param {String} details.title - The title displayed in the notification alert.
+ * @param {String} details.message - The message displayed in the notification alert.
+ * @param {String} details.ticker - ANDROID ONLY: The ticker displayed in the status bar.
+ * @param {Object} details.userInfo - iOS ONLY: The userInfo used in the notification alert.
*/
-Notifications.localNotification = function(details: Object) {
- if ( Platform.OS === 'ios' ) {
- // https://developer.apple.com/reference/uikit/uilocalnotification
-
- let soundName = details.soundName ? details.soundName : 'default'; // play sound (and vibrate) as default behaviour
-
- if (details.hasOwnProperty('playSound') && !details.playSound) {
- soundName = ''; // empty string results in no sound (and no vibration)
- }
-
- // for valid fields see: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/IPhoneOSClientImp.html
- // alertTitle only valid for apple watch: https://developer.apple.com/library/ios/documentation/iPhone/Reference/UILocalNotification_Class/#//apple_ref/occ/instp/UILocalNotification/alertTitle
-
- this.handler.presentLocalNotification({
- alertTitle: details.title,
- alertBody: details.message,
- alertAction: details.alertAction,
- category: details.category,
- soundName: soundName,
- applicationIconBadgeNumber: details.number,
- userInfo: details.userInfo
- });
- } else {
- this.handler.presentLocalNotification(details);
- }
+Notifications.localNotification = function({...details}) {
+ if ('android' === Platform.OS && details && !details.channelId) {
+ console.warn('No channel id passed, notifications may not work.');
+ }
+
+ if (details && typeof details.id === 'number') {
+ if (isNaN(details.id)) {
+ console.warn('NaN value has been passed as id');
+ delete details.id;
+ }
+ else {
+ details.id = '' + details.id;
+ }
+ }
+
+ if (Platform.OS === 'ios') {
+ // https://developer.apple.com/reference/uikit/uilocalnotification
+
+ let soundName = details.soundName ? details.soundName : 'default'; // play sound (and vibrate) as default behaviour
+
+ if (details.hasOwnProperty('playSound') && !details.playSound) {
+ soundName = ''; // empty string results in no sound (and no vibration)
+ }
+
+ if(details.picture) {
+ details.userInfo = details.userInfo || {};
+ details.userInfo.image = details.picture;
+ }
+
+ // for valid fields see: https://github.com/react-native-push-notification-ios/push-notification-ios#addnotificationrequest
+
+ this.handler.addNotificationRequest({
+ id: (!details.id ? Math.floor(Math.random() * Math.pow(2, 32)).toString() : details.id),
+ title: details.title,
+ subtitle: details.subtitle,
+ body: details.message,
+ badge: details.number,
+ sound: soundName,
+ isSilent: details.playSound === false,
+ category: details.category,
+ userInfo: details.userInfo
+ });
+ } else {
+ if (details && typeof details.number === 'number') {
+ if(isNaN(details.number)) {
+ console.warn('NaN value has been passed as number');
+ delete details.number;
+ }
+ else {
+ details.number = '' + details.number;
+ }
+ }
+
+ if (details && typeof details.shortcutId === 'number') {
+ if(isNaN(details.shortcutId)) {
+ console.warn('NaN value has been passed as shortcutId');
+ delete details.shortcutId;
+ }
+ else {
+ details.shortcutId = '' + details.shortcutId;
+ }
+ }
+
+ if(details && Array.isArray(details.actions)) {
+ details.actions = JSON.stringify(details.actions);
+ }
+
+ if(details.userInfo) {
+ details.userInfo = JSON.stringify(details.userInfo);
+ }
+
+ if(details.picture && !details.bigPictureUrl) {
+ details.bigPictureUrl = details.picture;
+ }
+
+ this.handler.presentLocalNotification(details);
+ }
};
/**
* Local Notifications Schedule
- * @param {Object} details (same as localNotification)
- * @param {Date} details.date - The date and time when the system should deliver the notification
+ * @param {Object} details (same as localNotification)
+ * @param {Date} details.date - The date and time when the system should deliver the notification
*/
-Notifications.localNotificationSchedule = function(details: Object) {
- if ( Platform.OS === 'ios' ) {
- let soundName = details.soundName ? details.soundName : 'default'; // play sound (and vibrate) as default behaviour
-
- if (details.hasOwnProperty('playSound') && !details.playSound) {
- soundName = ''; // empty string results in no sound (and no vibration)
- }
-
- const iosDetails = {
- fireDate: details.date.toISOString(),
- alertTitle: details.title,
- alertBody: details.message,
- category: details.category,
- soundName: soundName,
- userInfo: details.userInfo,
- repeatInterval: details.repeatType
- };
-
- if(details.number) {
- iosDetails.applicationIconBadgeNumber = parseInt(details.number, 10);
- }
-
- // ignore Android only repeatType
- if (!details.repeatType || details.repeatType === 'time') {
- delete iosDetails.repeatInterval;
- }
- this.handler.scheduleLocalNotification(iosDetails);
- } else {
- details.fireDate = details.date.getTime();
- delete details.date;
- // ignore iOS only repeatType
- if (['year', 'month'].includes(details.repeatType)) {
- delete details.repeatType;
- }
- this.handler.scheduleLocalNotification(details);
- }
+Notifications.localNotificationSchedule = function({...details}) {
+ if ('android' === Platform.os && details && !details.channelId) {
+ console.warn('No channel id passed, notifications may not work.');
+ }
+
+ if (details && typeof details.id === 'number') {
+ if(isNaN(details.id)) {
+ console.warn('NaN value has been passed as id');
+ delete details.id;
+ }
+ else {
+ details.id = '' + details.id;
+ }
+ }
+
+ if (Platform.OS === 'ios') {
+ let soundName = details.soundName ? details.soundName : 'default'; // play sound (and vibrate) as default behaviour
+
+ if (details.hasOwnProperty('playSound') && !details.playSound) {
+ soundName = ''; // empty string results in no sound (and no vibration)
+ }
+
+ if(details.picture) {
+ details.userInfo = details.userInfo || {};
+ details.userInfo.image = details.picture;
+ }
+
+ const repeatsComponent = {
+ second: ['minute', 'hour', 'day', 'week', 'month'].includes(details.repeatType),
+ minute: ['hour', 'day', 'week', 'month'].includes(details.repeatType),
+ hour: ['day', 'week', 'month'].includes(details.repeatType),
+ day: details.repeatType == "month",
+ dayOfWeek: details.repeatType == "week",
+ };
+
+ const iosDetails = {
+ id: (!details.id ? Math.floor(Math.random() * Math.pow(2, 32)).toString() : details.id),
+ fireDate: details.date.toISOString(),
+ title: details.title,
+ subtitle: details.subtitle,
+ body: details.message,
+ sound: soundName,
+ isSilent: details.playSound === false,
+ category: details.category,
+ userInfo: details.userInfo,
+ repeats: ['minute', 'hour', 'day', 'week', 'month'].includes(details.repeatType),
+ repeatsComponent: repeatsComponent
+ };
+
+ if (details.number) {
+ iosDetails.badge = parseInt(details.number, 10);
+ }
+
+ this.handler.addNotificationRequest(iosDetails);
+ } else {
+ if (details && typeof details.number === 'number') {
+ if (isNaN(details.number)) {
+ console.warn('NaN value has been passed as number');
+ delete details.number;
+ }
+ else {
+ details.number = '' + details.number;
+ }
+ }
+
+ if (details && typeof details.shortcutId === 'number') {
+ if (isNaN(details.shortcutId)) {
+ console.warn('NaN value has been passed as shortcutId');
+ delete details.shortcutId;
+ }
+ else {
+ details.shortcutId = '' + details.shortcutId;
+ }
+ }
+
+ if(details && Array.isArray(details.actions)) {
+ details.actions = JSON.stringify(details.actions);
+ }
+
+ if(details.userInfo) {
+ details.userInfo = JSON.stringify(details.userInfo);
+ }
+
+ if(details.picture && !details.bigPictureUrl) {
+ details.bigPictureUrl = details.picture;
+ }
+
+ details.fireDate = details.date.getTime();
+ delete details.date;
+
+ this.handler.scheduleLocalNotification(details);
+ }
};
/* Internal Functions */
-Notifications._onRegister = function(token: String) {
- if ( this.onRegister !== false ) {
- this.onRegister({
- token: token,
- os: Platform.OS
- });
- }
+Notifications._onRegister = function(token) {
+ if ( this.onRegister !== false ) {
+ this.onRegister({
+ token: token,
+ os: Platform.OS
+ });
+ }
};
-Notifications._onRemoteFetch = function(notificationData: Object) {
- if ( this.onRemoteFetch !== false ) {
- this.onRemoteFetch(notificationData)
- }
+Notifications._onRegistrationError = function(err) {
+ if ( this.onRegistrationError !== false ) {
+ this.onRegistrationError(err);
+ }
};
-Notifications._onNotification = function(data, isFromBackground = null) {
- if ( isFromBackground === null ) {
- isFromBackground = (
- data.foreground === false ||
- AppState.currentState === 'background'
- );
- }
+Notifications._onRemoteFetch = function(notificationData) {
+ if ( this.onRemoteFetch !== false ) {
+ this.onRemoteFetch(notificationData)
+ }
+};
- if ( this.onNotification !== false ) {
- if ( Platform.OS === 'ios' ) {
- this.onNotification({
- foreground: ! isFromBackground,
- userInteraction: isFromBackground,
- message: data.getMessage(),
- data: data.getData(),
- badge: data.getBadgeCount(),
- alert: data.getAlert(),
- sound: data.getSound(),
- finish: (res) => data.finish(res)
- });
- } else {
- var notificationData = {
- foreground: ! isFromBackground,
- finish: () => {},
- ...data
- };
-
- if ( typeof notificationData.data === 'string' ) {
- try {
- notificationData.data = JSON.parse(notificationData.data);
- } catch(e) {
- /* void */
- }
- }
+Notifications._onAction = function({...notification}) {
+ if ( typeof notification.data === 'string' ) {
+ try {
+ notification.data = JSON.parse(notificationData.data);
+ } catch(e) {
+ /* void */
+ }
+ }
- this.onNotification(notificationData);
- }
- }
+ this.onAction(notification);
+}
+
+Notifications._transformNotificationObject = function(data, isFromBackground = null) {
+ if(!data) {
+ return;
+ }
+
+ if ( isFromBackground === null ) {
+ isFromBackground = (
+ data.foreground === false ||
+ AppState.currentState === 'background' ||
+ AppState.currentState === 'unknown'
+ );
+ }
+
+ let _notification;
+
+ if ( Platform.OS === 'ios' ) {
+ const notifData = data.getData();
+
+ _notification = {
+ id: notifData?.id,
+ foreground: !isFromBackground,
+ userInteraction: notifData?.userInteraction === 1 || false,
+ message: data.getMessage(),
+ data: notifData,
+ badge: data.getBadgeCount(),
+ title: data.getTitle(),
+ subtitle: data.getSubtitle(),
+ soundName: data.getSound(),
+ fireDate: Date.parse(data._fireDate),
+ action: data.getActionIdentifier(),
+ reply_text: data.getUserText(),
+ finish: (res) => data.finish(res)
+ };
+
+ if(isNaN(_notification.fireDate)) {
+ delete _notification.fireDate;
+ }
+
+ } else {
+ _notification = {
+ foreground: !isFromBackground,
+ finish: () => {},
+ ...data,
+ };
+
+ if ( typeof _notification.data === 'string' ) {
+ try {
+ _notification.data = JSON.parse(_notification.data);
+ } catch(e) {
+ /* void */
+ }
+ }
+
+ if ( typeof _notification.userInfo === 'string' ) {
+ try {
+ _notification.userInfo = JSON.parse(_notification.userInfo);
+ } catch(e) {
+ /* void */
+ }
+ }
+
+
+ _notification.data = {
+ ...(typeof _notification.userInfo === 'object' ? _notification.userInfo : {}),
+ ...(typeof _notification.data === 'object' ? _notification.data : {}),
+ };
+
+ delete _notification.userInfo;
+ delete _notification.notificationId;
+ }
+
+ return _notification;
+}
+
+Notifications._onNotification = function(data, initialNotification = false) {
+ if ( this.onNotification !== false ) {
+ let notification = data;
+
+ if(!initialNotification) {
+ notification = this._transformNotificationObject(data);
+ }
+
+ this.onNotification(notification);
+ }
};
/* onResultPermissionResult */
Notifications._onPermissionResult = function() {
- this.isPermissionsRequestPending = false;
+ this.isPermissionsRequestPending = false;
};
// Prevent requestPermissions called twice if ios result is pending
Notifications._requestPermissions = function() {
- if ( Platform.OS === 'ios' ) {
- if ( this.isPermissionsRequestPending === false ) {
- this.isPermissionsRequestPending = true;
- return this.callNative( 'requestPermissions', [ this.permissions ])
- .then(this._onPermissionResult.bind(this))
- .catch(this._onPermissionResult.bind(this));
- }
- } else if ( typeof this.senderID !== 'undefined' ) {
- return this.callNative( 'requestPermissions', [ this.senderID ]);
- }
+ if ( Platform.OS === 'ios' ) {
+ if ( this.isPermissionsRequestPending === false ) {
+ this.isPermissionsRequestPending = true;
+ return this.callNative( 'requestPermissions', [ this.permissions ])
+ .then(this._onPermissionResult.bind(this))
+ .catch(this._onPermissionResult.bind(this));
+ }
+ } else if (Platform.OS === 'android') {
+ return this.callNative( 'requestPermissions', []);
+ }
};
// Stock requestPermissions function
Notifications.requestPermissions = function() {
- if ( Platform.OS === 'ios' ) {
- return this.callNative( 'requestPermissions', [ this.permissions ]);
- } else if ( typeof this.senderID !== 'undefined' ) {
- return this.callNative( 'requestPermissions', [ this.senderID ]);
- }
+ if ( Platform.OS === 'ios' ) {
+ return this.callNative( 'requestPermissions', [ this.permissions ]);
+ } else if (Platform.OS === 'android') {
+ return this.callNative( 'requestPermissions', []);
+ }
};
/* Fallback functions */
Notifications.subscribeToTopic = function() {
- return this.callNative('subscribeToTopic', arguments);
+ return this.callNative('subscribeToTopic', arguments);
+};
+
+Notifications.unsubscribeFromTopic = function () {
+ return this.callNative('unsubscribeFromTopic', arguments);
};
Notifications.presentLocalNotification = function() {
- return this.callNative('presentLocalNotification', arguments);
+ return this.callNative('presentLocalNotification', arguments);
};
Notifications.scheduleLocalNotification = function() {
- return this.callNative('scheduleLocalNotification', arguments);
+ return this.callNative('scheduleLocalNotification', arguments);
+};
+
+Notifications.cancelLocalNotifications = function(userInfo) {
+ console.warn('This method is now deprecated, please use `cancelLocalNotification` (remove the ending `s`).');
+
+ return this.cancelLocalNotification(userInfo);
};
-Notifications.cancelLocalNotifications = function() {
- return this.callNative('cancelLocalNotifications', arguments);
+Notifications.cancelLocalNotification = function(notificationId) {
+ if(typeof notificationId === 'object') {
+ notificationId = notificationId?.id;
+ }
+
+ if(typeof notificationId === 'number') {
+ notificationId = '' + notificationId;
+ }
+
+ if ( Platform.OS === 'ios' ) {
+ return this.callNative('removePendingNotificationRequests', [[notificationId]]);
+ } else {
+ return this.callNative('cancelLocalNotification', [notificationId]);
+ }
};
Notifications.clearLocalNotification = function() {
@@ -297,38 +510,137 @@ Notifications.clearLocalNotification = function() {
};
Notifications.cancelAllLocalNotifications = function() {
- return this.callNative('cancelAllLocalNotifications', arguments);
+ if ( Platform.OS === 'ios' ) {
+ return this.callNative('removeAllPendingNotificationRequests', arguments);
+ } else if (Platform.OS === 'android') {
+ return this.callNative('cancelAllLocalNotifications', arguments);
+ }
};
Notifications.setApplicationIconBadgeNumber = function() {
- return this.callNative('setApplicationIconBadgeNumber', arguments);
+ return this.callNative('setApplicationIconBadgeNumber', arguments);
};
Notifications.getApplicationIconBadgeNumber = function() {
- return this.callNative('getApplicationIconBadgeNumber', arguments);
+ return this.callNative('getApplicationIconBadgeNumber', arguments);
};
Notifications.popInitialNotification = function(handler) {
- this.callNative('getInitialNotification').then(function(result){
- handler(result);
- });
-};
-
-Notifications.abandonPermissions = function() {
- return this.callNative('abandonPermissions', arguments);
+ this.callNative('getInitialNotification').then((result) => {
+ handler(
+ this._transformNotificationObject(result, true)
+ );
+ });
};
Notifications.checkPermissions = function() {
- return this.callNative('checkPermissions', arguments);
+ return this.callNative('checkPermissions', arguments);
};
-Notifications.registerNotificationActions = function() {
- return this.callNative('registerNotificationActions', arguments)
+/* Abandon Permissions */
+Notifications.abandonPermissions = function() {
+ return this.callNative('abandonPermissions', arguments);
}
Notifications.clearAllNotifications = function() {
- // Only available for Android
- return this.callNative('clearAllNotifications', arguments)
+ // Only available for Android
+ return this.callNative('clearAllNotifications', arguments)
+}
+
+Notifications.removeAllDeliveredNotifications = function() {
+ return this.callNative('removeAllDeliveredNotifications', arguments);
+}
+
+Notifications.getDeliveredNotifications = function() {
+ return this.callNative('getDeliveredNotifications', arguments);
}
+Notifications.getScheduledLocalNotifications = function(callback) {
+ const mapNotifications = (notifications) => {
+ let mappedNotifications = [];
+ if(notifications?.length > 0) {
+ if(Platform.OS === 'ios'){
+ mappedNotifications = notifications.map(notif => {
+ return ({
+ soundName: notif?.sound,
+ id: notif.id,
+ date: (notif.date ? new Date(notif.date) : null),
+ number: notif?.badge,
+ message: notif?.body,
+ title: notif?.title,
+ data: notif?.userInfo
+ })
+ })
+ } else if(Platform.OS === 'android') {
+ mappedNotifications = notifications.map(notif => {
+
+ try {
+ notif.data = JSON.parse(notif.data);
+ } catch(e) { }
+
+ return ({
+ soundName: notif.soundName,
+ repeatInterval: notif.repeatInterval,
+ id: notif.id,
+ date: new Date(notif.date),
+ number: notif.number,
+ message: notif.message,
+ title: notif.title,
+ data: notif.data,
+ })
+ })
+ }
+ }
+ callback(mappedNotifications);
+ }
+
+ if(Platform.OS === 'ios'){
+ return this.callNative('getPendingNotificationRequests', [mapNotifications]);
+ } else {
+ return this.callNative('getScheduledLocalNotifications', [mapNotifications]);
+ }
+}
+
+Notifications.removeDeliveredNotifications = function() {
+ return this.callNative('removeDeliveredNotifications', arguments);
+}
+
+Notifications.invokeApp = function() {
+ return this.callNative('invokeApp', arguments);
+};
+
+Notifications.getChannels = function() {
+ return this.callNative('getChannels', arguments);
+};
+
+Notifications.channelExists = function() {
+ return this.callNative('channelExists', arguments);
+};
+
+Notifications.createChannel = function() {
+ return this.callNative('createChannel', arguments);
+};
+
+Notifications.channelBlocked = function() {
+ return this.callNative('channelBlocked', arguments);
+};
+
+Notifications.deleteChannel = function() {
+ return this.callNative('deleteChannel', arguments);
+};
+
+Notifications.setNotificationCategories = function() {
+ return this.callNative('setNotificationCategories', arguments);
+}
+
+// https://developer.android.com/reference/android/app/NotificationManager#IMPORTANCE_DEFAULT
+Notifications.Importance = Object.freeze({
+ DEFAULT: 3,
+ HIGH: 4,
+ LOW: 2,
+ MIN: 1,
+ NONE: 0,
+ UNSPECIFIED: -1000,
+});
+
module.exports = Notifications;
diff --git a/package.json b/package.json
index 91adce9b9..7720b5453 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,8 @@
{
"name": "react-native-push-notification",
- "version": "3.1.1",
+ "version": "8.1.1",
"description": "React Native Local and Remote Notifications",
- "main": "index",
+ "main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
@@ -14,7 +14,7 @@
"notifications",
"push",
"apns",
- "gcm"
+ "firebase"
],
"bugs": {
"url": "https://github.com/zo0r/react-native-push-notification/issues"
@@ -24,13 +24,9 @@
"url": "git+ssh://git@github.com:zo0r/react-native-push-notification.git"
},
"peerDependencies": {
+ "@react-native-community/push-notification-ios": "^1.10.1",
"react-native": ">=0.33"
},
- "rnpm": {
- "android": {
- "packageInstance": "new ReactNativePushNotificationPackage()"
- }
- },
"author": "zo0r ",
"license": "MIT"
}
diff --git a/react-native.config.js b/react-native.config.js
new file mode 100644
index 000000000..e6ef33c99
--- /dev/null
+++ b/react-native.config.js
@@ -0,0 +1,9 @@
+module.exports = {
+ dependency: {
+ platforms: {
+ android: {
+ "packageInstance": "new ReactNativePushNotificationPackage()"
+ }
+ }
+ }
+};
diff --git a/submitting-a-pull-request.md b/submitting-a-pull-request.md
index 53e46e7ce..1d406cec8 100644
--- a/submitting-a-pull-request.md
+++ b/submitting-a-pull-request.md
@@ -1,6 +1,6 @@
## Pull Requests
-If you are thinking of, or have prepared a pull request, **thank you!** You efforts are greatly apprecaited by everyone associated with this project.
+If you are thinking of, or have prepared a pull request, **thank you!** Your efforts are greatly appreciated by everyone associated with this project.
In order to get your PR accepted please ensure the following:
@@ -23,7 +23,7 @@ If you are testing someones PR, please provide the following feedback:
* are you happy that the change in behaviour works as described, and you have tested the change on all affected operating systems?
* in your opinion, is the code written _sensibly_?
* is it clean and tidy?
- * there are and unnecessary changes?
+ * there are any unnecessary changes?
* is it documented appropriately?
-
\ No newline at end of file
+
diff --git a/trouble-shooting.md b/trouble-shooting.md
index 52a764e51..1d10fd128 100644
--- a/trouble-shooting.md
+++ b/trouble-shooting.md
@@ -7,6 +7,31 @@ Known bugs and issues:
* (Android) Tapping an alert in the notification centre will sometimes not result in `onNotification` being called [issue 281](https://github.com/zo0r/react-native-push-notification/issues/281)
* (Android) Not all local notification features are supported yet (PRs welcome)
* (iOS) The OS can penalise your app for not calling the completion handler and will stop (or delay) sending notifications to your app. This will be supported from RN-0.38 [PR 227](https://github.com/zo0r/react-native-push-notification/pull/277)
+ * (Android and iOS) Don't use a string to get the date for schedule a local notification, it only works with remote debugger enabled, [explanation](https://stackoverflow.com/a/41881765/8519917).
+
+
+ ```javascript
+ // It doesn't work with the javascript engine used by React Native
+ const date = new Date("10-10-2020 12:30");
+ ```
+ A good practice to get valid date could be:
+
+ ```javascript
+ // Get date to schedule a local notification today at 12:30:00
+ const hour = 12;
+ const minute = 30;
+ const second = 0;
+
+ const now = new Date();
+ const date = new Date(
+ now.getFullYear(),
+ now.getMonth(),
+ now.getDate(),
+ hour,
+ minute,
+ second
+ );
+ ```
# Android tips
@@ -25,7 +50,7 @@ Known bugs and issues:
# About notifications...
-There are a number of different types of notifications, and they have subtly different behaviours. There are essentially 4 types, let's call them _local notifications_ (1), _noisy remote push notifications_ (2), _silent remote push notifications_ (3) and _mixed remote push notifications_ (4).
+There are a number of different types of notifications, and they have subtly different behaviours. There are essentially 4 types, let's call them _local notifications_ (1), _noisy remote push notifications_ (2) and _silent remote push notifications_ (3).
## 1. local notifications
@@ -178,53 +203,8 @@ The crucial bit of an iOS silent notification is presence of the `"content-avail
After you have processed the notification you must call isn't `finish` method (as of RN 0.38).
-## 4. _mixed_ remote push notifications
-
-_Mixed_ remote push notifications are both delivered to your app AND to the notification center.
-
-#### Android _mixed_ remote push notifications
-
-Android doesn't directly support mixed notifications. If you try to combine the above approaches you will see a _noisy_ notification but it will not be delivered to your app. This library does however provide a basic work-around. By adding `message` field to a _silent_ notification the library will synthesize a local notification as well as deliver a _silent_ notification to your app. Something like this:
-
-```json
-{
- "to": "",
- "time_to_live": 86400,
- "collapse_key": "new_message",
- "delay_while_idle": false,
- "data": {
- "title": "title",
- "message": "this is a mixed test 14:03:29.676",
- "your-key": "your-value"
- }
-}
-```
-
-The resulting local notification will include the message as well as a few other (optional) fields: _title_, _sound_ and _colour_
-
-#### iOS _mixed_ remote push notifications
-
-Just combine the above _silent_ and _noisy_ notifications and send to APNS:
-
-```json
-{
- "aps": {
- "alert": {
- "body": "body 16:03:49.889",
- "title": "title"
- },
- "badge": 1,
- "sound": "default"
- },
- "payload": "{\"your-key\":\"your-value\"}"
-}
-```
-
-It will be delivered to both the notification centre **and** your app if the app is running in the background, but only to your app if it's running in the foreground.
-
#### Some useful links
- * http://www.fantageek.com/blog/2016/04/15/push-notification-in-practice/
* https://devcenter.verivo.com/display/doc/Handling+Push+Notifications+on+iOS
* https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH10-SW1
* http://stackoverflow.com/questions/12071726/how-to-use-beginbackgroundtaskwithexpirationhandler-for-already-running-task-in