From e7d662049c6d8a2880cc0e6763dc0aaa86ca8c13 Mon Sep 17 00:00:00 2001 From: natsuozawa Date: Sat, 15 Dec 2018 15:51:31 +0900 Subject: [PATCH 001/308] Update server testing in CONTRIBUTING.md --- CONTRIBUTING.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b46e05a..7599ae4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -139,6 +139,19 @@ Jest tests can be used to test the Express server. $ npm test ``` +To run a specific test suite, append the name of the test. +``` +$ npm test api +``` + +You may need to store personal information in the `.env` file. +``` +LOGIN="foo@bar.com" +PASSWORD="foobar1234" +``` + +To run a custom test, create a `tmp.test.js` file under `__tests__`. + ## Production ### Front End Compile files using Webpack. From 1604fe70e1d231a016ce0deaf45788d6e93d8393 Mon Sep 17 00:00:00 2001 From: natsuozawa Date: Mon, 17 Dec 2018 00:07:03 +0900 Subject: [PATCH 002/308] Add additional env file documentation for testing --- CONTRIBUTING.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7599ae4..4ca381f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -108,7 +108,7 @@ $ touch .env $ vi .env ``` Define `PORT` as appropriate. -``` +```sh PORT=3000 ``` Check the server.js file and define any other variables necessary. Variables in `.env` are referred to as `process.env.VARIABLE_NAME`. @@ -145,9 +145,17 @@ $ npm test api ``` You may need to store personal information in the `.env` file. -``` +```sh +# Managebac cedentials LOGIN="foo@bar.com" PASSWORD="foobar1234" + +# Managebac cookies +CFDUID="cfduid=foobar" +MANAGEBAC_SESSION="_managebac_session=foobar" + +# A random class page that you want to test +CLASS_ID="123456" ``` To run a custom test, create a `tmp.test.js` file under `__tests__`. From 2094b6481aba96084a65bede72cda72974700eab Mon Sep 17 00:00:00 2001 From: natsuozawa Date: Tue, 18 Dec 2018 22:34:47 +0900 Subject: [PATCH 003/308] Update env file sample in CONTRIBUTING.md --- CONTRIBUTING.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4ca381f..da576fb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -156,6 +156,10 @@ MANAGEBAC_SESSION="_managebac_session=foobar" # A random class page that you want to test CLASS_ID="123456" +GROUP_ID="123456" +ASSIGNMENT_ID="123456" +DISUCSSION_ID="123456" +NOTIFICATION_ID="123456" ``` To run a custom test, create a `tmp.test.js` file under `__tests__`. From b374f79d19615e7ffe71085062b6e3212ce7a532 Mon Sep 17 00:00:00 2001 From: natsuozawa Date: Tue, 18 Dec 2018 23:22:58 +0900 Subject: [PATCH 004/308] Update sample file env file in CONTIRBUTING.md --- CONTRIBUTING.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index da576fb..b41c25c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -154,11 +154,12 @@ PASSWORD="foobar1234" CFDUID="cfduid=foobar" MANAGEBAC_SESSION="_managebac_session=foobar" -# A random class page that you want to test +# Pages that you want to test CLASS_ID="123456" GROUP_ID="123456" -ASSIGNMENT_ID="123456" -DISUCSSION_ID="123456" +CLASS_ASSIGNMENT_ID="123456" +CLASS_MESSAGE_ID="123456" +GROUP_MESSAGE_ID="123456" NOTIFICATION_ID="123456" ``` From cf5fb6af7432c610a7e0c5b264dafdc5fdde916e Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Thu, 20 Dec 2018 18:55:23 +0900 Subject: [PATCH 005/308] Update react-navigation to 3.0 and add a TabNaivgator inside ManagebacStack --- App.js | 22 +- package-lock.json | 293 +++++++++++++------------ package.json | 6 +- src/ChatStack.js | 15 +- src/ManagebacStack.js | 61 +++-- src/ProfileStack.js | 16 +- src/screens/ManagebacOverviewScreen.js | 19 ++ 7 files changed, 244 insertions(+), 188 deletions(-) create mode 100644 src/screens/ManagebacOverviewScreen.js diff --git a/App.js b/App.js index ef1ad0f..b11c7a2 100644 --- a/App.js +++ b/App.js @@ -1,7 +1,9 @@ +import React from 'react'; import { createSwitchNavigator, createStackNavigator, -} from "react-navigation"; + createAppContainer +} from 'react-navigation'; import { createMaterialBottomTabNavigator } from 'react-navigation-material-bottom-tabs'; @@ -27,7 +29,9 @@ const AppStack = createMaterialBottomTabNavigator( shifting: true, activeColor: colors.primary, inactiveColor: colors.inactive, - barStyle: { backgroundColor: colors.white } + barStyle: { + backgroundColor: colors.white + } } ); @@ -49,8 +53,8 @@ const LoginStack = createStackNavigator( // https://reactnavigation.org/docs/en/auth-flow.html // Switch navigators make sure the app nav stack and auth nav stack are two different things // and that you can't back-button into one another -export default createSwitchNavigator( - { +const AppContainer = createAppContainer( + createSwitchNavigator({ // Make sure no names for screens overlap (e.g. LoginStack and Login), since they are unique // identifiers that can be navigated to from anywhere in the app LoginCheck: LoginCheckScreen, @@ -59,5 +63,13 @@ export default createSwitchNavigator( }, { initialRouteName: 'LoginCheck' + }) +); + +export default class Root extends React.Component { + // I'm sure we're going to have to use state managers like Redux, and when that happens, + // wrap this AppContainer in a Store Provider. + render() { + return (); } -); \ No newline at end of file +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d75d8be..2bcb3d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -824,7 +824,7 @@ }, "@expo/vector-icons": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-6.3.1.tgz", + "resolved": "http://registry.npmjs.org/@expo/vector-icons/-/vector-icons-6.3.1.tgz", "integrity": "sha512-ai3Ub/r8oCduIBa/rX1tVba3WlazIar8faVz6hrpbe6rX67LS32C+HmrFKJ1VxUeMDyoNOUXzrk9hge5jD/HYg==", "requires": { "lodash": "^4.17.4", @@ -843,6 +843,94 @@ "tiny-queue": "^0.2.1" } }, + "@react-navigation/core": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-3.0.2.tgz", + "integrity": "sha512-E0ETZJUuJRHvjtb0f0U416NcDxt9T5HvRLxXu5K4DNxtmjpOfkT9Sh+Q309/zrCwSkHY85ZpGKvewZTSGI7Q1Q==", + "requires": { + "create-react-context": "0.2.2", + "hoist-non-react-statics": "^3.0.1", + "path-to-regexp": "^1.7.0", + "query-string": "^6.2.0", + "react-is": "^16.5.2", + "react-lifecycles-compat": "^3.0.4" + }, + "dependencies": { + "create-react-context": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz", + "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==", + "requires": { + "fbjs": "^0.8.0", + "gud": "^1.0.0" + } + }, + "hoist-non-react-statics": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", + "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", + "requires": { + "react-is": "^16.3.2" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "requires": { + "isarray": "0.0.1" + } + }, + "react-is": { + "version": "16.6.3", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.6.3.tgz", + "integrity": "sha512-u7FDWtthB4rWibG/+mFbVd5FvdI20yde86qKGx4lVUTWmPlSWQ4QxbBIrrs+HnXGbxOUlUzTAP/VDmvCwaP2yA==" + } + } + }, + "@react-navigation/native": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.0.3.tgz", + "integrity": "sha512-1T3OnI6DpHPYvrb6OSMvdpcou0NAZKYBeOs66Uimy6oT5tkkj8jwaksAwuSCTIMxaRl1nROPd22yXYq6gBnUVA==", + "requires": { + "hoist-non-react-statics": "^3.0.1", + "react-native-gesture-handler": "^1.0.0", + "react-native-safe-area-view": "^0.11.0", + "react-native-screens": "^1.0.0 || ^1.0.0-alpha" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", + "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", + "requires": { + "react-is": "^16.3.2" + } + }, + "react-native-gesture-handler": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.12.tgz", + "integrity": "sha512-Qp5FjRmqUFeCevSu2IYQG1Xw+YXZ9YOzqze/ZxaIvWzYAoKsRchlgHhNoxvCqElp/befrnVFIjAEQyUxcmBKJw==", + "requires": { + "hoist-non-react-statics": "^2.3.1", + "invariant": "^2.2.2", + "prop-types": "^15.5.10" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + } + } + } + } + }, "@segment/loosely-validate-event": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-1.1.2.tgz", @@ -1900,42 +1988,42 @@ }, "babel-plugin-syntax-async-functions": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" }, "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", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" }, "babel-plugin-syntax-decorators": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=" }, "babel-plugin-syntax-dynamic-import": { "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" }, "babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" }, "babel-plugin-syntax-export-extensions": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=" }, "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", + "resolved": "http://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", + "resolved": "http://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": { @@ -2949,11 +3037,6 @@ "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", "dev": true }, - "clamp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", - "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=" - }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -4496,8 +4579,7 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true, - "optional": true + "bundled": true }, "aproba": { "version": "1.2.0", @@ -4783,6 +4865,7 @@ "once": { "version": "1.4.0", "bundled": true, + "optional": true, "requires": { "wrappy": "1" } @@ -4906,7 +4989,6 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -8637,9 +8719,9 @@ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "query-string": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.1.0.tgz", - "integrity": "sha512-pNB/Gr8SA8ff8KpUFM36o/WFAlthgaThka5bV19AD9PNTH20Pwq5Zxodif2YyHwrctp6SkL4GqlOot0qR/wGaw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.2.0.tgz", + "integrity": "sha512-5wupExkIt8RYL4h/FE+WTg3JHk62e6fFPWtAZA9J5IWK1PfTfKkMS93HBUHcFpeYi9KsY5pFbh+ldvEyaz5MyA==", "requires": { "decode-uri-component": "^0.2.0", "strict-uri-encode": "^2.0.0" @@ -9059,27 +9141,6 @@ "resolved": "https://registry.npmjs.org/react-native-branch/-/react-native-branch-2.0.0-beta.3.tgz", "integrity": "sha1-IWevhrvJ+WS9Rb1fN2hOW1SWXjI=" }, - "react-native-dismiss-keyboard": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/react-native-dismiss-keyboard/-/react-native-dismiss-keyboard-1.0.0.tgz", - "integrity": "sha1-MohiQrPyMX4SHzrrmwpYXiuHm0k=" - }, - "react-native-drawer-layout": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/react-native-drawer-layout/-/react-native-drawer-layout-1.3.2.tgz", - "integrity": "sha512-fjO0scqbJUfNu2wuEpvywL7DYLXuCXJ2W/zYhWz986rdLytidbys1QGVvkaszHrb4Y7OqO96mTkgpOcP8KWevw==", - "requires": { - "react-native-dismiss-keyboard": "1.0.0" - } - }, - "react-native-drawer-layout-polyfill": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/react-native-drawer-layout-polyfill/-/react-native-drawer-layout-polyfill-1.3.2.tgz", - "integrity": "sha512-XzPhfLDJrYHru+e8+dFwhf0FtTeAp7JXPpFYezYV6P1nTeA1Tia/kDpFT+O2DWTrBKBEI8FGhZnThrroZmHIxg==", - "requires": { - "react-native-drawer-layout": "1.3.2" - } - }, "react-native-elements": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-0.19.1.tgz", @@ -9103,7 +9164,7 @@ }, "react-native-maps": { "version": "0.21.0", - "resolved": "https://registry.npmjs.org/react-native-maps/-/react-native-maps-0.21.0.tgz", + "resolved": "http://registry.npmjs.org/react-native-maps/-/react-native-maps-0.21.0.tgz", "integrity": "sha512-FkCCV1AyaT5ut5ZTKNIdFWBxRUXZovGTydy7U4Cyifj2dv0Q3Sv21B0Myj+aoGhJhvBJzxsU25dDGQN3TP7b/Q==", "requires": { "babel-plugin-module-resolver": "^2.3.0", @@ -9120,7 +9181,7 @@ }, "babel-preset-react-native": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-1.9.0.tgz", + "resolved": "http://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-1.9.0.tgz", "integrity": "sha1-A1/AbGX08qAtAzahALLaFC822rE=", "requires": { "babel-plugin-check-es2015-constants": "^6.5.0", @@ -9157,9 +9218,9 @@ } }, "react-native-paper": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/react-native-paper/-/react-native-paper-2.2.4.tgz", - "integrity": "sha512-vJI54FOxUvsiLD69z0aRIqO+VKwf2jL45CsFcta1BcBA9vqzI6QW+/ymmX6V0HA6ddQpgo6ZOWwg+wkIw5cAtw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-native-paper/-/react-native-paper-2.3.0.tgz", + "integrity": "sha512-RO71CUp6P9fyaFcQ7kJ7+8mhnVHnS1e4uGJkNIaWIHoZwtM5Tt1VlHPdRgR6DZ3scsRyvmh9IKnI+qvjj6zxHA==", "requires": { "@callstack/react-theme-provider": "^1.0.7", "color": "^2.0.1", @@ -9169,9 +9230,9 @@ }, "dependencies": { "hoist-non-react-statics": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.1.0.tgz", - "integrity": "sha512-MYcYuROh7SBM69xHGqXEwQqDux34s9tz+sCnxJmN18kgWh6JFdTw/5YdZtqsOdZJXddE/wUpCzfEdDrJj8p0Iw==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", + "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", "requires": { "react-is": "^16.3.2" } @@ -9179,9 +9240,9 @@ } }, "react-native-safe-area-view": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.9.0.tgz", - "integrity": "sha512-y792ScHMzvgwquxL869S9CER4dwiFu/TuCiXdy0xBtygmScMK4eWonnUT65LvOrsSSdr8o6XEK1mbI51h6ozvQ==", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.11.0.tgz", + "integrity": "sha512-N3nElaahu1Me2ltnfc9acpgt1znm6pi8DSadKy79kvdzKwvVIzw0IXueA/Hjr51eCW1BsfNw7D1SgBT9U6qEkA==", "requires": { "hoist-non-react-statics": "^2.3.1" } @@ -9194,6 +9255,11 @@ "dedent": "^0.6.0" } }, + "react-native-screens": { + "version": "1.0.0-alpha.17", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-1.0.0-alpha.17.tgz", + "integrity": "sha512-BvLtqbMpteXsY3XofCCX0c2LM6X14PhjN5FZraROEXuEnw8n8ImDTuXxUPDYZqq2Wjb1bLlm1zE5+c6dcGlY+Q==" + }, "react-native-scripts": { "version": "1.14.0", "resolved": "https://registry.npmjs.org/react-native-scripts/-/react-native-scripts-1.14.0.tgz", @@ -9226,11 +9292,11 @@ } }, "react-native-tab-view": { - "version": "0.0.77", - "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-0.0.77.tgz", - "integrity": "sha512-9vjD4Ly1Zlum1Y4g23ODpi/F3gYIUIsKWrsZO/Oh5cuX1eiB1DRVn11nY1z+j/hsQfhfyW6nDlmySyDvYQvYCA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.3.1.tgz", + "integrity": "sha512-QNt6VkEW8SP1UJ7yjD5P4bOTWwHQfoIMD5CqnA06pcubdNwHR1NmjiNZsVnIvp5wAEVbW6yTHjLXOh1fzab4xg==", "requires": { - "prop-types": "^15.6.0" + "prop-types": "^15.6.1" } }, "react-native-vector-icons": { @@ -9252,127 +9318,62 @@ } }, "react-navigation": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-2.12.1.tgz", - "integrity": "sha512-C+do+STPvvd/5LbaDhrZyf1P8tCeffttdlHyIRe1NgGg8Nj93FZHWOThi2hnmEZ75kXsS/JGxox4DDPqYVAxeQ==", - "requires": { - "clamp": "^1.0.1", - "create-react-context": "^0.2.1", - "hoist-non-react-statics": "^2.2.0", - "path-to-regexp": "^1.7.0", - "query-string": "^6.1.0", - "react-lifecycles-compat": "^3", - "react-native-safe-area-view": "^0.9.0", - "react-navigation-deprecated-tab-navigator": "1.3.0", - "react-navigation-drawer": "0.5.0", - "react-navigation-stack": "0.2.3", - "react-navigation-tabs": "0.6.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", - "requires": { - "isarray": "0.0.1" - } - } - } - }, - "react-navigation-deprecated-tab-navigator": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-navigation-deprecated-tab-navigator/-/react-navigation-deprecated-tab-navigator-1.3.0.tgz", - "integrity": "sha512-Cm+qYOPFWbvvcuv0YYX0ioYwLGgw7XAqdhAfpo3sIr3trxRW8871ePmfFOPezjQtz4v6ItjZt6LPgtBAVZoroQ==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-3.0.8.tgz", + "integrity": "sha512-gU55gHwytRczQnOLatFyF89eI8bv8NivPVoe0cEU8sxCKvX2RbuElGtLxKPWKJiIGz4ZScrmNqiJpkjTsmwiTg==", "requires": { - "react-native-tab-view": "^0.0.77" + "@react-navigation/core": "3.0.2", + "@react-navigation/native": "3.0.3", + "react-navigation-drawer": "1.0.5", + "react-navigation-stack": "1.0.5", + "react-navigation-tabs": "1.0.1" } }, "react-navigation-drawer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-0.5.0.tgz", - "integrity": "sha512-F1y593uC6pqBMGH+Omz75oNODEbxB/s0EGO8QtYwu1NmOOEUuuLA+c14zm+pgMsI4HlDabiHxPkWqsgGz25xVQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-1.0.5.tgz", + "integrity": "sha512-WeGrXFn84R75IAt3ndDfkHw9FNvPsi4JPGO1iopqUoA/2tMPA6WJbhuE3dqmmEu3TZRjI+2LatCgpx00tT1kiQ==", "requires": { - "react-native-drawer-layout-polyfill": "^1.3.2" + "react-native-tab-view": "^1.2.0" } }, "react-navigation-material-bottom-tabs": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/react-navigation-material-bottom-tabs/-/react-navigation-material-bottom-tabs-0.4.0.tgz", - "integrity": "sha512-apURG8VmhziDn+QloA7db0jwTgz5e1EOQPM5pR8Qxa+Z2lrwhrxi64jlCX1/cdo4HqZ57zbZu9EazFYOeaF4AA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/react-navigation-material-bottom-tabs/-/react-navigation-material-bottom-tabs-1.0.0.tgz", + "integrity": "sha512-fmPOt82xYpNYWh7gDdk38ce2TDmKuGnVaC7Pd67Ss62bjZ2CwmX9kOXExThtdY039zDGIcABDq9h65c8TQeTUA==", "requires": { "hoist-non-react-statics": "^2.5.0", "prop-types": "^15.6.0", - "react-navigation-tabs": "^0.4.0" + "react-navigation-tabs": "1.0.0" }, "dependencies": { - "react-native-safe-area-view": { - "version": "0.7.0", - "resolved": "http://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.7.0.tgz", - "integrity": "sha512-SjLdW/Th0WVMhyngH4O6yC21S+O4U4AAG3QxBr7fZ2ftgjXSpKbDHAhEpxBdFwei6HsnsC2h9oYMtPpaW9nfGg==", - "requires": { - "hoist-non-react-statics": "^2.3.1" - } - }, - "react-native-tab-view": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.3.0.tgz", - "integrity": "sha512-KxHODfaxFnUTpp3jZvLnunLyadcO0xBrNuAaiwhVAbpW2RQvxeNiDrvJAzrNeqHTLDrZhuHgcKGyqoTen1sHNQ==", - "requires": { - "prop-types": "^15.6.1" - } - }, "react-navigation-tabs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-0.4.1.tgz", - "integrity": "sha512-GsHqeTNyhSJGDW5cbJnDMuqmd+R6wGTeB1uYUaiLS8aSMGPdx1DNO49OfJI9x4C2Z83HtLjPOaQSNWqf/sNFDA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.0.0.tgz", + "integrity": "sha512-2oWPk+XfwHihgdOBhuAuzzU94NPhwdvuzseL30R3VsggunfVB4cUtNiQjRP4rVVpdGgJygQtws1eRbUsQ9cECA==", "requires": { "hoist-non-react-statics": "^2.5.0", "prop-types": "^15.6.1", "react-lifecycles-compat": "^3.0.4", - "react-native-safe-area-view": "^0.7.0", "react-native-tab-view": "^1.0.0" } } } }, "react-navigation-stack": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/react-navigation-stack/-/react-navigation-stack-0.2.3.tgz", - "integrity": "sha512-xjVqiI/ztcQt45jxQ3vfO8Lr+9bVq+0J/lRhMdZCvCDwiyOVuB64wx7qPNJW16pnBBLiI5h6H7uhWE3rAT0r/w==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/react-navigation-stack/-/react-navigation-stack-1.0.5.tgz", + "integrity": "sha512-X/rsSKD+dvfuDitmAJvqelRjD9hmA5SP7uq7F6CncaUX6M2BLb8Q39KBxcjsBMLVHOSrfOoUq3HciwN1xSBxvg==" }, "react-navigation-tabs": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-0.6.0.tgz", - "integrity": "sha512-Ax1rujJ51R1Jrz7b5bHUAIgsYC1VrFws+d3hxlPy5dXG84iJdV5dnDFRvdQMDDfDZc+NDx2a223lAYsc3p2+XA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.0.1.tgz", + "integrity": "sha512-XDftTg0sxh2ZMA4yJ4g8POCSova1gJM3heIUUup7/mDeUKcQRZzE9Xf9gQrbZteybJLAxATy+LAjaUpDvvdKmg==", "requires": { "hoist-non-react-statics": "^2.5.0", "prop-types": "^15.6.1", "react-lifecycles-compat": "^3.0.4", - "react-native-safe-area-view": "^0.7.0", "react-native-tab-view": "^1.0.0" - }, - "dependencies": { - "react-native-safe-area-view": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.7.0.tgz", - "integrity": "sha512-SjLdW/Th0WVMhyngH4O6yC21S+O4U4AAG3QxBr7fZ2ftgjXSpKbDHAhEpxBdFwei6HsnsC2h9oYMtPpaW9nfGg==", - "requires": { - "hoist-non-react-statics": "^2.3.1" - } - }, - "react-native-tab-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.0.2.tgz", - "integrity": "sha512-x8I43V1X7/AyMnIwnqJGMU54LqQRlV6vJ9irbls9asA/axdHIdxagPIV6Jx1ttFe/bPKhFwXL+lRYdYxGyUlWg==", - "requires": { - "prop-types": "^15.6.1" - } - } } }, "react-prop-types-element-of-type": { diff --git a/package.json b/package.json index c8ed5dd..cfa23d2 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,8 @@ "react": "16.3.1", "react-native": "~0.55.2", "react-native-elements": "^0.19.1", - "react-native-paper": "^2.2.4", - "react-navigation": "^2.12.1", - "react-navigation-material-bottom-tabs": "^0.4.0" + "react-native-paper": "^2.2.8", + "react-navigation": "^3.0.0", + "react-navigation-material-bottom-tabs": "^1.0.0" } } diff --git a/src/ChatStack.js b/src/ChatStack.js index d1bcf14..fd28587 100644 --- a/src/ChatStack.js +++ b/src/ChatStack.js @@ -17,6 +17,12 @@ const ChatStack = createStackNavigator( }, { navigationOptions: { + tabBarLabel: 'Chat', + tabBarIcon: ({ tintColor }) => ( + + ) + }, + defaultNavigationOptions: { headerStyle: { backgroundColor: colors.primary }, @@ -28,13 +34,4 @@ const ChatStack = createStackNavigator( } ); -// Applied after definition to prevent it from affecting children -ChatStack.navigationOptions = { - tabBarLabel: 'Chat', - tabBarIcon: ({ tintColor }) => ( - - ), - tabBarColor: colors.white -}; - export default ChatStack; \ No newline at end of file diff --git a/src/ManagebacStack.js b/src/ManagebacStack.js index 8fea689..360d878 100644 --- a/src/ManagebacStack.js +++ b/src/ManagebacStack.js @@ -1,24 +1,62 @@ import React from 'react'; -import { createStackNavigator } from 'react-navigation'; - import { - Icon -} from 'react-native-elements'; + createStackNavigator, + createMaterialTopTabNavigator +} from 'react-navigation'; + +import { Icon } from 'react-native-elements'; -import ManagebacScreen from './screens/ManagebacScreen'; +import ManagebacOverviewScreen from './screens/ManagebacOverviewScreen'; +// Dummy screens +import ManagebacCalendarScreen from './screens/ManagebacScreen'; +import ManagebacClassesScreen from './screens/ManagebacScreen'; +import ManagebacGroupsScreen from './screens/ManagebacScreen'; +import ManagebacCASScreen from './screens/ManagebacScreen'; +import MessagesScreen from './screens/SettingsScreen'; import { colors } from './styles'; +const ManagebacTabs = createMaterialTopTabNavigator( + { + Overview: ManagebacOverviewScreen, + Calendar: ManagebacCalendarScreen, + Groups: ManagebacClassesScreen, + Groups: ManagebacGroupsScreen, + CAS: ManagebacCASScreen + }, + { + navigationOptions: { + title: 'ManageBac' + }, + tabBarOptions: { + scrollEnabled: true, + style: { + backgroundColor: colors.blue + }, + indicatorStyle: { + backgroundColor: colors.white + } + } + } +); // Navigation stack for the Managebac tab const ManagebacStack = createStackNavigator( { - Managebac: ManagebacScreen + Managebac: ManagebacTabs, + Messages: MessagesScreen }, { navigationOptions: { + tabBarLabel: 'ManageBac', + tabBarIcon: ({ tintColor }) => ( + + ) + }, + defaultNavigationOptions: { headerStyle: { backgroundColor: colors.blue, + elevation: 0 }, headerTintColor: colors.white, headerTitleStyle: { @@ -28,13 +66,4 @@ const ManagebacStack = createStackNavigator( } ); -// Applied after definition to prevent it from affecting children -ManagebacStack.navigationOptions = { - tabBarLabel: 'Managebac', - tabBarIcon: ({ tintColor }) => ( - - ), - tabBarColor: colors.white -}; - -export default ManagebacStack; \ No newline at end of file +export default ManagebacStack; diff --git a/src/ProfileStack.js b/src/ProfileStack.js index 52cf97a..d157e60 100644 --- a/src/ProfileStack.js +++ b/src/ProfileStack.js @@ -16,16 +16,14 @@ const ProfileStack = createStackNavigator( { Profile: ProfileScreen, Settings: SettingsScreen + }, { + navigationOptions: { + tabBarLabel: 'Profile', + tabBarIcon: ({ tintColor }) => ( + + ) + } } ); -// Applied after definition to prevent it from affecting children -ProfileStack.navigationOptions = { - tabBarLabel: 'Profile', - tabBarIcon: ({ tintColor }) => ( - - ), - tabBarColor: colors.white -}; - export default ProfileStack; \ No newline at end of file diff --git a/src/screens/ManagebacOverviewScreen.js b/src/screens/ManagebacOverviewScreen.js new file mode 100644 index 0000000..3648c83 --- /dev/null +++ b/src/screens/ManagebacOverviewScreen.js @@ -0,0 +1,19 @@ +import React from 'react'; + +import { View } from 'react-native'; + +export default class ManagebacOverviewScreen extends React.Component { + constructor(props) { + super(props); + } + + static navigationOptions = ({ navigation }) => { + return { + title: 'Overview' + }; + }; + + render() { + return ; + } +} From 6d372d97bf01e152f63151f2ed1d9251359e70a4 Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Thu, 20 Dec 2018 20:45:08 +0900 Subject: [PATCH 006/308] Reorder checks and remove elses in favor of returns --- src/screens/LoginCheckScreen.js | 76 +++++++++++++++++---------------- 1 file changed, 39 insertions(+), 37 deletions(-) diff --git a/src/screens/LoginCheckScreen.js b/src/screens/LoginCheckScreen.js index e991d12..104cd85 100644 --- a/src/screens/LoginCheckScreen.js +++ b/src/screens/LoginCheckScreen.js @@ -23,7 +23,7 @@ export default class LoginCheckScreen extends React.Component { } check(credentials = '{}') { - //check for existing session + // Check for existing session fetch('https://sardonyx.app/api/validate', { method: 'GET', headers: { @@ -31,47 +31,49 @@ export default class LoginCheckScreen extends React.Component { }, mode: 'no-cors' }).then(response => { - if (response.status === 401) { - /* - Validation failed: unauthorized - Produce no error message because this is initial login - Navigate directly to LoginScreen instead of LoginStack, because - 1. User should be led to LoginPage instead of default page of LoginStack - 2. errorMessage doesn't propagate through stacks - */ - this.props.navigation.navigate('Login', { - errorMessage: null - }); - } - - else if (response.status === 200) { - //validation succeeded - const credentials = JSON.parse(response.headers.map['login-token'] || '{}'); - Storage.writeCredentials(credentials).then(() => { - this.props.navigation.navigate('AppStack'); - }); - } + if (response.status === 200) { + // Validation succeeded + const credentials = JSON.parse(response.headers.map['login-token'] || '{}'); + Storage.writeCredentials(credentials).then(() => { + this.props.navigation.navigate('AppStack'); + }); + return; + } - else if (response.status === 404) { - //network error - this.props.navigation.navigate('Login', { - errorMessage: 'Validation failed due to a network error.' - }); - } + if (response.status === 401) { + /* + Validation failed: unauthorized + Produce no error message because this is initial login + Navigate directly to LoginScreen instead of LoginStack, because + 1. User should be led to LoginPage instead of default page of LoginStack + 2. errorMessage doesn't propagate through stacks + */ + this.props.navigation.navigate('Login', { + errorMessage: null + }); + return; + } - else { - //other error code - this.props.navigation.navigate('Login', { - errorMessage: 'Validation failed due to an unkown error. Error code: ' + response.status - }); - } - }) - .catch(error => { - // promise rejected + if (response.status === 404) { + // Network error this.props.navigation.navigate('Login', { - errorMessage: 'There was an error while validating.' + error + errorMessage: 'Validation failed due to a network error.' }); + return; + } + + // Other error code + this.props.navigation.navigate('Login', { + errorMessage: 'Validation failed due to an unkown error. Error code: ' + response.status + }); + }) + .catch(error => { + // promise rejected + this.props.navigation.navigate('Login', { + errorMessage: 'There was an error while validating.' + error }); + return; + }); } render() { From cb57d5ccff66521a02608e58b34f2ebb5019ed7b Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Thu, 20 Dec 2018 20:45:41 +0900 Subject: [PATCH 007/308] Add react-native-dotenv in preparation for using .env files --- package-lock.json | 31 +++++++++++++++++++++++++++++-- package.json | 1 + 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2bcb3d9..b7520eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1927,6 +1927,15 @@ "babel-runtime": "^6.22.0" } }, + "babel-plugin-dotenv": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-dotenv/-/babel-plugin-dotenv-0.1.1.tgz", + "integrity": "sha1-nI+upnp8A0/n6UCZGHqy51c0ALw=", + "dev": true, + "requires": { + "dotenv": "^2.0.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", @@ -3692,6 +3701,12 @@ "sentence-case": "^1.1.2" } }, + "dotenv": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/dotenv/-/dotenv-2.0.0.tgz", + "integrity": "sha1-vXWcNXqqcDZeAclrewvsCKbg2Uk=", + "dev": true + }, "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", @@ -4579,7 +4594,8 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "bundled": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -4989,6 +5005,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -5027,7 +5044,8 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true + "bundled": true, + "optional": true }, "yallist": { "version": "3.0.2", @@ -9141,6 +9159,15 @@ "resolved": "https://registry.npmjs.org/react-native-branch/-/react-native-branch-2.0.0-beta.3.tgz", "integrity": "sha1-IWevhrvJ+WS9Rb1fN2hOW1SWXjI=" }, + "react-native-dotenv": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/react-native-dotenv/-/react-native-dotenv-0.2.0.tgz", + "integrity": "sha1-MRVRy2o1o9z+3mSL3tVcDj7OV50=", + "dev": true, + "requires": { + "babel-plugin-dotenv": "0.1.1" + } + }, "react-native-elements": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-0.19.1.tgz", diff --git a/package.json b/package.json index cfa23d2..4fdad40 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "devDependencies": { "eslint-plugin-react": "^7.11.1", "jest-expo": "~27.0.0", + "react-native-dotenv": "^0.2.0", "react-native-scripts": "1.14.0", "react-test-renderer": "16.3.1" }, From 82100c81e101d1d9c3c27f8cfcd69021c0a7db0b Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Thu, 20 Dec 2018 21:07:50 +0900 Subject: [PATCH 008/308] Update react-native and change react-native-scripts to expo --- app.json | 6 +- package-lock.json | 6876 +++++++++++++++------------------------------ package.json | 19 +- 3 files changed, 2336 insertions(+), 4565 deletions(-) diff --git a/app.json b/app.json index b1f2abc..b36a2ea 100644 --- a/app.json +++ b/app.json @@ -5,7 +5,8 @@ "name": "Sardonyx", "description": "A mobile client for Sardonyx", "slug": "sardonyx", - "sdkVersion": "27.0.0", + "privacy": "unlisted", + "sdkVersion": "31.0.0", "version": "0.1.0", "platforms": ["ios", "android"], "githubUrl": "https://github.com/SardonyxApp/sardonyx", @@ -16,6 +17,9 @@ "backgroundColor": "#eeeeee", "resizeMode": "contain", "image": "./src/logos/splash.png" + }, + "updates": { + "fallbackToCacheTimeout": 0 } } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b7520eb..b4cf3bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,28 +5,28 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.56.tgz", - "integrity": "sha512-OBeGs8UXWpKl0oK2T5nUXNl2yu8RKxqL/7aUnMtKDXCU6VUrNP3npdrPivBA11HPB15TVI49nWf2lntTzoUuAg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0-beta.56" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.56.tgz", - "integrity": "sha512-IsytpdHZqo5pgJj4FTcpEMKmfXK9TdvThLZo4yUOjbuVZCy8NAwoeBnojvKCNf+139L7xNIIosp3RVA0cMkbOg==", - "requires": { - "@babel/code-frame": "7.0.0-beta.56", - "@babel/generator": "7.0.0-beta.56", - "@babel/helpers": "7.0.0-beta.56", - "@babel/parser": "7.0.0-beta.56", - "@babel/template": "7.0.0-beta.56", - "@babel/traverse": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", + "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", "convert-source-map": "^1.1.0", - "debug": "^3.1.0", - "json5": "^0.5.0", + "debug": "^4.1.0", + "json5": "^2.1.0", "lodash": "^4.17.10", "resolve": "^1.3.2", "semver": "^5.4.1", @@ -34,522 +34,643 @@ }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "requires": { + "minimist": "^1.2.0" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" } } }, "@babel/generator": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.56.tgz", - "integrity": "sha512-d+Ls/Vr5OU5FBDYQToXSqAluI3r2UaSoNZ41zD3sxdoVoaT8K5Bdh4So4eG4o//INGM7actValXGfb+5J1+r8w==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", + "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.0.0-beta.56", + "@babel/types": "^7.2.2", "jsesc": "^2.5.1", "lodash": "^4.17.10", "source-map": "^0.5.0", "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=" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } } }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.56.tgz", - "integrity": "sha512-PaHQ8R489lwBZYz/F81YpKDurIQfKWliNIpHZAysYbnozq8hVyaUx8D5wW6Dplf0lUUQ8Y/I3YKtiNoyg7bLHA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.0.0-beta.56" + "@babel/types": "^7.0.0" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.56.tgz", - "integrity": "sha512-ka5Fe6UB/jRtCWU/emg6fLKqttaVaBCF1zdT06PYs7w8hJPidCcfdVMBoDHfqL3pgLo+hp+LW4Q/99zw/zv0Sw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", "requires": { - "@babel/helper-explode-assignable-expression": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56" + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-builder-react-jsx": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.56.tgz", - "integrity": "sha512-s7nY9YbY+/6yccMCdI9oqh/rZ9lEoo3EHk/Lt6H2p/t6jyQf0sWqtsbJeHg5j5FzX6ZwYkdX8lTmBBMTrlyf9A==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz", + "integrity": "sha512-ebJ2JM6NAKW0fQEqN8hOLxK84RbRz9OkUhGS/Xd5u56ejMfVbayJ4+LykERZCOUM6faa6Fp3SZNX3fcT16MKHw==", "requires": { - "@babel/types": "7.0.0-beta.56", + "@babel/types": "^7.0.0", "esutils": "^2.0.0" } }, "@babel/helper-call-delegate": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.56.tgz", - "integrity": "sha512-XOv0taD7Elw0CSorktXbbCzdPgH4dZOb8yObk5deEhDbWgJhdwIvd5z8rQpDu712oqDhXm7Z3v+upFsOCg2+nQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", + "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", + "requires": { + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.3.tgz", + "integrity": "sha512-xO/3Gn+2C7/eOUeb0VRnSP1+yvWHNxlpAot1eMhtoKDCN7POsyQP5excuT5UsV5daHxMWBeIIOeI5cmB8vMRgQ==", "requires": { - "@babel/helper-hoist-variables": "7.0.0-beta.56", - "@babel/traverse": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56" + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.2.3" } }, "@babel/helper-define-map": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.56.tgz", - "integrity": "sha512-6hWVBpEyeRqvX3cKU7GVjdiYk9SvucpScTwdNpuSvsX8lX1MzuLQ7n9FNrHMU6+ulVNkZV81E7WdABYgXyIfuw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", + "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56", + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", "lodash": "^4.17.10" } }, "@babel/helper-explode-assignable-expression": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.56.tgz", - "integrity": "sha512-Y3a7HLnwLJEiKe4+XB2AEo6QiCnFsa0ycqg6HBp0lyw4HztSTGt3oyZYO8I5ZhtVCKi/EJXSQuKHLOV98jG/+A==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", "requires": { - "@babel/traverse": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56" + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-function-name": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.56.tgz", - "integrity": "sha512-Lq4nPOt1j3sUq+1GVrw57dKq6wBKAHplGjYzEG8dkytqo93i6uSKKKg3smYXx2qohEVD5ciAyJjgRJq7RQu4Lg==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0-beta.56", - "@babel/template": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.56.tgz", - "integrity": "sha512-QU9EVlnDGTzBasgrdo/I4+RzZS7oqzz9YcetpYko3bp+VsRGokqsAQl3gIvxWTtxwibwboDEdBx+fGArtb2fhw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.0.0-beta.56" + "@babel/types": "^7.0.0" } }, "@babel/helper-hoist-variables": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.56.tgz", - "integrity": "sha512-PTBa6UfiM7MgeTXOlNjCDiiqtOhqWraHM2GGsZg1M8VkuZRjP1Kag9JNmoppUlsZE5LY3NE+BjJuQ1/mLgcIug==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", + "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", "requires": { - "@babel/types": "7.0.0-beta.56" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.56.tgz", - "integrity": "sha512-/TrmPCG1XIENakzenEyiNsbIBSTm10DNWyB/cyKwVljzA18gMivn9YxSMxVAuaC1KyTTmhkeUYibSMF7yF13xw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.0.0-beta.56" + "@babel/types": "^7.0.0" } }, "@babel/helper-module-imports": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.56.tgz", - "integrity": "sha512-iVWFscU+yIu6DIo5IWkMgVXd74/d3z/ZomwF/QJNGFwFP/lNA282rpjsky56fSxS7oT7wAlXoYoHVCOOaL7tbg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", "requires": { - "@babel/types": "7.0.0-beta.56", - "lodash": "^4.17.10" + "@babel/types": "^7.0.0" } }, "@babel/helper-module-transforms": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.56.tgz", - "integrity": "sha512-jC+blwjVeVx43WWOJHHXYBcHvYw0eHNgZUUXHKkDTLYc0zx8oev3LyciGFiWz29KgCS1K8YYd0t7z8fFXlCTog==", - "requires": { - "@babel/helper-module-imports": "7.0.0-beta.56", - "@babel/helper-simple-access": "7.0.0-beta.56", - "@babel/helper-split-export-declaration": "7.0.0-beta.56", - "@babel/template": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", + "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/template": "^7.2.2", + "@babel/types": "^7.2.2", "lodash": "^4.17.10" } }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.56.tgz", - "integrity": "sha512-T+eZePA6kM+3wHXDPKKFZGHtMJGfK2/xmdk9pVjFHppdg4zwEqGaqLQaOlqfk5ekx2vxO22tmL4Caf2A/MVm0w==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.0.0-beta.56" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.56.tgz", - "integrity": "sha512-6IlFMU13X7gwnnMldDHwfc7IqngqCH/KfiU7I+GdNoZPnddmjghc87E/zKHaJpWdX1VvXCCelp2EnKq0rgBQ8w==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + }, + "@babel/helper-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", + "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", + "requires": { + "lodash": "^4.17.10" + } }, "@babel/helper-remap-async-to-generator": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.56.tgz", - "integrity": "sha512-uCvdjXeEh/qzvhK61XLP5DADCM0MMxZOVdGIj5In/i9MLt9BD/EAyBmjZN0bc1dD1wJst0qInZyZju0lUUkvNQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0-beta.56", - "@babel/helper-wrap-function": "7.0.0-beta.56", - "@babel/template": "7.0.0-beta.56", - "@babel/traverse": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-replace-supers": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.56.tgz", - "integrity": "sha512-Pv0a8XYWeYLMgzx6BiKYMkBPW7ilDeKmKnPfMD+sCsTRDMZl9DssqnkkSwGxgAeuPwZ9opx18r5EzYPTgt0k4A==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", + "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0-beta.56", - "@babel/helper-optimise-call-expression": "7.0.0-beta.56", - "@babel/traverse": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-simple-access": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.56.tgz", - "integrity": "sha512-CIRkGs+/KNWpGJKEUbABeVWTZ1ePskwKwwoR1lVs2qI4cZheS6NvXzLxsFN/uxyc46yn7px/XTxV/zM3rnlQQQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", "requires": { - "@babel/template": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56", - "lodash": "^4.17.10" + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.56.tgz", - "integrity": "sha512-j886mQJQg5HDF7X0qK/AfNdrpIYUcJHxRKwBJ9dUvhpO3eFqsTLbJJpitgLaJQjh9D7Db5Aiq8MRghj3+MH57g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.0.0-beta.56" + "@babel/types": "^7.0.0" } }, "@babel/helper-wrap-function": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.56.tgz", - "integrity": "sha512-WuGMzbpx12M40aHtocM0vs9af/LmdwpXsKBX2T2GqCMueD90MHvQU+148vHScgPbUoWP4lv+dFGZDf0XUc2qJA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "7.0.0-beta.56", - "@babel/template": "7.0.0-beta.56", - "@babel/traverse": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56" + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" } }, "@babel/helpers": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.56.tgz", - "integrity": "sha512-KaNBuVlAGW6sFCEWjliN29dL8K4L/ff8ZUaR/D5ou/JsqOuxLRy34Rf8WXMru3Et2g4Czly6vJeSmaYyf3s0lA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", + "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "7.0.0-beta.56", - "@babel/traverse": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56" + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.56.tgz", - "integrity": "sha512-q4TfI+jJISul6vVpZJktzH4tupwRiVk6KXRhB8PHqJ7erl966I6ePDXl9mAbE8jMM7YswhnnB0j1SYP7LBVyhg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", - "js-tokens": "^3.0.0" - }, - "dependencies": { - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - } + "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.56.tgz", - "integrity": "sha512-JM0ughhbo+sPXw2Z+SUyowfYrAOhjanzjMshcLswBdXVelJCOeEKe/FqMqPWGVPQr7wByongXIn+MKdCpY7DBw==" + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" }, "@babel/plugin-external-helpers": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.0.0-beta.56.tgz", - "integrity": "sha512-9pN2hYx1AiLo9uhgavXRTqEKmGgkPNnX0Tqnc+oi+jshy1uoHW3M9U5uD2CMClUhOTif3Fu0eJ0JrCvN/LAkig==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.2.0.tgz", + "integrity": "sha512-QFmtcCShFkyAsNtdCM3lJPmRe1iB+vPZymlB4LnDIKEBj2yKQLQKtoxXxJ8ePT5fwMl4QGg303p4mB0UsSI2/g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.56.tgz", - "integrity": "sha512-OMfd8vJp0lO8cc4RtdtkTJ7nXP0lZlSYLwuX8HPYwd1BIZ00e92z4xzcVGZZCF9BW+Rl9flM9OYwjmlZkcvxyA==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.3.tgz", + "integrity": "sha512-FVuQngLoN2iDrpW7LmhPZ2sO4DJxf35FOcwidwB9Ru9tMvI5URthnkVHuG14IStV+TzkMTyLMoOUlSTtrdVwqw==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.2.3", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.2.3.tgz", + "integrity": "sha512-jhCFm7ftmue02EWIYqbhzP0iConEPsgVQeDriOs/Qc2lgr6MDtHTTrv3hE2GOOQDFjQ9tjP7nWQq0ad0JhIsQg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.2.3", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-decorators": "^7.2.0" + } + }, + "@babel/plugin-proposal-export-default-from": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz", + "integrity": "sha512-NVfNe7F6nsasG1FnvcFxh2FN0l04ZNe75qTOAVOILWPam0tw9a63RtT/Dab8dPjedZa4fTQaQ83yMMywF9OSug==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.2.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.2.0.tgz", + "integrity": "sha512-QXj/YjFuFJd68oDvoc1e8aqLr2wz7Kofzvp6Ekd/o7MWZl+nZ0/cpStxND+hlZ7DpRWAp7OmuyT2areZ2V3YUA==", "requires": { - "@babel/helper-function-name": "7.0.0-beta.56", - "@babel/helper-member-expression-to-functions": "7.0.0-beta.56", - "@babel/helper-optimise-call-expression": "7.0.0-beta.56", - "@babel/helper-plugin-utils": "7.0.0-beta.56", - "@babel/helper-replace-supers": "7.0.0-beta.56", - "@babel/plugin-syntax-class-properties": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.2.0" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.56.tgz", - "integrity": "sha512-onVk2kI39dzkDP+SzX6eC3nAkq5yemiiZX+AuXAmshOyuz+ZYUu5b+zzXKw0oPFTSnMnlIfJItQCcVzesXcU6A==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56", - "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.56.tgz", - "integrity": "sha512-7aq+tQjiOb6pNl5sFn1lSi6sM+LIWw4eRocFZKhbr1GX9hW9I8jV9G+lxvfswiKniyYRyeAua7yIz/VuCH/tfQ==", + "@babel/plugin-proposal-optional-chaining": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz", + "integrity": "sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.2.0" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz", + "integrity": "sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.56.tgz", - "integrity": "sha512-+g2lxi5viFhbVkvLIz9UXQNgl3E6ssOfhKC5wLCMV1jJtW+Qas//K7OPQiHFWiwEnuKNiZi6nRFpApWVGOUu6w==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-export-default-from": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz", + "integrity": "sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-flow": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.56.tgz", - "integrity": "sha512-sH0bkRcCdcLDpDq7Xl1oWOoVXD2/Ad2P0190s/3Mjd+zO+kkW/6znbD6PuFwIsKDTJo9KiIZZHLBopAbdXlXcQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", + "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-jsx": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.56.tgz", - "integrity": "sha512-QsZbghj9DemNxr6ZX7V1ULukXrb+d3kRAU9ErikMnSCx60tKW5MQCIuSnHjr1l5wU4XlAZT2qclb+RYTTz0rAw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", + "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz", + "integrity": "sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.56.tgz", - "integrity": "sha512-rDqe3TN5cZaUg4zi3Kzfq5qySS6IcEs19WE7GHlmelgQ1QXy9d/tsPEAWHZTLrG4mjbbEFJZdLvAi+LSGdhJAQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz", + "integrity": "sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.2.0.tgz", + "integrity": "sha512-WhKr6yu6yGpGcNMVgIBuI9MkredpVc7Y3YR4UzEZmDztHoL6wV56YBHLhWnjO1EvId1B32HrD3DRFc+zSoKI1g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.56.tgz", - "integrity": "sha512-TkpqdTt8ivvNBoawwxwFJSHRAQAWvWRuMyQIJfdrmSGdHVaEJ8xn1MkYuORMOogtpsG+ZncmGRAyCEQeMFBPsA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", + "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.56.tgz", - "integrity": "sha512-hqeciuZPUfsZIhJ6MaB68U3+G5eS12ahidn98oUxyOl+BnS/aN9EhSt877mJPlEBe3oQy35qNwg/HG3rq33O2A==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", + "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56", + "@babel/helper-plugin-utils": "^7.0.0", "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.56.tgz", - "integrity": "sha512-uq0Nvjlkt5gpF+dlvJ1yOZu8liBfOp3QoA/hrP7LZ6XzmYwZOhIUpUbouvKjgvybWiDmNDGcELeC96CL/mtV5Q==", - "requires": { - "@babel/helper-annotate-as-pure": "7.0.0-beta.56", - "@babel/helper-define-map": "7.0.0-beta.56", - "@babel/helper-function-name": "7.0.0-beta.56", - "@babel/helper-optimise-call-expression": "7.0.0-beta.56", - "@babel/helper-plugin-utils": "7.0.0-beta.56", - "@babel/helper-replace-supers": "7.0.0-beta.56", - "@babel/helper-split-export-declaration": "7.0.0-beta.56", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", + "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", "globals": "^11.1.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.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.56.tgz", - "integrity": "sha512-U0iHc3aEhgJsW5toS4ZjwWp9bV1l+gsJAt4PI/fXA4XK0DVZEZS82Xq3ozHLp5ccWiqJCCEWYAFys2c/ZPKmjA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-destructuring": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.56.tgz", - "integrity": "sha512-6Jyis4rwPNQ9a8t1PerzymtC0qfgKlI9SOc44xaZfVo2nxzhb09nXrGsjpXywZVepDUWKHXy17XT0ouiQJmrTw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz", + "integrity": "sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.56.tgz", - "integrity": "sha512-t32wjgnTXwOMDd8cIUSpYu3k31EqrYTJsZf/Dw44RDT6EXJzeTKchMsvwd2n8vf02OzjO0a9/qXF5dKl4cK0HQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "7.0.0-beta.56", - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.56.tgz", - "integrity": "sha512-EYkvFGwScXjYonC1qEmR64mqIEeB+JzrYobAujBixHpk6M+LRP47o2dq0/8PC0mNRu3oBakzqgcjr2F0QGM/rw==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz", + "integrity": "sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56", - "@babel/plugin-syntax-flow": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0" } }, "@babel/plugin-transform-for-of": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.56.tgz", - "integrity": "sha512-z4sift6xY65vOpFlRyPrcKNgusCV9NZZGOR9Dxt64XUEWnyxpabHZ9mGe0B3mqJbm168cK7sbxruvnyfyrO2fg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", + "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-function-name": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.56.tgz", - "integrity": "sha512-olcHC1WD2L36/vUl/aw5STpv/+O4C/mUGOytQ2NJn0VPKqeaYCBaEboz+4nnttlvTojaxWzBURTl675YvlPcWw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", + "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", "requires": { - "@babel/helper-function-name": "7.0.0-beta.56", - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-literals": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.56.tgz", - "integrity": "sha512-uz7Hcui2qmf1fA8pl5CsLz8KjM3HuUbEws/59G9kaMOrSIMrGSfeN1zsthfFSJDpFQLwq5NZ0+lPIvuOwE61bA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.56.tgz", - "integrity": "sha512-48juOe+HB048Km4l7ZzCKptRlfnYGAC5WwPJrDzldHQ8JFFmbrZPoDGPSlDK/3z9JRMldBHioVHvID5WTYPE9g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", + "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", "requires": { - "@babel/helper-module-transforms": "7.0.0-beta.56", - "@babel/helper-plugin-utils": "7.0.0-beta.56", - "@babel/helper-simple-access": "7.0.0-beta.56" + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0" } }, "@babel/plugin-transform-object-assign": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.0.0-beta.56.tgz", - "integrity": "sha512-raeO28kZI5d0yNEG+1RAV6rOhi9IHIZKuCbLp5pCOMwR3+zdeBh+2BFHtFDwF7gHfVy7cW/XOX3BaZiA2PrjQg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz", + "integrity": "sha512-nmE55cZBPFgUktbF2OuoZgPRadfxosLOpSgzEPYotKSls9J4pEPcembi8r78RU37Rph6UApCpNmsQA4QMWK9Ng==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-parameters": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.56.tgz", - "integrity": "sha512-zhGeuH/eY3kDVfFCWpyc1pWoIyuTZghqazsqJkUKwJMHoqVZuwEvNmpPi9Hhbn+W+LOFt8MJv5dY+kgfbMlwAQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", + "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==", "requires": { - "@babel/helper-call-delegate": "7.0.0-beta.56", - "@babel/helper-get-function-arity": "7.0.0-beta.56", - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-call-delegate": "^7.1.0", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-react-display-name": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.56.tgz", - "integrity": "sha512-K+MkaS/epgMstmKlUFsm1QxBHm+BTwI5TS5bgHh3M8N9ip4IQKAZacAAmQ6lNioIiO7TjH84qSZtBX+FYCgvtA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", + "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.56.tgz", - "integrity": "sha512-xg1l6yyWxxE4NdCIs+d3xx9Q03BmktxI9fIfxKaT0y+UjABg6J1eGCJRBPa1s3X212gkUcEmYPjG6jo4ew40Sw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.2.0.tgz", + "integrity": "sha512-h/fZRel5wAfCqcKgq3OhbmYaReo7KkoJBpt8XnvpS7wqaNMqtw5xhxutzcm35iMUWucfAdT/nvGTsWln0JTg2Q==", "requires": { - "@babel/helper-builder-react-jsx": "7.0.0-beta.56", - "@babel/helper-plugin-utils": "7.0.0-beta.56", - "@babel/plugin-syntax-jsx": "7.0.0-beta.56" + "@babel/helper-builder-react-jsx": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" } }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.56.tgz", - "integrity": "sha512-HQs16FPkc7B+XjvXLHVX95ouz55AiNPStUgAngeHOjNVq7veZ7CtYP2uzdXWUrl5JsglFeZj8wa3+zUALhhgJA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz", + "integrity": "sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56", - "@babel/plugin-syntax-jsx": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" } }, "@babel/plugin-transform-regenerator": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.56.tgz", - "integrity": "sha512-wSRlSwXSXlpAdAKethZu+JyrnSL1NvLn3VtomlOCqHWhRhjOkjehIBlAe/AmguSn9JTUja0vqBWn1FS8sSnp7Q==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", + "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", "requires": { "regenerator-transform": "^0.13.3" - }, - "dependencies": { - "regenerator-transform": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", - "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", - "requires": { - "private": "^0.1.6" - } - } + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz", + "integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.56.tgz", - "integrity": "sha512-qfN9LTjglikI4N2K/WkZAJQijWQpsQefsC/sXEN6c4/G9n5ZJFyXt23aXXcjibncKbcTrRpmH0nTeMiZK0A+5A==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-spread": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.56.tgz", - "integrity": "sha512-C0EUKGVSU5ttbRe+ATn54oR2jdGzGIA8Uo/0jwtMeTU+6lewpTX8nu+M36JZDIcq2sSu7zxfLiRkErb/PX/Q0g==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", + "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" } }, "@babel/plugin-transform-template-literals": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.56.tgz", - "integrity": "sha512-VMK/94Mlz24KFg0wc4Y4fAM6FNnx0wnr4A36rMdU54SYM3AEYzQcXtbI4uOCUSGdTOKR5zOiwhNnZFRodi29iA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", + "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.2.0.tgz", + "integrity": "sha512-EnI7i2/gJ7ZNr2MuyvN2Hu+BHJENlxWte5XygPvfj/MbvtOkWor9zcnHpMMQL2YYaaCcqtIvJUyJ7QVfoGs7ew==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0-beta.56", - "@babel/helper-plugin-utils": "7.0.0-beta.56" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.2.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", + "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" } }, "@babel/register": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.0.0-beta.56.tgz", - "integrity": "sha512-QnCpfPKYQ/RCbD8hNYOugbdI+pBVZgRNcq012jB9fbu2Ca/H2xinFF2ycMWCkEKDNfmo/FqVfezivtb4VILeNA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.0.0.tgz", + "integrity": "sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==", "requires": { "core-js": "^2.5.7", "find-cache-dir": "^1.0.0", @@ -557,73 +678,94 @@ "lodash": "^4.17.10", "mkdirp": "^0.5.1", "pirates": "^4.0.0", - "source-map-support": "^0.4.2" + "source-map-support": "^0.5.9" }, "dependencies": { "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=" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", + "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "@babel/runtime": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", + "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", + "requires": { + "regenerator-runtime": "^0.12.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" } } }, "@babel/template": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.56.tgz", - "integrity": "sha512-rsR9K18h0oiJTUmS/ICYREbV8qhPTic4SIqDSkzv9xOxupt7dKj8hWmZQLGPySO5x6cdn8py039o1wPQnsEGHg==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0-beta.56", - "@babel/parser": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56", - "lodash": "^4.17.10" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.56.tgz", - "integrity": "sha512-9WTqtKP2Ll+jG68r+JEecXAbdH/kk5inN1VDSDaTgdYtZ82BYUS9XRWMVpc5HB9LJsu2ZEyUA1cGybID7eeOXA==", - "requires": { - "@babel/code-frame": "7.0.0-beta.56", - "@babel/generator": "7.0.0-beta.56", - "@babel/helper-function-name": "7.0.0-beta.56", - "@babel/helper-split-export-declaration": "7.0.0-beta.56", - "@babel/parser": "7.0.0-beta.56", - "@babel/types": "7.0.0-beta.56", - "debug": "^3.1.0", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.10" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, - "globals": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", - "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==" + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" } } }, "@babel/types": { - "version": "7.0.0-beta.56", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.56.tgz", - "integrity": "sha512-fRIBeHtKxAD3D1E7hYSpG4MnLt0AfzHHs5gfVclOB0NlfLu3qiWU/IqdbK2ixTK61424iEkV1P/VAzndx6ungA==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "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=" - } } }, "@callstack/react-theme-provider": { @@ -645,190 +787,13 @@ } } }, - "@expo/bunyan": { - "version": "1.8.10", - "resolved": "https://registry.npmjs.org/@expo/bunyan/-/bunyan-1.8.10.tgz", - "integrity": "sha1-fRk1SmvOharl/qDpc1adPwFCUz4=", - "dev": true, - "requires": { - "moment": "^2.10.6", - "mv": "~2", - "safe-json-stringify": "~1" - } - }, - "@expo/json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-5.3.0.tgz", - "integrity": "sha1-knT9IuaM/crh8GrtjS0flTpPcWg=", - "dev": true, - "requires": { - "json5": "^0.5.0", - "lodash": "^4.6.1", - "mz": "^2.6.0" - } - }, - "@expo/ngrok": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@expo/ngrok/-/ngrok-2.4.2.tgz", - "integrity": "sha512-x2VbnHVyaID2zGqfX2fD2Ui8as+bebhV6IFODSVhSSsKTSke+ORviLkvEZJgd5Hlz6WgRzuCAtqMkxXb1G6o6Q==", - "dev": true, - "requires": { - "@expo/ngrok-bin": "2.2.8-beta.3", - "async": "^0.9.0", - "lock": "^0.1.2", - "logfmt": "^1.2.0", - "request": "^2.81.0", - "uuid": "^3.0.0" - } - }, - "@expo/ngrok-bin": { - "version": "2.2.8-beta.3", - "resolved": "https://registry.npmjs.org/@expo/ngrok-bin/-/ngrok-bin-2.2.8-beta.3.tgz", - "integrity": "sha512-VzL67ybSvSYhFJxwBm19VMEHAcgg6bDhE9p8HKDOXL2tdHIzqYtqAYxOyhv2mS263WYqdomtoAChSOb449of+g==", - "dev": true, - "requires": { - "@expo/ngrok-bin-darwin-ia32": "2.2.8", - "@expo/ngrok-bin-darwin-x64": "2.2.8", - "@expo/ngrok-bin-freebsd-ia32": "2.2.8", - "@expo/ngrok-bin-freebsd-x64": "2.2.8", - "@expo/ngrok-bin-linux-arm": "2.2.8", - "@expo/ngrok-bin-linux-arm64": "2.2.8", - "@expo/ngrok-bin-linux-ia32": "2.2.8", - "@expo/ngrok-bin-linux-x64": "2.2.8", - "@expo/ngrok-bin-sunos-x64": "2.2.8", - "@expo/ngrok-bin-win32-ia32": "2.2.8-beta.1", - "@expo/ngrok-bin-win32-x64": "2.2.8-beta.1" - } - }, - "@expo/ngrok-bin-darwin-ia32": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@expo/ngrok-bin-darwin-ia32/-/ngrok-bin-darwin-ia32-2.2.8.tgz", - "integrity": "sha512-Mgept4WvXobcNQbxV0f8Nqrukl4HsAM4ExfFOC5BJ1PinlZisb1lQYp+PGu/3DuOYAinAspbL/3m77JkhT5Oow==", - "dev": true, - "optional": true - }, - "@expo/ngrok-bin-darwin-x64": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@expo/ngrok-bin-darwin-x64/-/ngrok-bin-darwin-x64-2.2.8.tgz", - "integrity": "sha512-hEVxBAKTT9G+jCy+2NOjgFrPrrzmdxljLhz3cQIb4izjooQXGCbTFvnEntB0odgsf6Dpa2jWNNt18H6t2nneOQ==", - "dev": true, - "optional": true - }, - "@expo/ngrok-bin-freebsd-ia32": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@expo/ngrok-bin-freebsd-ia32/-/ngrok-bin-freebsd-ia32-2.2.8.tgz", - "integrity": "sha512-yGdq06wUxreCPxXnhqlL3GzvLtArJ6eDOQinv4SiDK+ftQPY4TloEMQr/rwohvtx63O+bT9jAtgJW44jlfIQ2Q==", - "dev": true, - "optional": true - }, - "@expo/ngrok-bin-freebsd-x64": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@expo/ngrok-bin-freebsd-x64/-/ngrok-bin-freebsd-x64-2.2.8.tgz", - "integrity": "sha512-1uSZRastddaUIrK/2B5MANhV7LDKJ8/4cSQxn+E2+U296VKkU6n1ZfZ207a7hA1ctQeBcvwkRx9biFxDa99How==", - "dev": true, - "optional": true - }, - "@expo/ngrok-bin-linux-arm": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@expo/ngrok-bin-linux-arm/-/ngrok-bin-linux-arm-2.2.8.tgz", - "integrity": "sha512-qruRsoEuFvaVsSSlhNtHR8uWgF7aA6jdRtCuVKO4pMW32lTZfGS+U/y6hB0YBxXv4xhEn8o1x/15oLU7cNUxEA==", - "dev": true, - "optional": true - }, - "@expo/ngrok-bin-linux-arm64": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@expo/ngrok-bin-linux-arm64/-/ngrok-bin-linux-arm64-2.2.8.tgz", - "integrity": "sha512-9iXr88LlzBCp7+NwfPDsSg2sIy5GfWFXrhU8+vGLnFvZ5MO6ZoRmXbw2VRPFm7ekMa0Losddny4aiLDJkr9hXw==", - "dev": true, - "optional": true - }, - "@expo/ngrok-bin-linux-ia32": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@expo/ngrok-bin-linux-ia32/-/ngrok-bin-linux-ia32-2.2.8.tgz", - "integrity": "sha512-Cm3BH4nv55A6KF+XjrK8oLe1Ktn4WrUabd6TcErQRM6/2454A+vh1r6CEKWOVWy4bg7ceTbjgHhCdj9WMv8WTg==", - "dev": true, - "optional": true - }, - "@expo/ngrok-bin-linux-x64": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@expo/ngrok-bin-linux-x64/-/ngrok-bin-linux-x64-2.2.8.tgz", - "integrity": "sha512-jNhnnfMR/yAgUV1LnAheq/WWB/Tkdgm5sxZhN0fjN00CeiYTVyNuCsii2tdjXJCGrxdpb6RzvOxjLGstIT0mUQ==", - "dev": true, - "optional": true - }, - "@expo/ngrok-bin-sunos-x64": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@expo/ngrok-bin-sunos-x64/-/ngrok-bin-sunos-x64-2.2.8.tgz", - "integrity": "sha512-Ogcn/6jNN2PMMaZ1PJu7JBiZz92Yowa119cclI2E2RKyIqQaOYol2g72oHzm8SQ49KfzEJMGDmQA4Xh29cKmrQ==", - "dev": true, - "optional": true - }, - "@expo/ngrok-bin-win32-ia32": { - "version": "2.2.8-beta.1", - "resolved": "https://registry.npmjs.org/@expo/ngrok-bin-win32-ia32/-/ngrok-bin-win32-ia32-2.2.8-beta.1.tgz", - "integrity": "sha512-Pva9ZNjUieD2/RVav7LYGAXZ1O6MVXlvOnJmHSmjP4rhreek7/Ez7b5HsCEN3YLjZIcPHH8SV8Duix1NO2zB5A==", - "dev": true, - "optional": true - }, - "@expo/ngrok-bin-win32-x64": { - "version": "2.2.8-beta.1", - "resolved": "https://registry.npmjs.org/@expo/ngrok-bin-win32-x64/-/ngrok-bin-win32-x64-2.2.8-beta.1.tgz", - "integrity": "sha512-tVn0jkRC7cbDL502FU7iVI4jbaEKcbTER7pYo2xdUZgM02n4u0AS+FFuzUN+irDiRYZQIFdmDIhxDGl+SHkzbA==", - "dev": true, - "optional": true - }, - "@expo/osascript": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-1.8.1.tgz", - "integrity": "sha1-0UX2wbSslmPAv18wVCNtyH3E3ro=", - "dev": true, - "requires": { - "@expo/spawn-async": "^1.2.8", - "babel-runtime": "^6.23.0", - "exec-async": "^2.2.0" - } - }, - "@expo/schemer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@expo/schemer/-/schemer-1.1.0.tgz", - "integrity": "sha512-3A9weL/nBXZ8sqPV8lP9g7qswmpzbGFRwvnIR8mF/CBZMwCx/JJ11QBS6mZwr7jm4kbU/C6D+HnDh3RjCHSSow==", - "dev": true, - "requires": { - "ajv": "^5.2.2", - "babel-polyfill": "^6.23.0", - "babel-preset-flow": "^6.23.0", - "es6-error": "^4.0.2", - "file-type": "^5.2.0", - "instapromise": "^2.0.7", - "lodash": "^4.17.4", - "probe-image-size": "^3.1.0", - "read-chunk": "^2.0.0" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", - "dev": true - } - } - }, - "@expo/spawn-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.3.0.tgz", - "integrity": "sha1-Abik9ruhC3kmY/knLfZsfpAWba0=", - "dev": true, - "requires": { - "cross-spawn": "^5.1.0" - } - }, "@expo/vector-icons": { - "version": "6.3.1", - "resolved": "http://registry.npmjs.org/@expo/vector-icons/-/vector-icons-6.3.1.tgz", - "integrity": "sha512-ai3Ub/r8oCduIBa/rX1tVba3WlazIar8faVz6hrpbe6rX67LS32C+HmrFKJ1VxUeMDyoNOUXzrk9hge5jD/HYg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-8.0.0.tgz", + "integrity": "sha512-DyVGGguxCsT0aMQrWAbS40AmlK648TehEEFkcibLwYjle7kUNh7clgQwRnCxnmjHn8VltbXpNrJNor9BVIHMLQ==", "requires": { "lodash": "^4.17.4", - "react-native-vector-icons": "4.5.0" + "react-native-vector-icons": "6.0.0" } }, "@expo/websql": { @@ -931,44 +896,43 @@ } } }, - "@segment/loosely-validate-event": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-1.1.2.tgz", - "integrity": "sha1-13hAmZ4/fkPnSzsNQzkcFSb3k7g=", - "dev": true, - "requires": { - "component-type": "^1.2.1", - "join-component": "^1.1.0" - } + "@types/fbemitter": { + "version": "2.0.32", + "resolved": "http://registry.npmjs.org/@types/fbemitter/-/fbemitter-2.0.32.tgz", + "integrity": "sha1-jtIE2g9U6cjq7DGx7skeJRMtCCw=" }, - "@types/events": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", - "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==", - "dev": true + "@types/invariant": { + "version": "2.2.29", + "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.29.tgz", + "integrity": "sha512-lRVw09gOvgviOfeUrKc/pmTiRZ7g7oDOU6OAutyuSHpm1/o2RaBQvRhgK8QEdu+FFuw/wnWb29A/iuxv9i8OpQ==" }, - "@types/glob": { - "version": "5.0.35", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.35.tgz", - "integrity": "sha512-wc+VveszMLyMWFvXLkloixT4n0harUIVZjnpzztaZ0nKLuul7Z32iMt2fUFGAaZ4y1XWjFRMtCI5ewvyh4aIeg==", - "dev": true, + "@types/lodash": { + "version": "4.14.119", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.119.tgz", + "integrity": "sha512-Z3TNyBL8Vd/M9D9Ms2S3LmFq2sSMzahodD6rCS9V2N44HUMINb75jNkSuwAx7eo2ufqTdfOdtGQpNbieUjPQmw==" + }, + "@types/lodash.zipobject": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/lodash.zipobject/-/lodash.zipobject-4.1.4.tgz", + "integrity": "sha512-6SMFP7bzhLj29vFnlD55r/i7oZFIcttxyWIIIqNp6ZGUJu6PUD0XyAJzEvRLOHQyHd1eteLxU2PDYDZKgjlRGA==", "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" + "@types/lodash": "*" } }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true + "@types/qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-mNhVdZHdtKHMMxbqzNK3RzkBcN1cux3AvuCYGTvjEIQT2uheH3eCAyYsbMbh2Bq8nXkeOWs1kyDiF7geWRFQ4Q==" }, - "@types/node": { - "version": "10.5.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.7.tgz", - "integrity": "sha512-VkKcfuitP+Nc/TaTFH0B8qNmn+6NbI6crLkQonbedViVz7O2w8QV/GERPlkJ4bg42VGHiEWa31CoTOPs1q6z1w==", - "dev": true + "@types/uuid-js": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@types/uuid-js/-/uuid-js-0.7.1.tgz", + "integrity": "sha512-bEvifL8co2yO6js7Zv7uMBRrr7SeTS5IPVmFnEJZ8vycXczlu3omOlmkQynBMsno8rOtLuagrj7oAWtXTDCU1Q==" + }, + "@types/websql": { + "version": "0.0.27", + "resolved": "http://registry.npmjs.org/@types/websql/-/websql-0.0.27.tgz", + "integrity": "sha1-Yhpman8CAY58u0q6uVaiVzbCfXE=" }, "abab": { "version": "2.0.0", @@ -991,84 +955,45 @@ } }, "acorn": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", - "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", "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.0.0" - } - }, - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "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.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", + "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "acorn": "^6.0.1", + "acorn-walk": "^6.0.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.5" - } + "acorn": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz", + "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==", + "dev": true } } }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "acorn-walk": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", + "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==", "dev": true }, - "analytics-node": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/analytics-node/-/analytics-node-2.4.1.tgz", - "integrity": "sha1-H5bI64h7bEdpEESsf8mhIx+wIPc=", + "ajv": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", + "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", "dev": true, "requires": { - "@segment/loosely-validate-event": "^1.1.2", - "clone": "^2.1.1", - "commander": "^2.9.0", - "crypto-token": "^1.0.1", - "debug": "^2.6.2", - "lodash": "^4.17.4", - "remove-trailing-slash": "^0.1.0", - "superagent": "^3.5.0", - "superagent-retry": "^0.6.0" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, "ansi": { @@ -1078,7 +1003,7 @@ }, "ansi-colors": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "requires": { "ansi-wrap": "^0.1.0" @@ -1094,7 +1019,7 @@ }, "ansi-escapes": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" }, "ansi-gray": { @@ -1131,12 +1056,6 @@ "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", - "dev": true - }, "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", @@ -1416,19 +1335,14 @@ } }, "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "^2.0.0" + "default-require-extensions": "^1.0.0" } }, - "arch": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", - "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==" - }, "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", @@ -1442,7 +1356,6 @@ "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.2" } @@ -1473,7 +1386,7 @@ }, "array-equal": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, @@ -1482,12 +1395,6 @@ "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, "array-includes": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", @@ -1513,21 +1420,6 @@ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=" }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, "array-unique": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", @@ -1569,24 +1461,12 @@ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, - "ast-types": { - "version": "0.11.5", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.5.tgz", - "integrity": "sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw==", - "dev": true - }, "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": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true - }, "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", @@ -1595,8 +1475,7 @@ "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==", - "dev": true + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" }, "asynckit": { "version": "0.4.0", @@ -1609,34 +1488,6 @@ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=" }, - "auth0": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/auth0/-/auth0-2.9.1.tgz", - "integrity": "sha1-heCIA18pkl7QhtqU2BEoimX1g1w=", - "dev": true, - "requires": { - "bluebird": "^2.10.2", - "lru-memoizer": "^1.11.1", - "object.assign": "^4.0.4", - "request": "^2.83.0", - "rest-facade": "^1.10.0", - "retry": "^0.10.1" - } - }, - "auth0-js": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/auth0-js/-/auth0-js-9.3.3.tgz", - "integrity": "sha1-xFc//vuhAhcZgtSiBE6t5zuqG40=", - "dev": true, - "requires": { - "base64-js": "^1.2.0", - "idtoken-verifier": "^1.1.2", - "qs": "^6.4.0", - "superagent": "^3.8.2", - "url-join": "^1.1.0", - "winchan": "^0.2.0" - } - }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -1649,16 +1500,6 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, - "axios": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.16.2.tgz", - "integrity": "sha1-uk+S8XFn37q0CYN4VFS5rBScPG0=", - "dev": true, - "requires": { - "follow-redirects": "^1.2.3", - "is-buffer": "^1.1.5" - } - }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -1681,7 +1522,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { "ansi-styles": "^2.2.1", @@ -1698,7 +1539,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -1735,13 +1576,6 @@ "private": "^0.1.8", "slash": "^1.0.0", "source-map": "^0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } } }, "babel-generator": { @@ -1759,23 +1593,13 @@ "trim-right": "^1.0.1" }, "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "jsesc": { + "version": "1.3.0", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" } } }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.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", @@ -1808,16 +1632,6 @@ "lodash": "^4.17.4" } }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, "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", @@ -1857,28 +1671,6 @@ "babel-types": "^6.24.1" } }, - "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.4" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "requires": { - "babel-helper-function-name": "^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-replace-supers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", @@ -1902,13 +1694,13 @@ } }, "babel-jest": { - "version": "22.4.4", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-22.4.4.tgz", - "integrity": "sha512-A9NB6/lZhYyypR9ATryOSDcqBaqNdzq4U+CN+/wcMsLcmKkPxQEoTKLajGfd3IkxNyVBT8NewUK2nWyGbSzHEQ==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.6.0.tgz", + "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", "dev": true, "requires": { - "babel-plugin-istanbul": "^4.1.5", - "babel-preset-jest": "^22.4.4" + "babel-plugin-istanbul": "^4.1.6", + "babel-preset-jest": "^23.2.0" } }, "babel-messages": { @@ -1936,17 +1728,9 @@ "dotenv": "^2.0.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.22.0" - } - }, "babel-plugin-istanbul": { "version": "4.1.6", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", + "resolved": "http://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": { @@ -1957,25 +1741,27 @@ } }, "babel-plugin-jest-hoist": { - "version": "22.4.4", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz", - "integrity": "sha512-DUvGfYaAIlkdnygVIEl0O4Av69NtuQWcrjMOv6DODPuhuGLDnbsARz3AwiiI/EkIMMlxQDUcrZ9yoyJvTNjcVQ==", + "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-module-resolver": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-2.7.1.tgz", - "integrity": "sha1-GL48Qt31n3pFbJ4FEs2ROU9uS+E=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.1.1.tgz", + "integrity": "sha512-1Q77Al4ydp6nYApJ7sQ2fmgz30WuQgJZegIYuyOdbdpxenB/bSezQ3hDPsumIXGlUS4vUIv+EwFjzzXZNWtARw==", "requires": { - "find-babel-config": "^1.0.1", - "glob": "^7.1.1", - "resolve": "^1.2.0" + "find-babel-config": "^1.1.0", + "glob": "^7.1.2", + "pkg-up": "^2.0.0", + "reselect": "^3.0.1", + "resolve": "^1.4.0" }, "dependencies": { "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1987,44 +1773,11 @@ } } }, - "babel-plugin-react-transform": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-react-transform/-/babel-plugin-react-transform-3.0.0.tgz", - "integrity": "sha512-4vJGddwPiHAOgshzZdGwYy4zRjjIr5SMY7gkOaCyIASjgpcsyLTlZNuB5rHOFoaTvGlhfo8/g4pobXPyHqm/3w==", - "requires": { - "lodash": "^4.6.1" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" - }, "babel-plugin-syntax-class-properties": { "version": "6.13.0", "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" }, - "babel-plugin-syntax-decorators": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", - "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=" - }, - "babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" - }, - "babel-plugin-syntax-export-extensions": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", - "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=" - }, "babel-plugin-syntax-flow": { "version": "6.18.0", "resolved": "http://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", @@ -2037,7 +1790,7 @@ }, "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", + "resolved": "http://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": { @@ -2045,16 +1798,6 @@ "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-async-to-generator": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz", - "integrity": "sha1-Gew2yxSGtZ+fRorfpCzhOQjKKZk=", - "requires": { - "babel-helper-remap-async-to-generator": "^6.16.0", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.0.0" - } - }, "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", @@ -2066,16 +1809,6 @@ "babel-template": "^6.24.1" } }, - "babel-plugin-transform-decorators-legacy": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.5.tgz", - "integrity": "sha512-jYHwjzRXRelYQ1uGm353zNzf3QmtdCfvJbuYTZ4gKveK7M9H1fs3a5AKdY1JUDl0z97E30ukORW1dzhWvsabtA==", - "requires": { - "babel-plugin-syntax-decorators": "^6.1.18", - "babel-runtime": "^6.2.0", - "babel-template": "^6.3.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", @@ -2213,16 +1946,6 @@ "babel-runtime": "^6.22.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.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, "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", @@ -2231,16 +1954,6 @@ "babel-runtime": "^6.22.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.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.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", @@ -2257,25 +1970,6 @@ "babel-runtime": "^6.22.0" } }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-export-extensions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", - "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", - "requires": { - "babel-plugin-syntax-export-extensions": "^6.8.0", - "babel-runtime": "^6.22.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", @@ -2285,14 +1979,6 @@ "babel-runtime": "^6.22.0" } }, - "babel-plugin-transform-object-assign": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-assign/-/babel-plugin-transform-object-assign-6.22.0.tgz", - "integrity": "sha1-+Z0vZvGgsNSY40bFNZaEdAyqILo=", - "requires": { - "babel-runtime": "^6.22.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", @@ -2320,23 +2006,6 @@ "babel-runtime": "^6.22.0" } }, - "babel-plugin-transform-react-jsx-source": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", - "requires": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "requires": { - "regenerator-transform": "^0.10.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", @@ -2346,57 +2015,20 @@ "babel-types": "^6.24.1" } }, - "babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", - "dev": true - } - } - }, - "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.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-expo": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-4.0.0.tgz", - "integrity": "sha512-EWFC6WJzZX5t2zZfLNdJXUkNMusUkxP5V+GrXaSk8pKbWGjE3TD2i33ncpF/4aQM9QGDm+SH6pImZJOqIDlRUw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-5.0.0.tgz", + "integrity": "sha512-pDtkAIafvQLAZ5dQ/6I9okkiZLw9IBR8ItRzAyUO4j2rUMB9ey6yZTTE77AKWq5HhxhY53Hic8Zl0vSDMTXI0A==", "requires": { - "babel-plugin-module-resolver": "^2.7.1", - "babel-plugin-transform-decorators-legacy": "^1.3.4", - "babel-plugin-transform-exponentiation-operator": "^6.24.1", - "babel-plugin-transform-export-extensions": "^6.22.0", - "babel-preset-react-native": "^4.0.0" + "@babel/plugin-proposal-decorators": "^7.1.0", + "babel-plugin-module-resolver": "^3.1.1", + "metro-react-native-babel-preset": "^0.49.0" } }, "babel-preset-fbjs": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-2.2.0.tgz", - "integrity": "sha512-jj0KFJDioYZMtPtZf77dQuU+Ad/1BtN0UnAYlHDa8J8f4tGXr3YrPoJImD5MdueaOPeN/jUdrCgu330EfXr0XQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-2.3.0.tgz", + "integrity": "sha512-ZOpAI1/bN0Y3J1ZAK9gRsFkHy9gGgJoDRUjtUCla/129LC7uViq9nIK22YdHfey8szohYoZY3f9L2lGOv0Edqw==", "requires": { "babel-plugin-check-es2015-constants": "^6.8.0", "babel-plugin-syntax-class-properties": "^6.8.0", @@ -2428,63 +2060,16 @@ "babel-plugin-transform-react-jsx": "^6.8.0" } }, - "babel-preset-flow": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", - "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", - "dev": true, - "requires": { - "babel-plugin-transform-flow-strip-types": "^6.22.0" - } - }, "babel-preset-jest": { - "version": "22.4.4", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-22.4.4.tgz", - "integrity": "sha512-+dxMtOFwnSYWfum0NaEc0O03oSdwBsjx4tMSChRDPGwu/4wSY6Q6ANW3wkjKpJzzguaovRs/DODcT4hbSN8yiA==", + "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": "^22.4.4", + "babel-plugin-jest-hoist": "^23.2.0", "babel-plugin-syntax-object-rest-spread": "^6.13.0" } }, - "babel-preset-react-native": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-4.0.0.tgz", - "integrity": "sha512-Wfbo6x244nUbBxjr7hQaNFdjj7FDYU+TVT7cFVPEdVPI68vhN52iLvamm+ErhNdHq6M4j1cMT6AJBYx7Wzdr0g==", - "requires": { - "babel-plugin-check-es2015-constants": "^6.5.0", - "babel-plugin-react-transform": "^3.0.0", - "babel-plugin-syntax-async-functions": "^6.5.0", - "babel-plugin-syntax-class-properties": "^6.5.0", - "babel-plugin-syntax-dynamic-import": "^6.18.0", - "babel-plugin-syntax-flow": "^6.5.0", - "babel-plugin-syntax-jsx": "^6.5.0", - "babel-plugin-syntax-trailing-function-commas": "^6.5.0", - "babel-plugin-transform-class-properties": "^6.5.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.5.0", - "babel-plugin-transform-es2015-block-scoping": "^6.5.0", - "babel-plugin-transform-es2015-classes": "^6.5.0", - "babel-plugin-transform-es2015-computed-properties": "^6.5.0", - "babel-plugin-transform-es2015-destructuring": "^6.5.0", - "babel-plugin-transform-es2015-for-of": "^6.5.0", - "babel-plugin-transform-es2015-function-name": "^6.5.0", - "babel-plugin-transform-es2015-literals": "^6.5.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.5.0", - "babel-plugin-transform-es2015-parameters": "^6.5.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.5.0", - "babel-plugin-transform-es2015-spread": "^6.5.0", - "babel-plugin-transform-es2015-template-literals": "^6.5.0", - "babel-plugin-transform-flow-strip-types": "^6.5.0", - "babel-plugin-transform-object-assign": "^6.5.0", - "babel-plugin-transform-object-rest-spread": "^6.5.0", - "babel-plugin-transform-react-display-name": "^6.5.0", - "babel-plugin-transform-react-jsx": "^6.5.0", - "babel-plugin-transform-react-jsx-source": "^6.5.0", - "babel-plugin-transform-regenerator": "^6.5.0", - "babel-template": "^6.24.1", - "react-transform-hmr": "^1.0.4" - } - }, "babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", @@ -2534,6 +2119,13 @@ "globals": "^9.18.0", "invariant": "^2.2.2", "lodash": "^4.17.4" + }, + "dependencies": { + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + } } }, "babel-types": { @@ -2545,6 +2137,13 @@ "esutils": "^2.0.2", "lodash": "^4.17.4", "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "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=" + } } }, "babylon": { @@ -2623,18 +2222,11 @@ "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=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", "requires": { - "safe-buffer": "5.1.1" - }, - "dependencies": { - "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-buffer": "5.1.2" } }, "bcrypt-pbkdf": { @@ -2642,45 +2234,20 @@ "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.3" } }, "big-integer": { - "version": "1.6.34", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.34.tgz", - "integrity": "sha512-+w6B0Uo0ZvTSzDkXjoBCTNK0oe+aVL+yPi7kwGZm8hd8+Nj1AFPoxoq1Bl/mEu/G/ivOkUc1LRqVR0XeWFUzuA==" + "version": "1.6.40", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.40.tgz", + "integrity": "sha512-CjhtJp0BViLzP1ZkEnoywjgtFQXS2pomKjAJtIISTCnuHILkLcAXLdFLG/nxsHc4s9kJfc+82Xpg8WNyhfACzQ==" }, "binary-extensions": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==" }, - "bluebird": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", - "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", - "dev": true - }, - "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", - "dev": true, - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - } - }, "bplist-creator": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", @@ -2717,9 +2284,9 @@ } }, "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=", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", "dev": true }, "browser-resolve": { @@ -2733,7 +2300,7 @@ "dependencies": { "resolve": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "resolved": "http://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true } @@ -2761,12 +2328,6 @@ "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" }, - "buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", - "dev": true - }, "buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", @@ -2810,38 +2371,32 @@ } } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "callsites": { + "caller-callsite": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "requires": { + "callsites": "^2.0.0" + } }, - "camel-case": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-1.2.2.tgz", - "integrity": "sha1-Gsp8TRlTWaLOmVV5NDPG5VQlEfI=", - "dev": true, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "requires": { - "sentence-case": "^1.1.1", - "upper-case": "^1.1.1" + "caller-callsite": "^2.0.0" } }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, - "can-use-dom": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz", - "integrity": "sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo=" - }, "capture-exit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", @@ -2850,29 +2405,12 @@ "rsvp": "^3.3.3" } }, - "capture-stack-trace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", - "dev": true - }, "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.3", - "lazy-cache": "^1.0.3" - } - }, "chalk": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", @@ -2883,41 +2421,11 @@ "supports-color": "^5.3.0" } }, - "change-case": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-2.3.1.tgz", - "integrity": "sha1-LE/ePwY7tB0AzWjg1aCdthy+iU8=", - "dev": true, - "requires": { - "camel-case": "^1.1.1", - "constant-case": "^1.1.0", - "dot-case": "^1.1.0", - "is-lower-case": "^1.1.0", - "is-upper-case": "^1.1.0", - "lower-case": "^1.1.1", - "lower-case-first": "^1.0.0", - "param-case": "^1.1.0", - "pascal-case": "^1.1.0", - "path-case": "^1.1.0", - "sentence-case": "^1.1.1", - "snake-case": "^1.1.0", - "swap-case": "^1.1.0", - "title-case": "^1.1.0", - "upper-case": "^1.1.1", - "upper-case-first": "^1.1.0" - } - }, "chardet": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", - "dev": true - }, "chokidar": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", @@ -3034,16 +2542,10 @@ } } }, - "chownr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", - "dev": true - }, "ci-info": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", - "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", "dev": true }, "class-utils": { @@ -3090,31 +2592,6 @@ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" }, - "clipboardy": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", - "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", - "requires": { - "arch": "^2.1.0", - "execa": "^0.8.0" - }, - "dependencies": { - "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", - "requires": { - "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" - } - } - } - }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", @@ -3140,7 +2617,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", @@ -3150,7 +2627,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -3158,12 +2635,6 @@ } } }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -3221,47 +2692,35 @@ "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=", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, "requires": { "delayed-stream": "~1.0.0" } }, "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" }, "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=" }, - "component-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.1.tgz", - "integrity": "sha1-ikeQFwAjjk/DIml3EjAibyS0Fak=", - "dev": true - }, "compressible": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", - "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz", + "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": ">= 1.36.0 < 2" } }, "compression": { @@ -3318,59 +2777,17 @@ "statuses": "~1.3.1", "unpipe": "~1.0.0" } - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" } } }, - "constant-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-1.1.2.tgz", - "integrity": "sha1-jsLKW6ND4Aqjjb9OIA/VrJB+/WM=", - "dev": true, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", "requires": { - "snake-case": "^1.1.0", - "upper-case": "^1.1.1" + "safe-buffer": "~5.1.1" } }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "dev": true - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "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=" - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", - "dev": true - }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -3386,19 +2803,32 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "dev": true, + "cosmiconfig": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", + "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", "requires": { - "capture-stack-trace": "^1.0.0" + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.9.0", + "parse-json": "^4.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } } }, "create-react-class": { - "version": "15.5.3", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.5.3.tgz", - "integrity": "sha1-+w98rnkznpoXnhlO9Gbvo5I4IP4=", + "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.9", "loose-envify": "^1.3.1", @@ -3424,24 +2854,6 @@ "which": "^1.2.9" } }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", - "dev": true - }, - "crypto-js": { - "version": "3.1.9-1", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.9-1.tgz", - "integrity": "sha1-/aGedh/Ad+Af+/3G6f38WeiAbNg=", - "dev": true - }, - "crypto-token": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/crypto-token/-/crypto-token-1.0.1.tgz", - "integrity": "sha1-J8ZIL687Y8L12hFXf4MENG/nl6U=", - "dev": true - }, "cssom": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", @@ -3449,9 +2861,9 @@ "dev": true }, "cssstyle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.0.0.tgz", - "integrity": "sha512-Bpuh47j2mRMY60X90mXaJAEtJwxvA2roZzbgwAXYhMbmwmakdRr4Cq9L5SkleKJNLOKqHIa2YWyOXDX3VgggSQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.1.1.tgz", + "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", "dev": true, "requires": { "cssom": "0.3.x" @@ -3466,28 +2878,27 @@ "assert-plus": "^1.0.0" } }, - "data-uri-to-buffer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", - "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==", - "dev": true - }, "data-urls": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.0.0.tgz", - "integrity": "sha512-ai40PPQR0Fn1lD2PPie79CibnlMN2AYiDhwFX/rZHVsxbs5kNJSjegqXIprhouGXlRdEnfybva7kqRGnB6mypA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "requires": { - "abab": "^1.0.4", - "whatwg-mimetype": "^2.0.0", - "whatwg-url": "^6.4.0" + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" }, "dependencies": { - "abab": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", - "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", - "dev": true + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } } } }, @@ -3499,15 +2910,6 @@ "ms": "2.0.0" } }, - "decache": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/decache/-/decache-4.4.0.tgz", - "integrity": "sha1-b232uF1+fEQQqTL/wmSJt46azRM=", - "dev": true, - "requires": { - "callsite": "^1.0.0" - } - }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -3523,31 +2925,30 @@ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.6.0.tgz", "integrity": "sha1-Dm2o8M5Sg471zsXI+TlrDBtko8s=" }, - "deep-diff": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.4.tgz", - "integrity": "sha1-qsXDmVIjar5fA3ojSQYLoBsArkg=", - "dev": true - }, "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 }, - "deepmerge": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", - "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=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "^3.0.0" + "strip-bom": "^2.0.0" + }, + "dependencies": { + "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.0" + } + } } }, "define-properties": { @@ -3607,23 +3008,6 @@ } } }, - "degenerator": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", - "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", - "dev": true, - "requires": { - "ast-types": "0.x.x", - "escodegen": "1.x.x", - "esprima": "3.x.x" - } - }, - "delay-async": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/delay-async/-/delay-async-1.1.0.tgz", - "integrity": "sha1-uPqP7LiGITUHBShcjzzxd9/eZm0=", - "dev": true - }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -3692,47 +3076,22 @@ "webidl-conversions": "^4.0.2" } }, - "dot-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-1.1.2.tgz", - "integrity": "sha1-HnOCaQDeKNbeVIC8HeMdCEKwa+w=", - "dev": true, - "requires": { - "sentence-case": "^1.1.2" - } - }, "dotenv": { "version": "2.0.0", "resolved": "http://registry.npmjs.org/dotenv/-/dotenv-2.0.0.tgz", "integrity": "sha1-vXWcNXqqcDZeAclrewvsCKbg2Uk=", "dev": true }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, - "optional": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, - "ecdsa-sig-formatter": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", - "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -3752,31 +3111,9 @@ } }, "envinfo": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-3.11.1.tgz", - "integrity": "sha512-hKkh7aKtont6Zuv4RmE4VkOc96TkBj9NXj7Ghsd/qCA9LuJI0Dh+ImwA1N5iORB9Vg+sz5bq9CHJzs51BILNCQ==", - "requires": { - "clipboardy": "^1.2.2", - "glob": "^7.1.2", - "minimist": "^1.2.0", - "os-name": "^2.0.1", - "which": "^1.2.14" - }, - "dependencies": { - "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.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-5.12.1.tgz", + "integrity": "sha512-pwdo0/G3CIkQ0y6PCXq4RdkvId2elvtPCJMG0konqlrfkWQbf1DWeH9K2b/cvu2YgGvPPTOnonZxXM1gikFu1w==" }, "error-ex": { "version": "1.3.2", @@ -3819,27 +3156,6 @@ "is-symbol": "^1.0.1" } }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "es6-promise": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", - "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -3861,6 +3177,15 @@ "esutils": "^2.0.2", "optionator": "^0.8.1", "source-map": "~0.6.1" + }, + "dependencies": { + "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 + } } }, "eslint-plugin-react": { @@ -3876,19 +3201,6 @@ "prop-types": "^15.6.2" } }, - "eslint-plugin-react-native": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-3.2.1.tgz", - "integrity": "sha512-1AnJO3JUCAoLpyOEsWCwN9hPJ0aQ72OT+JvLMuHjEWYb6QWxiNOszp24CEwegMzbREtJKI9OoRqYYDYxMxmjgQ==", - "requires": { - "eslint-plugin-react-native-globals": "^0.1.1" - } - }, - "eslint-plugin-react-native-globals": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz", - "integrity": "sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==" - }, "esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", @@ -3913,7 +3225,7 @@ }, "event-target-shim": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/event-target-shim/-/event-target-shim-1.1.1.tgz", "integrity": "sha1-qG5e5r2qFgVEddp5fM3fDFVphJE=" }, "eventemitter3": { @@ -3921,12 +3233,6 @@ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==" }, - "exec-async": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/exec-async/-/exec-async-2.2.0.tgz", - "integrity": "sha1-x8WtLu80eNODkMbdOs/orw78gwE=", - "dev": true - }, "exec-sh": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", @@ -3949,12 +3255,6 @@ "strip-eof": "^1.0.0" } }, - "exists-async": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/exists-async/-/exists-async-2.0.0.tgz", - "integrity": "sha1-fgsWUrNLD+GLn5ZAmHvVbVnlHl4=", - "dev": true - }, "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -3971,237 +3271,459 @@ }, "expand-range": { "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "resolved": "http://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { "fill-range": "^2.1.0" } }, "expect": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-22.4.3.tgz", - "integrity": "sha512-XcNXEPehqn8b/jm8FYotdX0YrXn36qp4HWlrVT4ktwQas1l1LPxiVWncYnnL2eyMtKAmVIaG0XAp0QlrqJaxaA==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-23.6.0.tgz", + "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", "dev": true, "requires": { "ansi-styles": "^3.2.0", - "jest-diff": "^22.4.3", - "jest-get-type": "^22.4.3", - "jest-matcher-utils": "^22.4.3", - "jest-message-util": "^22.4.3", - "jest-regex-util": "^22.4.3" + "jest-diff": "^23.6.0", + "jest-get-type": "^22.1.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0" } }, "expo": { - "version": "27.1.1", - "resolved": "https://registry.npmjs.org/expo/-/expo-27.1.1.tgz", - "integrity": "sha512-JJmIIbRcHXLzlRVB5ZaN7Lj6JOiveZ11GvVAhZ8ERYZkBArT7wlzIOvCmqUAJ59SEyI9WpA/EK08SavEx+1DYw==", + "version": "31.0.6", + "resolved": "https://registry.npmjs.org/expo/-/expo-31.0.6.tgz", + "integrity": "sha512-MFMzLusP+CL3Y7agTmryk7mRwZBjze7Ahf+6qgLkPPhajqGA4kekp8vgAT5t9g76Gl7ZVkvWZGXKHwux4sBT2w==", "requires": { - "@expo/vector-icons": "^6.3.1", + "@babel/runtime": "^7.1.2", + "@expo/vector-icons": "^8.0.0", "@expo/websql": "^1.0.1", - "babel-preset-expo": "^4.0.0", + "@types/fbemitter": "^2.0.32", + "@types/invariant": "^2.2.29", + "@types/lodash.zipobject": "^4.1.4", + "@types/qs": "^6.5.1", + "@types/uuid-js": "^0.7.1", + "@types/websql": "^0.0.27", + "babel-preset-expo": "^5.0.0", + "cross-spawn": "^6.0.5", + "expo-ads-admob": "~1.1.0", + "expo-analytics-segment": "~1.1.0", + "expo-asset": "~1.1.1", + "expo-barcode-scanner": "~1.1.0", + "expo-barcode-scanner-interface": "~1.1.0", + "expo-camera": "~1.2.0", + "expo-camera-interface": "~1.1.0", + "expo-constants": "~1.1.0", + "expo-constants-interface": "~1.1.0", + "expo-contacts": "~1.1.0", + "expo-core": "~1.2.0", + "expo-face-detector": "~1.1.0", + "expo-face-detector-interface": "~1.1.0", + "expo-file-system": "~1.1.0", + "expo-file-system-interface": "~1.1.0", + "expo-font": "~1.1.0", + "expo-font-interface": "~1.1.0", + "expo-gl": "~1.1.0", + "expo-image-loader-interface": "~1.1.0", + "expo-local-authentication": "~1.1.0", + "expo-localization": "~1.0.0", + "expo-location": "~1.1.0", + "expo-media-library": "~1.1.0", + "expo-payments-stripe": "~1.1.0", + "expo-permissions": "~1.2.0", + "expo-permissions-interface": "~1.2.0", + "expo-print": "~1.1.0", + "expo-react-native-adapter": "~1.2.0", + "expo-sensors": "~1.1.0", + "expo-sensors-interface": "~1.1.0", + "expo-sms": "~1.1.0", "fbemitter": "^2.1.1", "invariant": "^2.2.2", "lodash.map": "^4.6.0", "lodash.omit": "^4.5.0", "lodash.zipobject": "^4.1.3", - "lottie-react-native": "2.3.2", + "lottie-react-native": "2.5.0", "md5-file": "^3.2.3", + "nullthrows": "^1.1.0", "pretty-format": "^21.2.1", "prop-types": "^15.6.0", "qs": "^6.5.0", - "react-native-branch": "2.0.0-beta.3", - "react-native-gesture-handler": "1.0.0-alpha.41", - "react-native-maps": "0.21.0", - "react-native-svg": "6.2.2", - "react-native-svg-web": "^1.0.1", - "react-native-web-maps": "^0.1.0", - "uuid-js": "^0.7.5" + "react-native-branch": "2.2.5", + "react-native-gesture-handler": "1.0.9", + "react-native-maps": "github:expo/react-native-maps#e6f98ff7272e5d0a7fe974a41f28593af2d77bb2", + "react-native-reanimated": "1.0.0-alpha.10", + "react-native-screens": "1.0.0-alpha.15", + "react-native-svg": "8.0.8", + "react-native-view-shot": "2.5.0", + "serialize-error": "^2.1.0", + "uuid-js": "^0.7.5", + "whatwg-fetch": "^2.0.4" }, "dependencies": { - "react-native-svg": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-6.2.2.tgz", - "integrity": "sha512-t6wKX6HejI77K7MCMIvtmcX6vAv93WIcg8ff6kPr4HRpqgzgtuCVatkueplG2lLb1+YVhzAdhPTrpXAphIG/EA==", + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "requires": { - "color": "^2.0.1", - "lodash": "^4.16.6", - "pegjs": "^0.10.0" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } + }, + "react-native-screens": { + "version": "1.0.0-alpha.15", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-1.0.0-alpha.15.tgz", + "integrity": "sha512-S2OM/ieD+Krk+0/Z2Vz2rTUWYud5hJgCRZqXRtqEfMgEcGI4FBopXp7mwXCGbA2PFLjZwZSwLlsZ6RX30WnjRw==" } } }, - "express": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", - "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", - "dev": true, + "expo-ads-admob": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-ads-admob/-/expo-ads-admob-1.1.0.tgz", + "integrity": "sha512-12yb1sl+WwMp9r5lUW3224vZnHTXVS72D1vJekxDdIqvlF78p67Y4ogrEtvSQ+RFUaZZw9z9owZCI0x10irrbw==", "requires": { - "accepts": "~1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.2", - "content-disposition": "0.5.2", - "content-type": "~1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.1.1", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.3", - "qs": "6.5.1", - "range-parser": "~1.2.0", - "safe-buffer": "5.1.1", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "prop-types": "^15.6.2" + } + }, + "expo-analytics-segment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-analytics-segment/-/expo-analytics-segment-1.1.0.tgz", + "integrity": "sha512-mzWqVvOTfB9MB7JptWBBHO5Wh8tH1BaCe+IsTXONoULpxHv0kxgzpjxm7biBt8Hbue4g8BogypnW7YlWkg8ZAw==", + "requires": { + "expo-core": "~1.2.0" + } + }, + "expo-asset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-1.1.1.tgz", + "integrity": "sha512-Kk/Hjxj4/23k9GP5PonK7Ot6qAFzitKc9oEN/bOZubk4jMMzyzlealjSq2KiMbKVjcT1xMWTJd1df9HViuiZ9w==", + "requires": { + "expo-core": "~1.2.0", + "uri-parser": "^1.0.1", + "url-join": "^4.0.0" }, "dependencies": { - "body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", - "dev": true, - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", - "iconv-lite": "0.4.19", - "on-finished": "~2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "~1.6.15" - } - }, - "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 - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", - "dev": true - }, - "raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", - "dev": true, - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "unpipe": "1.0.0" - }, - "dependencies": { - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "dev": true - }, - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "dev": true, - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" - } - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - } - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "dev": true + "url-join": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", + "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=" } } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "expo-barcode-scanner": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-barcode-scanner/-/expo-barcode-scanner-1.1.0.tgz", + "integrity": "sha512-ndLfjjOG0NTf5sePIlfxhtK7G+ZoAe1/PK76ELqh/Nd0vK6xBpweVCZdeTv7bI54o+F7bp0CJf3TPM5RamSPLA==", + "requires": { + "expo-barcode-scanner-interface": "~1.1.0", + "lodash.mapvalues": "^4.6.0", + "prop-types": "^15.6.0" + } }, - "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=", + "expo-barcode-scanner-interface": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-barcode-scanner-interface/-/expo-barcode-scanner-interface-1.1.0.tgz", + "integrity": "sha512-tG+A1ZCOHyjV2QpxL0f444ye1BIwwjKT2koD+V/uf+HfWZKOJkTqcrHqGoRj7nWJArSY60zKX5hny7ZcN5IUGQ==" + }, + "expo-camera": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/expo-camera/-/expo-camera-1.2.0.tgz", + "integrity": "sha512-XFzTqLdke+Zg0CiwVeTZSjo2JOO59peXh7hFsxUW1YZEWzuWMSycpvEf8xPosAF4ZTit5EjVeSbwNGVts2G5sQ==", + "requires": { + "expo-barcode-scanner-interface": "~1.1.0", + "expo-camera-interface": "~1.1.0", + "expo-core": "~1.2.0", + "expo-face-detector-interface": "~1.1.0", + "expo-file-system-interface": "~1.1.0", + "expo-permissions-interface": "~1.2.0", + "lodash.mapvalues": "^4.6.0", + "prop-types": "^15.6.0" + } + }, + "expo-camera-interface": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-camera-interface/-/expo-camera-interface-1.1.0.tgz", + "integrity": "sha512-qHgGc/JVfFsSFFIsdbnTo6o6kV0sYQ3TuNxLXoWRUGq8/h2U8R4dExPlugSw698Wg9MUtG0mpez1ZcjwWkO/Sg==", "requires": { - "kind-of": "^1.1.0" + "expo-core": "~1.2.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==", + "expo-constants": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-1.1.0.tgz", + "integrity": "sha512-cwmmj+rrUtkrMG+RcC85VghauImzZkfaQ6XpxKuqtNPOnICnQaZIOG3+ksAMJeunMa/1xjjc0+g7wVbvnhOJPA==", "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "expo-constants-interface": "~1.1.0", + "expo-core": "~1.2.0" } }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "expo-constants-interface": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-constants-interface/-/expo-constants-interface-1.1.0.tgz", + "integrity": "sha512-UprnwvpvWSqBeKuWpmu5pUpDBTE2i6If8QvVky2NyqEs0/JJoMnQ/DbOQHURUmHey8fcA3Qw/uby4hDOXLAAUA==", "requires": { - "is-extglob": "^1.0.0" + "expo-core": "~1.2.0" } }, - "extsprintf": { + "expo-contacts": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-contacts/-/expo-contacts-1.1.0.tgz", + "integrity": "sha512-Tot7nGxXGCSfTpoUbzrzzMTDpHnxQxkkgjJ0xnPGQD7I/NjjG+2DmfWeyeAQNNYqyNSp7Z3B3SXcoOetaT8QNg==", + "requires": { + "expo-core": "~1.2.0", + "uuid-js": "^0.7.5" + } + }, + "expo-core": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/expo-core/-/expo-core-1.2.0.tgz", + "integrity": "sha512-EbfgL/NPIROzY+Vvmuo2teUqSo8FEdFSZm3dyUcCTEV8jXioTCyJNpsH3G3cTI2U7nxn84SxoB6BvEzWdQyu4Q==" + }, + "expo-face-detector": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-face-detector/-/expo-face-detector-1.1.0.tgz", + "integrity": "sha512-JLnItRBMJapGBh1MOabpud/mOVGqQBwHx2bQOR+MuRPhC/QTHNyrrcMx0JL4jHz9AvPJWTFWEIuBokBXyJubCA==", + "requires": { + "expo-core": "~1.2.0", + "expo-face-detector-interface": "~1.1.0", + "expo-permissions-interface": "~1.2.0" + } + }, + "expo-face-detector-interface": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-face-detector-interface/-/expo-face-detector-interface-1.1.0.tgz", + "integrity": "sha512-D2191Y7p9+gOObMv4E0b+h+xQkmCJe2g7MXvgeCsIOr/4VZCHd8B4fVV6xb8bLCBT7PeOSqo82RAz7nPXjHNdA==", + "requires": { + "expo-core": "~1.2.0" + } + }, + "expo-file-system": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-1.1.0.tgz", + "integrity": "sha512-JQUZ0S2tpDsUTBeW0utWth9KzQxz71AnULW+nrhsTzRNdtCrDD4JlFB2avVWjvUUYzRhHWTVIoI0evHR6K0o9w==", + "requires": { + "expo-core": "~1.2.0", + "expo-file-system-interface": "~1.1.0", + "uuid-js": "^0.7.5" + } + }, + "expo-file-system-interface": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-file-system-interface/-/expo-file-system-interface-1.1.0.tgz", + "integrity": "sha512-16iEsif9o7w2OeT8zyi7yf0KioHio0QmyCH73FM6FhbNxkoQznrlKWLkMafcmaQdBShFWATKer3/21qlaeFqCQ==", + "requires": { + "expo-core": "~1.2.0" + } + }, + "expo-font": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-1.1.0.tgz", + "integrity": "sha512-7zzynnRTSDe0q/ZbUNf17kVgQvE+TQ+hx+5F/aFuy6/F63OotbFkigMqqRlvGJAxcxo+oS9idDTSB3ajxWcezw==", + "requires": { + "expo-core": "~1.2.0", + "expo-font-interface": "~1.1.0", + "invariant": "^2.2.2" + } + }, + "expo-font-interface": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-font-interface/-/expo-font-interface-1.1.0.tgz", + "integrity": "sha512-jXxd3RgX23B1aIXv866Ljx+EKqPou/vA/pgdv5bRJ7Pw+wOTdIISG53IjuApidMtLV9CXhD90VQj/uBsDium1A==", + "requires": { + "expo-core": "~1.2.0" + } + }, + "expo-gl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-gl/-/expo-gl-1.1.0.tgz", + "integrity": "sha512-7HPWe8STXHurj3jQNJPcrxKhXyAL/ptSSNtNmVU5j1OqHQncGg9VYrg3QORKqcO6YPWZFlbW4faXRQE2HHVumA==", + "requires": { + "expo-camera-interface": "~1.1.0", + "expo-core": "~1.2.0", + "expo-file-system-interface": "~1.1.0", + "expo-gl-cpp": "~1.1.0" + } + }, + "expo-gl-cpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-gl-cpp/-/expo-gl-cpp-1.1.0.tgz", + "integrity": "sha512-4LElMPFaIwp5EQIqmfccb6Bk9RixLijN6A/T70ma3kt+MUGW6SzWLzexIWsArDWizU9my+anuQ0dYzZcVtBQ9A==", + "requires": { + "expo-core": "~1.2.0" + } + }, + "expo-image-loader-interface": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-image-loader-interface/-/expo-image-loader-interface-1.1.0.tgz", + "integrity": "sha512-4gpraV+7BfRG0ZbSSVw4cB4wVp9/JUHsSaGjBD4kCu8+ZVGCDx5WAEeX8rROe6DI90HtUzwdeQ/RFfMyhnpVag==", + "requires": { + "expo-core": "~1.2.0" + } + }, + "expo-local-authentication": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-local-authentication/-/expo-local-authentication-1.1.0.tgz", + "integrity": "sha512-buojBD00AnxssfAcf4q/3cfwD30S/BV0iTkQawbZvcyb+3Gg9ct3CbyaOdVqhmx4Dtkxj4sfqZ/aEZVPHw1Jew==", + "requires": { + "expo-core": "~1.2.0", + "invariant": "^2.2.4" + } + }, + "expo-localization": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/expo-localization/-/expo-localization-1.0.0.tgz", + "integrity": "sha512-P9E8UI/WZ6VxZK4xdQcoigQGwG+o6f0L+Ww7uLrAurykeLKSnSULo9ptpQi8vv5rjpMzgtfKvZKZ2PvxKxq8ig==", + "requires": { + "expo-core": "~1.2.0" + } + }, + "expo-location": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-location/-/expo-location-1.1.0.tgz", + "integrity": "sha512-b6OOp1SjpC2WcF9Fd+BwDqnl5lPgstuO5VpPEXDXkYY8FZdEd8NPjJ6o8B7Mg560vHaFxVETqVO6cLf83iatNw==", + "requires": { + "invariant": "^2.2.4" + } + }, + "expo-media-library": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-media-library/-/expo-media-library-1.1.0.tgz", + "integrity": "sha512-Ts8heEMEcEPrAY6Nht4e9d83OXiFzFGwrRt9OBhkrRMy04P07R2jvEcx+mpElswqScScnOA/SfBT9CE1Q7j4wg==", + "requires": { + "expo-core": "~1.2.0", + "expo-permissions-interface": "~1.2.0" + } + }, + "expo-payments-stripe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-payments-stripe/-/expo-payments-stripe-1.1.0.tgz", + "integrity": "sha512-dS4lY9rpr3oaQHk97/PSpdRYNkiixlMSk0JfreL9R+DAl9S4OFMXNzewqHAQOMcDM73AP8vM10ra/5FjYJUTug==", + "requires": { + "expo-core": "~1.2.0" + } + }, + "expo-permissions": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/expo-permissions/-/expo-permissions-1.2.0.tgz", + "integrity": "sha512-vCg4EPpvNsWjiG4cc/9jzVikyjEgNFAV4dQqmRU9hb38TKB+9C8gvYY4eFFhHp6MwcpI34IeTlD53nLc3sWTUA==", + "requires": { + "expo-core": "~1.2.0", + "expo-permissions-interface": "~1.2.0" + } + }, + "expo-permissions-interface": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/expo-permissions-interface/-/expo-permissions-interface-1.2.0.tgz", + "integrity": "sha512-hHduXuB0+hSymex0ZTJWjlTJffmHt2cEZGLorhwM51r082oudurrpfed7sjGqKu9wSM6TeAjPG3UaLvyWVG/dQ==", + "requires": { + "expo-core": "~1.2.0" + } + }, + "expo-print": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-print/-/expo-print-1.1.0.tgz", + "integrity": "sha512-fVi2RHn6rpZb+Fl4hCxPZt1EJ6/lCul52uNBCIzKiWeifJLTtyiDg+SHehC/6Foj9VkGeaEy4nYCQ7rLwBANsA==", + "requires": { + "babel-preset-expo": "^5.0.0", + "expo-core": "~1.2.0" + } + }, + "expo-react-native-adapter": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/expo-react-native-adapter/-/expo-react-native-adapter-1.2.0.tgz", + "integrity": "sha512-blb0qsX+NRpHXIsPoSaxBHcw2cpoUoQf0gyqSJTuxseyJc0dIkL8Eol4bP3JpQ4GnlGKW6vmjvO6M2TpW/wDUA==", + "requires": { + "expo-core": "~1.2.0", + "expo-image-loader-interface": "~1.1.0", + "expo-permissions-interface": "~1.2.0", + "lodash.omit": "^4.5.0", + "lodash.pick": "^4.4.0", + "prop-types": "^15.6.1" + } + }, + "expo-sensors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-sensors/-/expo-sensors-1.1.0.tgz", + "integrity": "sha512-mTdG7KehIsw99jQcQmbfUC3MydSEQcQPBKuhl1RkldIbIruzxchnQ/HNowzHt2lSoif6ppH3WVDq8kiu24783A==", + "requires": { + "expo-core": "~1.2.0", + "expo-sensors-interface": "~1.1.0", + "invariant": "^2.2.4" + } + }, + "expo-sensors-interface": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-sensors-interface/-/expo-sensors-interface-1.1.0.tgz", + "integrity": "sha512-bAZPOITxgq+SBWLj+x8graB9BtKvHDMwYJFgyFsVA6UXqocXc1ZiZiXWJ9OkTwCYoXx0g+RVb2/ddgKFOTBtPA==", + "requires": { + "expo-core": "~1.2.0" + } + }, + "expo-sms": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expo-sms/-/expo-sms-1.1.0.tgz", + "integrity": "sha512-Tb3zSrrXhUsWeaD5EiK3XmebMp++nbN5Fhc3dXqVbMJzb+Ua5LkbW612G0EGrcUNjnZwwQRUb2UpRvX1x91Obw==", + "requires": { + "expo-core": "~1.2.0", + "expo-permissions-interface": "~1.2.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "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.0", + "iconv-lite": "^0.4.17", + "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=", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", "requires": { "ansi-gray": "^0.1.1", "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", "time-stamp": "^1.0.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=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, "fast-json-stable-stringify": { @@ -4278,18 +3800,6 @@ "escape-string-regexp": "^1.0.5" } }, - "file-type": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", - "dev": true - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true - }, "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", @@ -4306,9 +3816,9 @@ }, "dependencies": { "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -4333,29 +3843,6 @@ "repeat-string": "^1.5.2" } }, - "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", - "dev": true, - "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.4.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "dev": true - } - } - }, "find-babel-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.1.0.tgz", @@ -4465,26 +3952,6 @@ } } }, - "follow-redirects": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.2.tgz", - "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==", - "dev": true, - "requires": { - "debug": "^3.1.0" - }, - "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" - } - } - } - }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -4511,28 +3978,16 @@ "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=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "^0.4.0", - "combined-stream": "1.0.6", + "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, - "formidable": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", - "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", - "dev": true - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true - }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -4541,37 +3996,11 @@ "map-cache": "^0.2.2" } }, - "freeport-async": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/freeport-async/-/freeport-async-1.1.1.tgz", - "integrity": "sha1-XIz0/Bq6gSV4MXvU16HlWXuvlY4=", - "dev": true - }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, - "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "dev": true, - "requires": { - "minipass": "^2.2.1" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4777,11 +4206,13 @@ }, "minimist": { "version": "0.0.8", - "bundled": true + "bundled": true, + "optional": true }, "minipass": { "version": "2.2.4", "bundled": true, + "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -4798,6 +4229,7 @@ "mkdirp": { "version": "0.5.1", "bundled": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -5053,42 +4485,6 @@ } } }, - "ftp": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", - "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", - "dev": true, - "requires": { - "readable-stream": "1.1.x", - "xregexp": "2.0.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -5117,31 +4513,11 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, - "get-uri": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.2.tgz", - "integrity": "sha512-ZD325dMZOgerGqF/rF6vZXyFGTAay62svjQIT+X/oU2PtxYpFxvSkbsdi+oxIrsNxlZVd4y8wUDqkaExWTI/Cw==", - "dev": true, - "requires": { - "data-uri-to-buffer": "1", - "debug": "2", - "extend": "3", - "file-uri-to-path": "1", - "ftp": "~0.3.10", - "readable-stream": "2" - } - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, - "getenv": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/getenv/-/getenv-0.7.0.tgz", - "integrity": "sha1-ObkYOHB+IIb9HPbvh3fRyT4UZJ4=", - "dev": true - }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -5151,19 +4527,6 @@ "assert-plus": "^1.0.0" } }, - "glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, "glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", @@ -5181,15 +4544,6 @@ "is-glob": "^2.0.0" } }, - "glob-promise": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/glob-promise/-/glob-promise-3.4.0.tgz", - "integrity": "sha512-q08RJ6O+eJn+dVanerAndJwIcumgbDdYiUT7zFQl3Wm1xD6fBKtah7H8ZJChj4wP+8C+QfeVy8xautR7rdmKEw==", - "dev": true, - "requires": { - "@types/glob": "*" - } - }, "global": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", @@ -5200,169 +4554,68 @@ } }, "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" + }, + "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=" + }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + }, + "handlebars": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz", + "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", "dev": true, "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "async": "^2.5.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" }, "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "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" + "lodash": "^4.17.10" } }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "google-maps-infobox": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/google-maps-infobox/-/google-maps-infobox-1.1.13.tgz", - "integrity": "sha1-6zpFMiDbTKtOH0BON9px4hVeJNc=" - }, - "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", - "dev": true, - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - } - }, - "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=" - }, - "gud": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", - "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" - }, - "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.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" - }, - "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=", + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", "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.1", - "right-align": "^0.1.1", - "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": ">=0.0.4" - } + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "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.1", - "uglify-to-browserify": "~1.0.0", - "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=", + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", + "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" + "commander": "~2.17.1", + "source-map": "~0.6.1" } } } @@ -5374,12 +4627,12 @@ "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=", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "^5.1.0", + "ajv": "^6.5.5", "har-schema": "^2.0.0" } }, @@ -5412,12 +4665,6 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -5477,40 +4724,11 @@ } } }, - "hasbin": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/hasbin/-/hasbin-1.2.3.tgz", - "integrity": "sha1-eMWSaJPIAhXCtWiuH9P8q3omlrA=", - "dev": true, - "requires": { - "async": "~1.5" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - } - } - }, - "hoek": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", - "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", - "dev": true - }, "hoist-non-react-statics": { "version": "2.5.5", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" }, - "home-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/home-dir/-/home-dir-1.0.0.tgz", - "integrity": "sha1-KRfrRL3JByztqUJXlUOEfjAX/k4=", - "dev": true - }, "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", @@ -5536,33 +4754,19 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "http://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.4.0 < 2" - } - }, - "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "dev": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" }, "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" - } + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" } } }, @@ -5577,27 +4781,6 @@ "sshpk": "^1.7.0" } }, - "https-proxy-agent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", - "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", - "dev": true, - "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" - }, - "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" - } - } - } - }, "iconv-lite": { "version": "0.4.23", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", @@ -5606,25 +4789,6 @@ "safer-buffer": ">= 2.1.2 < 3" } }, - "idtoken-verifier": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/idtoken-verifier/-/idtoken-verifier-1.2.0.tgz", - "integrity": "sha512-8jmmFHwdPz8L73zGNAXHHOV9yXNC+Z0TUBN5rafpoaFaLFltlIFr1JkQa3FYAETP23eSsulVw0sBiwrE8jqbUg==", - "dev": true, - "requires": { - "base64-js": "^1.2.0", - "crypto-js": "^3.1.9-1", - "jsbn": "^0.1.0", - "superagent": "^3.8.2", - "url-join": "^1.1.0" - } - }, - "idx": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/idx/-/idx-2.4.0.tgz", - "integrity": "sha512-FnV6fXF1/cXvam/OXAz98v3GbhQVws+ecMEVLxyQ1aXgK2nooTkTDqex5Lks84wiCsS1So6QtwwCYT6H+vIKkw==", - "dev": true - }, "image-size": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", @@ -5635,6 +4799,15 @@ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, "import-local": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", @@ -5650,12 +4823,6 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -5691,12 +4858,6 @@ "through": "^2.3.6" } }, - "instapromise": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/instapromise/-/instapromise-2.0.7.tgz", - "integrity": "sha1-heZrMQIRlNoRIUyGUSfvBOwwFno=", - "dev": true - }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -5710,18 +4871,6 @@ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", - "dev": true - }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -5760,7 +4909,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { "builtin-modules": "^1.0.0" @@ -5773,12 +4922,12 @@ "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==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "dev": true, "requires": { - "ci-info": "^1.0.0" + "ci-info": "^1.5.0" } }, "is-data-descriptor": { @@ -5822,6 +4971,11 @@ } } }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", @@ -5872,15 +5026,6 @@ "is-extglob": "^1.0.0" } }, - "is-lower-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", - "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=", - "dev": true, - "requires": { - "lower-case": "^1.1.0" - } - }, "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", @@ -5929,12 +5074,6 @@ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "dev": true - }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", @@ -5944,12 +5083,6 @@ "has": "^1.0.1" } }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "dev": true - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -5967,15 +5100,6 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, - "is-upper-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", - "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=", - "dev": true, - "requires": { - "upper-case": "^1.1.0" - } - }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -5992,12 +5116,6 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "isemail": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz", - "integrity": "sha1-A1PT2aYpUQgMJiwqoKQrjqjp4qY=", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -6027,20 +5145,19 @@ "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==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz", + "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", "dev": true, "requires": { "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", + "istanbul-lib-coverage": "^1.2.1", + "istanbul-lib-hook": "^1.2.2", + "istanbul-lib-instrument": "^1.10.2", + "istanbul-lib-report": "^1.1.5", + "istanbul-lib-source-maps": "^1.2.6", + "istanbul-reports": "^1.5.1", "js-yaml": "^3.7.0", "mkdirp": "^0.5.1", "once": "^1.4.0" @@ -6054,56 +5171,28 @@ "requires": { "lodash": "^4.17.10" } - }, - "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-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.1", - "source-map": "^0.5.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true } } }, "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==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", "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==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", + "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", "dev": true, "requires": { - "append-transform": "^1.0.0" + "append-transform": "^0.4.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==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", "dev": true, "requires": { "babel-generator": "^6.18.0", @@ -6111,17 +5200,17 @@ "babel-traverse": "^6.18.0", "babel-types": "^6.18.0", "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-coverage": "^1.2.1", "semver": "^5.3.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==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", + "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", "dev": true, "requires": { - "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-coverage": "^1.2.1", "mkdirp": "^0.5.1", "path-parse": "^1.0.5", "supports-color": "^3.1.2" @@ -6145,75 +5234,79 @@ } }, "istanbul-lib-source-maps": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz", - "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", + "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", "dev": true, "requires": { "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.2", + "istanbul-lib-coverage": "^1.2.1", "mkdirp": "^0.5.1", "rimraf": "^2.6.1", "source-map": "^0.5.3" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true } } }, "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==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", + "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", "dev": true, "requires": { "handlebars": "^4.0.3" } }, - "items": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/items/-/items-2.1.1.tgz", - "integrity": "sha1-i9FtnIOxlSneWuoyGsqtp4NkoZg=", - "dev": true + "jest-changed-files": { + "version": "23.4.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-23.4.2.tgz", + "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", + "dev": true, + "requires": { + "throat": "^4.0.0" + } }, - "jest": { - "version": "22.4.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-22.4.4.tgz", - "integrity": "sha512-eBhhW8OS/UuX3HxgzNBSVEVhSuRDh39Z1kdYkQVWna+scpgsrD7vSeBI7tmEvsguPDMnfJodW28YBnhv/BzSew==", + "jest-config": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-23.6.0.tgz", + "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", "dev": true, "requires": { - "import-local": "^1.0.0", - "jest-cli": "^22.4.4" + "babel-core": "^6.0.0", + "babel-jest": "^23.6.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.6.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "pretty-format": "^23.6.0" }, "dependencies": { - "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.0.0" - } - }, "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -6224,149 +5317,64 @@ "path-is-absolute": "^1.0.0" } }, - "jest-cli": { - "version": "22.4.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-22.4.4.tgz", - "integrity": "sha512-I9dsgkeyjVEEZj9wrGrqlH+8OlNob9Iptyl+6L5+ToOLJmHm4JwOPatin1b2Bzp5R5YRQJ+oiedx7o1H7wJzhA==", + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "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.1.14", - "istanbul-lib-coverage": "^1.1.1", - "istanbul-lib-instrument": "^1.8.0", - "istanbul-lib-source-maps": "^1.2.1", - "jest-changed-files": "^22.2.0", - "jest-config": "^22.4.4", - "jest-environment-jsdom": "^22.4.1", - "jest-get-type": "^22.1.0", - "jest-haste-map": "^22.4.2", - "jest-message-util": "^22.4.0", - "jest-regex-util": "^22.1.0", - "jest-resolve-dependencies": "^22.1.0", - "jest-runner": "^22.4.4", - "jest-runtime": "^22.4.4", - "jest-snapshot": "^22.4.0", - "jest-util": "^22.4.1", - "jest-validate": "^22.4.4", - "jest-worker": "^22.2.2", - "micromatch": "^2.3.11", - "node-notifier": "^5.2.1", - "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": "^10.0.3" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } - }, - "yargs": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz", - "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==", + } + } + }, + "jest-diff": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz", + "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" + }, + "dependencies": { + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "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": "^8.1.0" - } - }, - "yargs-parser": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", - "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } } } }, - "jest-changed-files": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-22.4.3.tgz", - "integrity": "sha512-83Dh0w1aSkUNFhy5d2dvqWxi/y6weDwVVLU6vmK0cV9VpRxPzhTeGimbsbRDSnEoszhF937M4sDLLeS7Cu/Tmw==", - "dev": true, - "requires": { - "throat": "^4.0.0" - } - }, - "jest-config": { - "version": "22.4.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-22.4.4.tgz", - "integrity": "sha512-9CKfo1GC4zrXSoMLcNeDvQBfgtqGTB1uP8iDIZ97oB26RCUb886KkKWhVcpyxVDOUxbhN+uzcBCeFe7w+Iem4A==", - "dev": true, + "jest-docblock": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", + "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "requires": { - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^22.4.1", - "jest-environment-node": "^22.4.1", - "jest-get-type": "^22.1.0", - "jest-jasmine2": "^22.4.4", - "jest-regex-util": "^22.1.0", - "jest-resolve": "^22.4.2", - "jest-util": "^22.4.1", - "jest-validate": "^22.4.4", - "pretty-format": "^22.4.0" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "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" - } - }, - "pretty-format": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", - "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" - } - } + "detect-newline": "^2.1.0" } }, - "jest-diff": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-22.4.3.tgz", - "integrity": "sha512-/QqGvCDP5oZOF6PebDuLwrB2BMD8ffJv6TAGAdEVuDx1+uEgrHpSFrfrOiMRx2eJ1hgNjlQrOQEHetVwij90KA==", + "jest-each": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-23.6.0.tgz", + "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", "dev": true, "requires": { "chalk": "^2.0.1", - "diff": "^3.2.0", - "jest-get-type": "^22.4.3", - "pretty-format": "^22.4.3" + "pretty-format": "^23.6.0" }, "dependencies": { "pretty-format": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", - "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { "ansi-regex": "^3.0.0", @@ -6375,111 +5383,268 @@ } } }, - "jest-docblock": { - "version": "22.4.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-22.4.0.tgz", - "integrity": "sha512-lDY7GZ+/CJb02oULYLBDj7Hs5shBhVpDYpIm8LUyqw9X2J22QRsM19gmGQwIFqGSJmpc/LRrSYudeSrG510xlQ==", - "requires": { - "detect-newline": "^2.1.0" - } - }, "jest-environment-jsdom": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz", - "integrity": "sha512-FviwfR+VyT3Datf13+ULjIMO5CSeajlayhhYQwpzgunswoaLIPutdbrnfUHEMyJCwvqQFaVtTmn9+Y8WCt6n1w==", + "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": "^22.4.3", - "jest-util": "^22.4.3", + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0", "jsdom": "^11.5.1" } }, "jest-environment-node": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-22.4.3.tgz", - "integrity": "sha512-reZl8XF6t/lMEuPWwo9OLfttyC26A5AMgDyEQ6DBgZuyfyeNUzYT8BFo6uxCCP/Av/b7eb9fTi3sIHFPBzmlRA==", + "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": "^22.4.3", - "jest-util": "^22.4.3" + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0" } }, "jest-expo": { - "version": "27.0.1", - "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-27.0.1.tgz", - "integrity": "sha1-ixqXqL4WdSi0ts36X0WTSPC2YCY=", + "version": "31.0.0", + "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-31.0.0.tgz", + "integrity": "sha512-GWHGY4M53dZljIzEJdGCntZFvWvF7tf6zAhCURaNSLpZ0o7qtVKqjZrjXI8bp+58Hr3O9N9KhWJYKFVzmMLAFQ==", "dev": true, "requires": { - "babel-jest": "^22.4.1", - "jest": "^22.4.2", - "json5": "^0.5.1", - "react-test-renderer": "^16.3.1" + "@babel/core": "^7.1.0", + "babel-core": "^7.0.0-bridge.0", + "babel-jest": "^23.6.0", + "jest": "^23.6.0", + "json5": "^2.1.0", + "react-test-renderer": "^16.5.0" + }, + "dependencies": { + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true + }, + "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.0.0" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "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" + } + }, + "jest": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-23.6.0.tgz", + "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", + "dev": true, + "requires": { + "import-local": "^1.0.0", + "jest-cli": "^23.6.0" + }, + "dependencies": { + "jest-cli": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-23.6.0.tgz", + "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", + "dev": true, + "requires": { + "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.2", + "jest-config": "^23.6.0", + "jest-environment-jsdom": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve-dependencies": "^23.6.0", + "jest-runner": "^23.6.0", + "jest-runtime": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.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-haste-map": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.6.0.tgz", + "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", + "dev": true, + "requires": { + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "invariant": "^2.2.4", + "jest-docblock": "^23.2.0", + "jest-serializer": "^23.0.1", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "sane": "^2.0.0" + } + }, + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "react-is": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.7.0.tgz", + "integrity": "sha512-Z0VRQdF4NPDoI0tsXVMLkJLiwEBa+RP66g0xDHxgxysxSoCUccSten4RTF/UFvZF1dZvZ9Zu1sx+MDXwcOR34g==", + "dev": true + }, + "react-test-renderer": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.7.0.tgz", + "integrity": "sha512-tFbhSjknSQ6+ttzmuGdv+SjQfmvGcq3PFKyPItohwhhOBmRoTf1We3Mlt3rJtIn85mjPXOkKV+TaKK4irvk9Yg==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "react-is": "^16.7.0", + "scheduler": "^0.12.0" + } + }, + "yargs": { + "version": "11.1.0", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "dev": true, + "requires": { + "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-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-get-type": { "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "resolved": "http://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": "22.4.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-22.4.2.tgz", - "integrity": "sha512-EdQADHGXRqHJYAr7q9B9YYHZnrlcMwhx1+DnIgc9uN05nCW3RvGCxJ91MqWXcC1AzatLoSv7SNd0qXMp2jKBDA==", + "version": "23.5.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", + "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { "fb-watchman": "^2.0.0", "graceful-fs": "^4.1.11", - "jest-docblock": "^22.4.0", - "jest-serializer": "^22.4.0", - "jest-worker": "^22.2.2", + "invariant": "^2.2.4", + "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": { - "version": "22.4.4", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-22.4.4.tgz", - "integrity": "sha512-nK3vdUl50MuH7vj/8at7EQVjPGWCi3d5+6aCi7Gxy/XMWdOdbH1qtO/LjKbqD8+8dUAEH+BVVh7HkjpCWC1CSw==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz", + "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", "dev": true, "requires": { + "babel-traverse": "^6.0.0", "chalk": "^2.0.1", "co": "^4.6.0", - "expect": "^22.4.0", - "graceful-fs": "^4.1.11", + "expect": "^23.6.0", "is-generator-fn": "^1.0.0", - "jest-diff": "^22.4.0", - "jest-matcher-utils": "^22.4.0", - "jest-message-util": "^22.4.0", - "jest-snapshot": "^22.4.0", - "jest-util": "^22.4.1", - "source-map-support": "^0.5.0" + "jest-diff": "^23.6.0", + "jest-each": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "pretty-format": "^23.6.0" }, "dependencies": { - "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==", + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } } } }, "jest-leak-detector": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz", - "integrity": "sha512-NZpR/Ls7+ndO57LuXROdgCGz2RmUdC541tTImL9bdUtU3WadgFGm0yV+Ok4Fuia/1rLAn5KaJ+i76L6e3zGJYQ==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz", + "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", "dev": true, "requires": { - "pretty-format": "^22.4.3" + "pretty-format": "^23.6.0" }, "dependencies": { "pretty-format": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", - "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { "ansi-regex": "^3.0.0", @@ -6489,20 +5654,20 @@ } }, "jest-matcher-utils": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz", - "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz", + "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", "dev": true, "requires": { "chalk": "^2.0.1", - "jest-get-type": "^22.4.3", - "pretty-format": "^22.4.3" + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" }, "dependencies": { "pretty-format": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", - "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { "ansi-regex": "^3.0.0", @@ -6512,9 +5677,9 @@ } }, "jest-message-util": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-22.4.3.tgz", - "integrity": "sha512-iAMeKxhB3Se5xkSjU0NndLLCHtP4n+GtCqV0bISKA5dmOXQfEbdEmYiu2qpnWBDCQdEafNDDU6Q+l6oBMd/+BA==", + "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.35", @@ -6525,81 +5690,120 @@ } }, "jest-mock": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-22.4.3.tgz", - "integrity": "sha512-+4R6mH5M1G4NK16CKg9N1DtCaFmuxhcIqF4lQK/Q1CIotqMs/XBemfpDPeVZBFow6iyUNu6EBT9ugdNOTT5o5Q==", + "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": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-22.4.3.tgz", - "integrity": "sha512-LFg1gWr3QinIjb8j833bq7jtQopiwdAs67OGfkPrvy7uNUbVMfTXXcOKXJaeY5GgjobELkKvKENqq1xrUectWg==", + "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": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-22.4.3.tgz", - "integrity": "sha512-u3BkD/MQBmwrOJDzDIaxpyqTxYH+XqAXzVJP51gt29H8jpj3QgKof5GGO2uPGKGeA1yTMlpbMs1gIQ6U4vcRhw==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.6.0.tgz", + "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", "dev": true, "requires": { - "browser-resolve": "^1.11.2", - "chalk": "^2.0.1" + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "realpath-native": "^1.0.0" } }, "jest-resolve-dependencies": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz", - "integrity": "sha512-06czCMVToSN8F2U4EvgSB1Bv/56gc7MpCftZ9z9fBgUQM7dzHGCMBsyfVA6dZTx8v0FDcnALf7hupeQxaBCvpA==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz", + "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", "dev": true, "requires": { - "jest-regex-util": "^22.4.3" + "jest-regex-util": "^23.3.0", + "jest-snapshot": "^23.6.0" } }, "jest-runner": { - "version": "22.4.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-22.4.4.tgz", - "integrity": "sha512-5S/OpB51igQW9xnkM5Tgd/7ZjiAuIoiJAVtvVTBcEBiXBIFzWM3BAMPBM19FX68gRV0KWyFuGKj0EY3M3aceeQ==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-23.6.0.tgz", + "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", "dev": true, "requires": { "exit": "^0.1.2", - "jest-config": "^22.4.4", - "jest-docblock": "^22.4.0", - "jest-haste-map": "^22.4.2", - "jest-jasmine2": "^22.4.4", - "jest-leak-detector": "^22.4.0", - "jest-message-util": "^22.4.0", - "jest-runtime": "^22.4.4", - "jest-util": "^22.4.1", - "jest-worker": "^22.2.2", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-docblock": "^23.2.0", + "jest-haste-map": "^23.6.0", + "jest-jasmine2": "^23.6.0", + "jest-leak-detector": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-runtime": "^23.6.0", + "jest-util": "^23.4.0", + "jest-worker": "^23.2.0", + "source-map-support": "^0.5.6", "throat": "^4.0.0" + }, + "dependencies": { + "jest-haste-map": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.6.0.tgz", + "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", + "dev": true, + "requires": { + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "invariant": "^2.2.4", + "jest-docblock": "^23.2.0", + "jest-serializer": "^23.0.1", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "sane": "^2.0.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 + }, + "source-map-support": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", + "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } } }, "jest-runtime": { - "version": "22.4.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-22.4.4.tgz", - "integrity": "sha512-WRTj9m///npte1YjuphCYX7GRY/c2YvJImU9t7qOwFcqHr4YMzmX6evP/3Sehz5DKW2Vi8ONYPCFWe36JVXxfw==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-23.6.0.tgz", + "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", "dev": true, "requires": { "babel-core": "^6.0.0", - "babel-jest": "^22.4.4", - "babel-plugin-istanbul": "^4.1.5", + "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": "^22.4.4", - "jest-haste-map": "^22.4.2", - "jest-regex-util": "^22.1.0", - "jest-resolve": "^22.4.2", - "jest-util": "^22.4.1", - "jest-validate": "^22.4.4", - "json-stable-stringify": "^1.0.1", + "jest-config": "^23.6.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.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": "^10.0.3" + "yargs": "^11.0.0" }, "dependencies": { "cliui": { @@ -6613,6 +5817,22 @@ "wrap-ansi": "^2.0.0" } }, + "jest-haste-map": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.6.0.tgz", + "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", + "dev": true, + "requires": { + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "invariant": "^2.2.4", + "jest-docblock": "^23.2.0", + "jest-serializer": "^23.0.1", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "sane": "^2.0.0" + } + }, "write-file-atomic": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", @@ -6625,9 +5845,9 @@ } }, "yargs": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz", - "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==", + "version": "11.1.0", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { "cliui": "^4.0.0", @@ -6641,13 +5861,13 @@ "string-width": "^2.0.0", "which-module": "^2.0.0", "y18n": "^3.2.1", - "yargs-parser": "^8.1.0" + "yargs-parser": "^9.0.2" } }, "yargs-parser": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", - "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", + "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" @@ -6656,28 +5876,32 @@ } }, "jest-serializer": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-22.4.3.tgz", - "integrity": "sha512-uPaUAppx4VUfJ0QDerpNdF43F68eqKWCzzhUlKNDsUPhjOon7ZehR4C809GCqh765FoMRtTVUVnGvIoskkYHiw==" + "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": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-22.4.3.tgz", - "integrity": "sha512-JXA0gVs5YL0HtLDCGa9YxcmmV2LZbwJ+0MfyXBBc5qpgkEYITQFJP7XNhcHFbUvRiniRpRbGVfJrOoYhhGE0RQ==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.6.0.tgz", + "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", "dev": true, "requires": { + "babel-types": "^6.0.0", "chalk": "^2.0.1", - "jest-diff": "^22.4.3", - "jest-matcher-utils": "^22.4.3", + "jest-diff": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-resolve": "^23.6.0", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "pretty-format": "^22.4.3" + "pretty-format": "^23.6.0", + "semver": "^5.5.0" }, "dependencies": { "pretty-format": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", - "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { "ansi-regex": "^3.0.0", @@ -6687,37 +5911,45 @@ } }, "jest-util": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-22.4.3.tgz", - "integrity": "sha512-rfDfG8wyC5pDPNdcnAlZgwKnzHvZDu8Td2NJI/jAGKEGxJPYiE4F0ss/gSAkG4778Y23Hvbz+0GMrDJTeo7RjQ==", + "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.0.1", "graceful-fs": "^4.1.11", "is-ci": "^1.0.10", - "jest-message-util": "^22.4.3", + "jest-message-util": "^23.4.0", "mkdirp": "^0.5.1", + "slash": "^1.0.0", "source-map": "^0.6.0" + }, + "dependencies": { + "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 + } } }, "jest-validate": { - "version": "22.4.4", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-22.4.4.tgz", - "integrity": "sha512-dmlf4CIZRGvkaVg3fa0uetepcua44DHtktHm6rcoNVtYlpwe6fEJRkMFsaUVcFHLzbuBJ2cPw9Gl9TKfnzMVwg==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.6.0.tgz", + "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", "dev": true, "requires": { "chalk": "^2.0.1", - "jest-config": "^22.4.4", "jest-get-type": "^22.1.0", "leven": "^2.1.0", - "pretty-format": "^22.4.0" + "pretty-format": "^23.6.0" }, "dependencies": { "pretty-format": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", - "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { "ansi-regex": "^3.0.0", @@ -6726,32 +5958,25 @@ } } }, - "jest-worker": { - "version": "22.2.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-22.2.2.tgz", - "integrity": "sha512-ZylDXjrFNt/OP6cUxwJFWwDgazP7hRjtCQbocFHyiwov+04Wm1x5PYzMGNJT53s4nwr0oo9ocYTImS09xOlUnw==", + "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": { - "merge-stream": "^1.0.1" + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "string-length": "^2.0.0" } }, - "joi": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", - "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", - "dev": true, + "jest-worker": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", + "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", "requires": { - "hoek": "4.x.x", - "isemail": "2.x.x", - "items": "2.x.x", - "topo": "2.x.x" + "merge-stream": "^1.0.1" } }, - "join-component": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/join-component/-/join-component-1.1.0.tgz", - "integrity": "sha1-uEF7dQZho5K+4sJTfGiyqdSXfNU=", - "dev": true - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6761,7 +5986,6 @@ "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.7", "esprima": "^4.0.0" @@ -6770,8 +5994,7 @@ "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 + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" } } }, @@ -6833,9 +6056,14 @@ } }, "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "json-schema": { "version": "0.2.3", @@ -6844,9 +6072,9 @@ "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=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify": { @@ -6865,77 +6093,14 @@ }, "json5": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, - "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" }, - "jsonschema": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz", - "integrity": "sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==", - "dev": true - }, - "jsonwebtoken": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-7.4.3.tgz", - "integrity": "sha1-d/UCHeBYtgWheD+hKD6ZgS5kVjg=", - "dev": true, - "requires": { - "joi": "^6.10.1", - "jws": "^3.1.4", - "lodash.once": "^4.0.0", - "ms": "^2.0.0", - "xtend": "^4.0.1" - }, - "dependencies": { - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "isemail": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz", - "integrity": "sha1-vgPfjMPineTSxd9lASY/H6RZXpo=", - "dev": true - }, - "joi": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/joi/-/joi-6.10.1.tgz", - "integrity": "sha1-TVDDGAeRIgAP5fFq8f+OGRe3fgY=", - "dev": true, - "requires": { - "hoek": "2.x.x", - "isemail": "1.x.x", - "moment": "2.x.x", - "topo": "1.x.x" - } - }, - "topo": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz", - "integrity": "sha1-6ddRYV0buH3IZdsYL6HKCl71NtU=", - "dev": true, - "requires": { - "hoek": "2.x.x" - } - } - } - }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -6957,27 +6122,6 @@ "array-includes": "^3.0.3" } }, - "jwa": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.6.tgz", - "integrity": "sha512-tBO/cf++BUsJkYql/kBbJroKOgHWEigTKBAjjBEmrMGYd1QMBC74Hr4Wo2zCZw6ZrVhlJPvoMrkcOnlWR/DJfw==", - "dev": true, - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", - "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", - "dev": true, - "requires": { - "jwa": "^1.1.5", - "safe-buffer": "^5.0.1" - } - }, "kefir": { "version": "3.8.5", "resolved": "https://registry.npmjs.org/kefir/-/kefir-3.8.5.tgz", @@ -6995,7 +6139,7 @@ }, "kind-of": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=" }, "klaw": { @@ -7006,12 +6150,11 @@ "graceful-fs": "^4.1.9" } }, - "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 + "kleur": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz", + "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==", + "dev": true }, "lcid": { "version": "1.0.0", @@ -7024,7 +6167,8 @@ "left-pad": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==" + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "dev": true }, "leven": { "version": "2.1.0", @@ -7044,20 +6188,13 @@ }, "load-json-file": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", "pify": "^2.0.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": { @@ -7069,23 +6206,11 @@ "path-exists": "^3.0.0" } }, - "lock": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/lock/-/lock-0.1.4.tgz", - "integrity": "sha1-/sfervF+fDoKVeHaBCgD4l2RdF0=", - "dev": true - }, "lodash": { "version": "4.17.10", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" }, - "lodash-es": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.10.tgz", - "integrity": "sha512-iesFYPmxYYGTcmQK0sL8bX3TGHyM6b2qREaB4kamHfQyfPJP0xgoGxp19nsH16nsfquLdiyKyX3mQkfiSGV8Rg==", - "dev": true - }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -7101,17 +6226,16 @@ "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=" + }, "lodash.omit": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" }, - "lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", - "dev": true - }, "lodash.pad": { "version": "4.5.1", "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", @@ -7127,6 +6251,11 @@ "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", @@ -7148,34 +6277,6 @@ "resolved": "https://registry.npmjs.org/lodash.zipobject/-/lodash.zipobject-4.1.3.tgz", "integrity": "sha1-s5n1q6j/YqdG9peb8gshT5ZNvvg=" }, - "logfmt": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/logfmt/-/logfmt-1.2.1.tgz", - "integrity": "sha512-QlZuQi8AlGbrXfW7LrxH/lhyFjI6Xr2DNSrIzhtIJAicAgl21P2gHpqABR3Sh0Kd4dvwTAej6jDVdh0o/HwfcA==", - "dev": true, - "requires": { - "lodash": "4.x", - "split": "0.2.x", - "through": "2.3.x" - }, - "dependencies": { - "split": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/split/-/split-0.2.10.tgz", - "integrity": "sha1-Zwl8YB1pfOE2j0GPBs0gHPBSGlc=", - "dev": true, - "requires": { - "through": "2" - } - } - } - }, - "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", @@ -7190,37 +6291,16 @@ "integrity": "sha1-VcgI54XUppM7DBCzlVMLFwmLBd4=" }, "lottie-react-native": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-2.3.2.tgz", - "integrity": "sha1-ybdR4cEhcIzW9Q93cMtaoOEEKik=", + "version": "2.5.0", + "resolved": "http://registry.npmjs.org/lottie-react-native/-/lottie-react-native-2.5.0.tgz", + "integrity": "sha1-BxG4s0vsd0FVLCS3Hv09TKs0dXE=", "requires": { "invariant": "^2.2.2", - "lottie-ios": "^2.1.5", + "lottie-ios": "^2.5.0", "prop-types": "^15.5.10", "react-native-safe-module": "^1.1.0" } }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lower-case-first": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", - "integrity": "sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=", - "dev": true, - "requires": { - "lower-case": "^1.1.2" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, "lru-cache": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", @@ -7230,41 +6310,19 @@ "yallist": "^2.1.2" } }, - "lru-memoizer": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/lru-memoizer/-/lru-memoizer-1.12.0.tgz", - "integrity": "sha1-7+ZXBsyKnMZT+A8NWm6jitlQ41I=", - "dev": true, - "requires": { - "lock": "~0.1.2", - "lodash": "^4.17.4", - "lru-cache": "~4.0.0", - "very-fast-args": "^1.1.0" - }, - "dependencies": { - "lru-cache": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz", - "integrity": "sha1-HRdnnAac2l0ECZGgnbwsDbN35V4=", - "dev": true, - "requires": { - "pseudomap": "^1.0.1", - "yallist": "^2.0.0" - } - } - } - }, - "macos-release": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz", - "integrity": "sha512-mmLbumEYMi5nXReB9js3WGsB8UE6cDBWyIO62Z4DNx6GbRhDxHNjA1MlzSpJ2S2KM1wyiPRA0d19uHWYYvMHjA==" - }, "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" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } } }, "makeerror": { @@ -7288,36 +6346,11 @@ "object-visit": "^1.0.0" } }, - "marker-clusterer-plus": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/marker-clusterer-plus/-/marker-clusterer-plus-2.1.4.tgz", - "integrity": "sha1-+O/3TVmdqzt9Dj/tUmTqDnBPXWc=" - }, - "match-require": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/match-require/-/match-require-2.1.0.tgz", - "integrity": "sha1-9n1ixMsdcD9Aj7Y7Vbmug/sl4sw=", - "dev": true, - "requires": { - "uuid": "^3.0.0" - } - }, "math-random": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" }, - "md5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", - "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", - "dev": true, - "requires": { - "charenc": "~0.0.1", - "crypt": "~0.0.1", - "is-buffer": "~1.1.1" - } - }, "md5-file": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-3.2.3.tgz", @@ -7326,18 +6359,6 @@ "buffer-alloc": "^1.1.0" } }, - "md5hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/md5hex/-/md5hex-1.0.0.tgz", - "integrity": "sha1-7XS0d6Luk2n3Xv7i8I1ZFeUqQug=", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", @@ -7347,15 +6368,9 @@ } }, "merge": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", - "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==" }, "merge-stream": { "version": "1.0.1", @@ -7365,89 +6380,49 @@ "readable-stream": "^2.0.1" } }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, "metro": { - "version": "0.30.2", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.30.2.tgz", - "integrity": "sha512-wmdkh4AsfZjWaMM++KMDswQHdyo5L9a0XAaQBL4XTJdQIRG+x+Rmjixe7tDki5jKwe9XxsjjbpbdYKswOANuiw==", - "requires": { - "@babel/core": "^7.0.0-beta", - "@babel/generator": "^7.0.0-beta", - "@babel/helper-remap-async-to-generator": "^7.0.0-beta", - "@babel/plugin-external-helpers": "^7.0.0-beta", - "@babel/plugin-proposal-class-properties": "^7.0.0-beta", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0-beta", - "@babel/plugin-syntax-dynamic-import": "^7.0.0-beta", - "@babel/plugin-transform-arrow-functions": "^7.0.0-beta", - "@babel/plugin-transform-block-scoping": "^7.0.0-beta", - "@babel/plugin-transform-classes": "^7.0.0-beta", - "@babel/plugin-transform-computed-properties": "^7.0.0-beta", - "@babel/plugin-transform-destructuring": "^7.0.0-beta", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0-beta", - "@babel/plugin-transform-flow-strip-types": "^7.0.0-beta", - "@babel/plugin-transform-for-of": "^7.0.0-beta", - "@babel/plugin-transform-function-name": "^7.0.0-beta", - "@babel/plugin-transform-literals": "^7.0.0-beta", - "@babel/plugin-transform-modules-commonjs": "^7.0.0-beta", - "@babel/plugin-transform-object-assign": "^7.0.0-beta", - "@babel/plugin-transform-parameters": "^7.0.0-beta", - "@babel/plugin-transform-react-display-name": "^7.0.0-beta", - "@babel/plugin-transform-react-jsx": "^7.0.0-beta", - "@babel/plugin-transform-react-jsx-source": "^7.0.0-beta", - "@babel/plugin-transform-regenerator": "^7.0.0-beta", - "@babel/plugin-transform-shorthand-properties": "^7.0.0-beta", - "@babel/plugin-transform-spread": "^7.0.0-beta", - "@babel/plugin-transform-template-literals": "^7.0.0-beta", - "@babel/register": "^7.0.0-beta", - "@babel/template": "^7.0.0-beta", - "@babel/traverse": "^7.0.0-beta", - "@babel/types": "^7.0.0-beta", + "version": "0.45.6", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.45.6.tgz", + "integrity": "sha512-+RinU6Qcea/zX9xxfrgmeFBwJ3tsdgLyBJm4tQOmusU4kE8YEE4LQ3IGG60qk3wzYloflMB/8ilIGG4Z/gz2Ew==", + "requires": { + "@babel/core": "^7.0.0", + "@babel/generator": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/plugin-external-helpers": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", "absolute-path": "^0.0.0", "async": "^2.4.0", - "babel-core": "^6.24.1", - "babel-generator": "^6.26.0", - "babel-plugin-external-helpers": "^6.22.0", - "babel-plugin-react-transform": "^3.0.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": "^4.0.0", - "babel-register": "^6.24.1", - "babel-template": "^6.24.1", - "babylon": "^6.18.0", + "babel-preset-fbjs": "2.3.0", "chalk": "^1.1.1", "concat-stream": "^1.6.0", "connect": "^3.6.5", - "core-js": "^2.2.2", "debug": "^2.2.0", "denodeify": "^1.2.1", "eventemitter3": "^3.0.0", - "fbjs": "^0.8.14", + "fbjs": "0.8.17", "fs-extra": "^1.0.0", "graceful-fs": "^4.1.3", "image-size": "^0.6.0", - "jest-docblock": "22.4.0", - "jest-haste-map": "22.4.2", - "jest-worker": "22.2.2", + "jest-docblock": "23.2.0", + "jest-haste-map": "23.5.0", + "jest-worker": "23.2.0", "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-babylon7": "0.30.2", - "metro-cache": "0.30.2", - "metro-core": "0.30.2", - "metro-minify-uglify": "0.30.2", - "metro-resolver": "0.30.2", - "metro-source-map": "0.30.2", + "metro-cache": "0.45.6", + "metro-config": "0.45.6", + "metro-core": "0.45.6", + "metro-minify-uglify": "0.45.6", + "metro-react-native-babel-preset": "0.45.6", + "metro-resolver": "0.45.6", + "metro-source-map": "0.45.6", "mime-types": "2.1.11", "mkdirp": "^0.5.1", - "node-fetch": "^1.3.3", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.0", + "react-transform-hmr": "^1.0.4", "resolve": "^1.5.0", "rimraf": "^2.5.4", "serialize-error": "^2.1.0", @@ -7481,7 +6456,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { "ansi-styles": "^2.2.1", @@ -7493,7 +6468,7 @@ }, "fs-extra": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "requires": { "graceful-fs": "^4.1.2", @@ -7501,40 +6476,84 @@ "klaw": "^1.0.0" } }, - "json5": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz", - "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0=" - }, "jsonfile": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { "graceful-fs": "^4.1.6" } }, + "metro-babel7-plugin-react-transform": { + "version": "0.45.6", + "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.45.6.tgz", + "integrity": "sha512-NsVKqiBaF+Tm3FXzqiEExl9iJG+EimbpQP5h9ygxBE4AsYRc2S3X/YD/1ds3RTHMgfhinWVaus+DrG5OqK5mTA==", + "requires": { + "@babel/helper-module-imports": "^7.0.0" + } + }, + "metro-react-native-babel-preset": { + "version": "0.45.6", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.45.6.tgz", + "integrity": "sha512-qh+iXlV2tDfvHYbhh1meihxnzXXXB8nF1fi8z2HFxqYDkFBM48XewXO6mLz97PL8lmuTGvX/2dYVuFtriENw1w==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.0.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "metro-babel7-plugin-react-transform": "0.45.6", + "react-transform-hmr": "^1.0.4" + } + }, "mime-db": { "version": "1.23.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", + "resolved": "http://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", + "resolved": "http://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", "requires": { "mime-db": "~1.23.0" } }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "node-fetch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", + "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -7567,68 +6586,135 @@ } } }, - "metro-babylon7": { - "version": "0.30.2", - "resolved": "https://registry.npmjs.org/metro-babylon7/-/metro-babylon7-0.30.2.tgz", - "integrity": "sha512-ZI0h4/3raGnzA6fFXwLUMidGOG4jkDi9fgFkoI8I4Ack3TDMabmZATu9RD6DaSolu3lylhfPd8DeAAMeopX9CA==", + "metro-babel-register": { + "version": "0.45.6", + "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.45.6.tgz", + "integrity": "sha512-Io8JinYIzGcXiTaO7o0DGw8wFcAiITTb7mLh3lbuJd9PndbPOo+jhrHkTsNtXc9MRHiT4KbEheXJ/QoeLKJK/Q==", "requires": { - "babylon": "^7.0.0-beta" - }, - "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/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/register": "^7.0.0", + "core-js": "^2.2.2", + "escape-string-regexp": "^1.0.5" + } + }, + "metro-babel7-plugin-react-transform": { + "version": "0.49.2", + "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.49.2.tgz", + "integrity": "sha512-LpJT8UvqF/tvVqEwiLUTMjRPhEGdI8e2dr3424XaRANba3j0nqmrbKdJQsPE8TrcqMWR4RHmfsXk0ti5QrEvJg==", + "requires": { + "@babel/helper-module-imports": "^7.0.0" } }, "metro-cache": { - "version": "0.30.2", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.30.2.tgz", - "integrity": "sha512-XYd07OwgtZRHFXyip40wdNJ8abPJRziuE5bb3jjf8wvyHxCpzlZlvbe0ZhcR8ChBwFUjHMuVyoou52AC3a0f+g==", + "version": "0.45.6", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.45.6.tgz", + "integrity": "sha512-v7q2pLsI7oABEjpwPJwTd7ufwKvpctVOddcffI/2hRhuJC/seLlqkRt7kv+Q/WfaR9X4KLcEoIjZmgNy4cw1ag==", + "requires": { + "jest-serializer": "23.0.1", + "metro-core": "0.45.6", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4" + } + }, + "metro-config": { + "version": "0.45.6", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.45.6.tgz", + "integrity": "sha512-ZhVtkpXhOi+qWi7vdE3HGIhyyBT1wtIukQuxTMwLTUluv2/1DClo/uX9inmf++CmOhOpU7QpqrMzl6vf+AwnOg==", "requires": { - "jest-serializer": "^22.4.0", - "mkdirp": "^0.5.1" + "cosmiconfig": "^5.0.5", + "metro": "0.45.6", + "metro-cache": "0.45.6", + "metro-core": "0.45.6" } }, "metro-core": { - "version": "0.30.2", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.30.2.tgz", - "integrity": "sha512-2Y89PpD9sE/8QaHhYxaI21WFxkVmjbxdphiOPdsC9t7A3kQHMYOTQPYFon3bkYM7tL8k9YVBimXSv20JGglqUA==", + "version": "0.45.6", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.45.6.tgz", + "integrity": "sha512-M0YkGnkjStdCsSNYVW+aVlJ4WjwcqjIhQV+VzEnGZYdyo6cMi9MxUZ69iV2jIxd3LAeaQQaNe8OQtQp8dfIh/g==", "requires": { + "jest-haste-map": "23.5.0", "lodash.throttle": "^4.1.1", + "metro-resolver": "0.45.6", "wordwrap": "^1.0.0" } }, + "metro-memory-fs": { + "version": "0.45.6", + "resolved": "https://registry.npmjs.org/metro-memory-fs/-/metro-memory-fs-0.45.6.tgz", + "integrity": "sha512-YAGoNQVTM/vl65jR/ztucAZJIk0ejD3INZT0LiISRULBt6Rxfiqa22v5GG0Enq+95vlgmt26g+auHM2nxTUInQ==" + }, "metro-minify-uglify": { - "version": "0.30.2", - "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.30.2.tgz", - "integrity": "sha512-xwqMqYYKZEqJ66Wpf5OpyPJhApOQDb8rYiO94VInlDeHpN7eKGCVILclnx9AmVM3dStmebvXa5jrdgsbnJ1bSg==", + "version": "0.45.6", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.45.6.tgz", + "integrity": "sha512-l+lZ7Gg6CN9XddgmwAbo7zOLT2QB9a6VALXLzmvr6gB1mc6SBZwtAh+hARvdymtcr1CgbaWADZPAA+W3oQZH4g==", "requires": { "uglify-es": "^3.1.9" } }, + "metro-react-native-babel-preset": { + "version": "0.49.2", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.49.2.tgz", + "integrity": "sha512-N0+4ramShYCHSAVEPUNWIZuKZskWj8/RDSoinhadHpdpHORMbMxLkexSOVHLluB+XFQ+DENLEx5oVPYwOlENBA==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.0.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "metro-babel7-plugin-react-transform": "0.49.2", + "react-transform-hmr": "^1.0.4" + } + }, "metro-resolver": { - "version": "0.30.2", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.30.2.tgz", - "integrity": "sha512-bODCys/WYpqJ+KYbCIENZu1eqdQu3g/d2fXfhAROhutqojMqrT1eIGhzWpk3G1k/J6vlaf69uW6xrVuheg0ktg==", + "version": "0.45.6", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.45.6.tgz", + "integrity": "sha512-RY4tqKxSEz4ahLPaJlx30x6vG8HVyLT3w5aUDcyB5B2eQH3ckLnyUYUpd0sT7HFoJ1T5U5DFtWvS3P4yJcRB7A==", "requires": { "absolute-path": "^0.0.0" } }, "metro-source-map": { - "version": "0.30.2", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.30.2.tgz", - "integrity": "sha512-9tW3B1JOdXhyDJnR4wOPOsOlYWSL+xh6J+N5/DADGEK/X/+Up/lEHdEfpB+/+yGk1LHaRHcKCahtLPNl/to7Sg==", + "version": "0.45.6", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.45.6.tgz", + "integrity": "sha512-FBubSEEitGrvUeuCPVwXTJX7Y1WjFhsUHickqQE+mXplOgREyeZ7o80ffqEWitfsMUQN9385LxIPmAdPzQXLsQ==", "requires": { "source-map": "^0.5.6" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } } }, "micromatch": { @@ -7675,16 +6761,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==" + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" }, "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "requires": { - "mime-db": "~1.35.0" + "mime-db": "~1.37.0" } }, "mimic-fn": { @@ -7713,33 +6799,6 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, - "minipass": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.3.tgz", - "integrity": "sha512-/jAn9/tEX4gnpyRATxgHEOV6xbcyxgT7iUnxo9Y3+OB0zX00TgKIv/2FZCf5brBbICcwbLqVv2ImjvWWrQMSYw==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - }, - "dependencies": { - "yallist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", - "dev": true - } - } - }, - "minizlib": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", - "dev": true, - "requires": { - "minipass": "^2.2.1" - } - }, "mixin-deep": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", @@ -7761,7 +6820,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" @@ -7769,34 +6828,19 @@ "dependencies": { "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } }, - "mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", - "dev": true, - "requires": { - "mkdirp": "*" - } - }, - "moment": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=", - "dev": true - }, "morgan": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.0.tgz", - "integrity": "sha1-0B+mxlhZt2/PMbPLU6OCGjEdgFE=", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", "requires": { "basic-auth": "~2.0.0", "debug": "2.6.9", - "depd": "~1.1.1", + "depd": "~1.1.2", "on-finished": "~2.3.0", "on-headers": "~1.0.1" } @@ -7811,39 +6855,6 @@ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" }, - "mv": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", - "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=", - "dev": true, - "requires": { - "mkdirp": "~0.5.1", - "ncp": "~2.0.0", - "rimraf": "~2.4.0" - }, - "dependencies": { - "rimraf": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", - "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", - "dev": true, - "requires": { - "glob": "^6.0.1" - } - } - } - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, "nan": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", @@ -7908,28 +6919,15 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "ncp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", - "dev": true - }, "negotiator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, - "netmask": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", - "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=", - "dev": true - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "node-fetch": { "version": "1.7.3", @@ -7951,12 +6949,12 @@ "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==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.3.0.tgz", + "integrity": "sha512-AhENzCSGZnZJgBARsUjnQ7DnZbzyP+HxlVXuD0xqAnvL8q+OqtSX7lGg9e8nHzwXkMMXNdVeqq4E2M3EUAqX6Q==", "requires": { "growly": "^1.3.0", - "semver": "^5.4.1", + "semver": "^5.5.0", "shellwords": "^0.1.1", "which": "^1.3.0" } @@ -7995,7 +6993,7 @@ }, "npmlog": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", + "resolved": "http://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", "requires": { "ansi": "~0.3.1", @@ -8003,21 +7001,26 @@ "gauge": "~1.2.5" } }, + "nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, "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.8", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.8.tgz", - "integrity": "sha512-7RZ+qbFGiVc6v14Y8DSZjPN1wZPOaMbiiP4tzf5eNuyOITAeOIA3cMhjuKUypVIqBgCSg1KaSyAv8Ocq/0ZJ1A==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.9.tgz", + "integrity": "sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ==", "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=", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true }, "object-assign": { @@ -8074,18 +7077,6 @@ } } }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, "object.getownpropertydescriptors": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", @@ -8268,7 +7259,7 @@ "dependencies": { "minimist": { "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" }, "wordwrap": { @@ -8299,7 +7290,7 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { @@ -8312,15 +7303,6 @@ "mem": "^1.1.0" } }, - "os-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-2.0.1.tgz", - "integrity": "sha1-uaOGNhwXrjohc27wWZQFyajF3F4=", - "requires": { - "macos-release": "^1.0.0", - "win-release": "^1.0.0" - } - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -8352,55 +7334,6 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, - "pac-proxy-agent": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-2.0.2.tgz", - "integrity": "sha512-cDNAN1Ehjbf5EHkNY5qnRhGPUCp6SnpyVof5fRzN800QV1Y2OkzbH9rmjZkbBRa8igof903yOnjIl6z0SlAhxA==", - "dev": true, - "requires": { - "agent-base": "^4.2.0", - "debug": "^3.1.0", - "get-uri": "^2.0.0", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.1", - "pac-resolver": "^3.0.0", - "raw-body": "^2.2.0", - "socks-proxy-agent": "^3.0.0" - }, - "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" - } - } - } - }, - "pac-resolver": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", - "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", - "dev": true, - "requires": { - "co": "^4.6.0", - "degenerator": "^1.0.4", - "ip": "^1.1.5", - "netmask": "^1.0.6", - "thunkify": "^2.1.2" - } - }, - "param-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-1.1.2.tgz", - "integrity": "sha1-3LCRpDwlm5Io8cNB57akTqC/l0M=", - "dev": true, - "requires": { - "sentence-case": "^1.1.2" - } - }, "parse-glob": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", @@ -8420,6 +7353,11 @@ "error-ex": "^1.2.0" } }, + "parse-node-version": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.0.tgz", + "integrity": "sha512-02GTVHD1u0nWc20n2G7WX/PgdhNFG04j5fi1OkaJzPWLTcf6vh6229Lta1wTmXG/7Dg42tCssgkccVt7qvd8Kg==" + }, "parse5": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", @@ -8431,30 +7369,11 @@ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" }, - "pascal-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-1.1.2.tgz", - "integrity": "sha1-Pl1kogBDgwp8STRMLXS0G+DJyZs=", - "dev": true, - "requires": { - "camel-case": "^1.1.1", - "upper-case-first": "^1.1.0" - } - }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, - "path-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/path-case/-/path-case-1.1.2.tgz", - "integrity": "sha1-UM5roNO+090LXCqcRVNpdDRAlRQ=", - "dev": true, - "requires": { - "sentence-case": "^1.1.2" - } - }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", @@ -8480,30 +7399,17 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, "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.0.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", + "resolved": "http://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz", "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=" }, "performance-now": { @@ -8513,9 +7419,9 @@ "dev": true }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" }, "pinkie": { "version": "2.0.4", @@ -8546,23 +7452,12 @@ "find-up": "^2.1.0" } }, - "plist": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz", - "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=", - "dev": true, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", "requires": { - "base64-js": "1.2.0", - "xmlbuilder": "8.2.2", - "xmldom": "0.1.x" - }, - "dependencies": { - "base64-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", - "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=", - "dev": true - } + "find-up": "^2.1.0" } }, "plugin-error": { @@ -8599,12 +7494,6 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", @@ -8624,20 +7513,6 @@ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, - "probe-image-size": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-3.2.0.tgz", - "integrity": "sha512-LE7mIvfDoEeOgIH9TbMNv5txJh+K0/UVandiXHk+Hm4VKqNV5qxoeDzdW3QiMIlqXsIEm3K+SzeAedT6fZKjtQ==", - "dev": true, - "requires": { - "any-promise": "^1.3.0", - "deepmerge": "^1.3.0", - "got": "^6.7.1", - "inherits": "^2.0.3", - "next-tick": "^1.0.0", - "stream-parser": "~0.3.1" - } - }, "process": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", @@ -8648,12 +7523,6 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, - "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", - "dev": true - }, "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", @@ -8662,6 +7531,16 @@ "asap": "~2.0.3" } }, + "prompts": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-0.1.14.tgz", + "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", + "dev": true, + "requires": { + "kleur": "^2.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", @@ -8671,70 +7550,27 @@ "object-assign": "^4.1.1" } }, - "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", - "dev": true, - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" - } - }, - "proxy-agent": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.3.1.tgz", - "integrity": "sha512-CNKuhC1jVtm8KJYFTS2ZRO71VCBx3QSA92So/e6NrY6GoJonkx3Irnk4047EsCcswczwqAekRj3s8qLRGahSKg==", - "dev": true, - "requires": { - "agent-base": "^4.2.0", - "debug": "^3.1.0", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.1", - "lru-cache": "^4.1.2", - "pac-proxy-agent": "^2.0.1", - "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^3.0.0" - }, - "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" - } - } - } - }, - "proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", - "dev": true - }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "psl": { + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", "dev": true }, - "qrcode-terminal": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz", - "integrity": "sha1-/8bCii/Av7RwUrR+I/T0RqX7254=", + "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==" + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.6.0.tgz", + "integrity": "sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA==" }, "query-string": { "version": "6.2.0", @@ -8745,16 +7581,10 @@ "strict-uri-encode": "^2.0.0" } }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, "randomatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", - "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "requires": { "is-number": "^4.0.0", "kind-of": "^6.0.0", @@ -8778,157 +7608,53 @@ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" }, - "raven": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/raven/-/raven-2.6.3.tgz", - "integrity": "sha512-bKre7qlDW+y1+G2bUtCuntdDYc8o5v1T233t0vmJfbj8ttGOgLrGRlYB8saelVMW9KUAJNLrhFkAKOwFWFJonw==", - "dev": true, - "requires": { - "cookie": "0.3.1", - "md5": "^2.2.1", - "stack-trace": "0.0.10", - "timed-out": "4.0.1", - "uuid": "3.0.0" - }, - "dependencies": { - "uuid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz", - "integrity": "sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg=", - "dev": true - } - } - }, - "raven-js": { - "version": "3.26.4", - "resolved": "https://registry.npmjs.org/raven-js/-/raven-js-3.26.4.tgz", - "integrity": "sha512-5VmC3IWhTQJkaiQaCY0S5V8za4bpUgbbuVT1MkDH7JVqgu8CPQ750XaFF8BVRbLV9F5nvoz7n0UT0CKteDuZAg==", - "dev": true - }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", - "dev": true, - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - } - }, "react": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.3.1.tgz", - "integrity": "sha512-NbkxN9jsZ6+G+ICsLdC7/wUD26uNbvKU/RAxEWgc9kcdKvROt+5d5j2cNQm5PSFTQ4WNGsR3pa4qL2Q0/WSy1w==", + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.5.0.tgz", + "integrity": "sha512-nw/yB/L51kA9PsAy17T1JrzzGRk+BlFCJwFF7p+pwVxgqwPjYNeZEkkH7LXn9dmflolrYMXLWMTkQ77suKPTNQ==", "requires": { - "fbjs": "^0.8.16", "loose-envify": "^1.1.0", "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "prop-types": "^15.6.2", + "schedule": "^0.3.0" } }, "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=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-clone-referenced-element/-/react-clone-referenced-element-1.1.0.tgz", + "integrity": "sha512-FKOsfKbBkPxYE8576EM6uAfHC4rnMpLyH6/TJUL4WcHUEB3EUn8AxPjnnV/IiwSSzsClvHYK+sDELKN/EJ0WYg==" }, "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=" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-1.1.2.tgz", + "integrity": "sha512-WUSQJ4P/wWcusaH+zZmbECOk7H5N2pOIl0vzheeornkIMhu+qrNdGFm0bDZLCb0hSF0jf/kH1SgkNGfBdTc4wA==" }, "react-devtools-core": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.1.0.tgz", - "integrity": "sha512-fO6SmpW16E9u6Lb6zQOHrjhJXGBNz+cJ0/a9cSF55nXfL0sQLlvYJR8DpU7f4rMUrVnVineg4XQyYYBZicmhJg==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.3.4.tgz", + "integrity": "sha512-6lsBDRInT9jU8Ya8bnKWJSsnaGg/xk1ZSfvhc/dHc3n2CUTMfGlqm2tGeZQ9WEoe0Y2K7Lg90Kvb1E8anLePaQ==", "requires": { "shell-quote": "^1.6.1", - "ws": "^2.0.3" + "ws": "^3.3.1" }, "dependencies": { - "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=" - }, "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": "2.3.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz", - "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "requires": { - "safe-buffer": "~5.0.1", + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", "ultron": "~1.1.0" } } } }, - "react-display-name": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/react-display-name/-/react-display-name-0.2.0.tgz", - "integrity": "sha1-Dh9whuRaMtB3ZN817TL/FvEll5A=" - }, - "react-google-maps": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/react-google-maps/-/react-google-maps-7.3.0.tgz", - "integrity": "sha512-pY2ZQAPoj+0QdipkuF51wpFMpu6VHF5q7P+89d/AzscHn+lqy1M+WzbelG6qMiCQ7/SXRFxO8AkoqERqeAycBw==", - "requires": { - "babel-runtime": "6.11.6", - "can-use-dom": "0.1.0", - "create-react-class": "15.5.3", - "google-maps-infobox": "1.1.13", - "invariant": "2.2.1", - "lodash": "4.16.2", - "marker-clusterer-plus": "2.1.4", - "prop-types": "15.5.8", - "react-display-name": "0.2.0", - "react-prop-types-element-of-type": "2.2.0", - "scriptjs": "2.5.8", - "warning": "3.0.0" - }, - "dependencies": { - "babel-runtime": { - "version": "6.11.6", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.11.6.tgz", - "integrity": "sha1-bbcH/vLUnEm/o8tk79tDa1GLgiI=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.9.5" - } - }, - "invariant": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", - "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "lodash": { - "version": "4.16.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.2.tgz", - "integrity": "sha1-PmJtuCcEimmSgaihJSJjJs/A5lI=" - }, - "prop-types": { - "version": "15.5.8", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.8.tgz", - "integrity": "sha1-a3suFBCDvjjIWVqlH8VXdccZk5Q=", - "requires": { - "fbjs": "^0.8.9" - } - }, - "regenerator-runtime": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz", - "integrity": "sha1-0z65XQ0gAaS+OWWXB8UbDLcc4Ck=" - } - } - }, "react-is": { "version": "16.4.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.4.2.tgz", @@ -8940,21 +7666,11 @@ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "react-native": { - "version": "0.55.4", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.55.4.tgz", - "integrity": "sha512-J6U2KeuFIfH0I6kbwymQWe7Yw7AVzPq22tq6z5VmvcYQiKbqKkvjJukgHqR6keRreHjohEaWP5Gi007IGFJdyQ==", + "version": "https://github.com/expo/react-native/archive/sdk-31.0.0.tar.gz", + "integrity": "sha512-j3R84bBxoPOpdq9LDn+9WGzTeXGKL/9od/Gv+wvcp4dQdCvXDQibjnBokeo95y9OJNY6WxT867JJkTWY7nkk4Q==", "requires": { "absolute-path": "^0.0.0", "art": "^0.10.0", - "babel-core": "^6.24.1", - "babel-plugin-syntax-trailing-function-commas": "^6.20.0", - "babel-plugin-transform-async-to-generator": "6.16.0", - "babel-plugin-transform-class-properties": "^6.18.0", - "babel-plugin-transform-exponentiation-operator": "^6.5.0", - "babel-plugin-transform-flow-strip-types": "^6.21.0", - "babel-plugin-transform-object-rest-spread": "^6.20.2", - "babel-register": "^6.24.1", - "babel-runtime": "^6.23.0", "base64-js": "^1.1.2", "chalk": "^1.1.1", "commander": "^2.9.0", @@ -8963,34 +7679,36 @@ "create-react-class": "^15.6.3", "debug": "^2.2.0", "denodeify": "^1.2.1", - "envinfo": "^3.0.0", + "envinfo": "^5.7.0", "errorhandler": "^1.5.0", - "eslint-plugin-react-native": "^3.2.1", + "escape-string-regexp": "^1.0.5", "event-target-shim": "^1.0.5", - "fbjs": "^0.8.14", + "fbjs": "0.8.17", "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.30.0", - "metro-core": "^0.30.0", + "metro": "^0.45.6", + "metro-babel-register": "^0.45.6", + "metro-core": "^0.45.6", + "metro-memory-fs": "^0.45.6", "mime": "^1.3.4", "minimist": "^1.2.0", "mkdirp": "^0.5.1", "morgan": "^1.9.0", - "node-fetch": "^1.3.3", + "node-fetch": "^2.2.0", "node-notifier": "^5.2.1", "npmlog": "^2.0.4", "opn": "^3.0.2", "optimist": "^0.6.1", - "plist": "^1.2.0", + "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.1.0", + "react-devtools-core": "3.3.4", "react-timer-mixin": "^0.13.2", "regenerator-runtime": "^0.11.0", "rimraf": "^2.5.4", @@ -8998,7 +7716,6 @@ "serve-static": "^1.13.1", "shell-quote": "1.6.1", "stacktrace-parser": "^0.1.3", - "whatwg-fetch": "^1.0.0", "ws": "^1.1.0", "xcode": "^0.9.1", "xmldoc": "^0.4.0", @@ -9017,7 +7734,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { "ansi-styles": "^2.2.1", @@ -9027,19 +7744,9 @@ "supports-color": "^2.0.0" } }, - "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.9", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - }, "fs-extra": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "requires": { "graceful-fs": "^4.1.2", @@ -9048,9 +7755,9 @@ } }, "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -9062,46 +7769,43 @@ }, "jsonfile": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { "graceful-fs": "^4.1.6" } }, + "node-fetch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", + "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" + }, "opn": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", + "resolved": "http://registry.npmjs.org/opn/-/opn-3.0.3.tgz", "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=", "requires": { "object-assign": "^4.0.1" } }, "plist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/plist/-/plist-1.2.0.tgz", - "integrity": "sha1-CEtQk93JJQbiWfh0uNmxr7jHlZM=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", + "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", "requires": { - "base64-js": "0.0.8", - "util-deprecate": "1.0.2", - "xmlbuilder": "4.0.0", + "base64-js": "^1.2.3", + "xmlbuilder": "^9.0.7", "xmldom": "0.1.x" - }, - "dependencies": { - "base64-js": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", - "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=" - } } }, "pretty-format": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-4.3.1.tgz", + "resolved": "http://registry.npmjs.org/pretty-format/-/pretty-format-4.3.1.tgz", "integrity": "sha1-UwvlxCs8BbNkFKeipDN6qArNDo0=" }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -9112,26 +7816,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, - "whatwg-fetch": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-1.1.1.tgz", - "integrity": "sha1-rDydOfMgxtzlM5lp0FTvQ90zMxk=" - }, - "xmlbuilder": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz", - "integrity": "sha1-mLj2UcowqmJANvEn0RzGbce5B6M=", - "requires": { - "lodash": "^3.5.0" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" - } - } - }, "yargs": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", @@ -9155,9 +7839,9 @@ } }, "react-native-branch": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/react-native-branch/-/react-native-branch-2.0.0-beta.3.tgz", - "integrity": "sha1-IWevhrvJ+WS9Rb1fN2hOW1SWXjI=" + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/react-native-branch/-/react-native-branch-2.2.5.tgz", + "integrity": "sha1-QHTdY7SXPmOX2c5Q6XtXx3pRjp0=" }, "react-native-dotenv": { "version": "0.2.0", @@ -9180,9 +7864,9 @@ } }, "react-native-gesture-handler": { - "version": "1.0.0-alpha.41", - "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.0-alpha.41.tgz", - "integrity": "sha512-ImWXxs0c4d1i0BiKJJ28G+/cXeu98qgHlU50OJJ4+alYBrq4taKmmYPSH7GzUK0vJD/4/2xcT08ysby6IsMmtg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.9.tgz", + "integrity": "sha512-TPaiS8cAGqQA9p1GwjDbgMyNVCO/7cWC05h1rWIX2ZLoB1oSxGEBi5Es211HpBUmsTAzrUGH7M+ASGkAQeYH/A==", "requires": { "hoist-non-react-statics": "^2.3.1", "invariant": "^2.2.2", @@ -9190,59 +7874,8 @@ } }, "react-native-maps": { - "version": "0.21.0", - "resolved": "http://registry.npmjs.org/react-native-maps/-/react-native-maps-0.21.0.tgz", - "integrity": "sha512-FkCCV1AyaT5ut5ZTKNIdFWBxRUXZovGTydy7U4Cyifj2dv0Q3Sv21B0Myj+aoGhJhvBJzxsU25dDGQN3TP7b/Q==", - "requires": { - "babel-plugin-module-resolver": "^2.3.0", - "babel-preset-react-native": "1.9.0" - }, - "dependencies": { - "babel-plugin-react-transform": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz", - "integrity": "sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=", - "requires": { - "lodash": "^4.6.1" - } - }, - "babel-preset-react-native": { - "version": "1.9.0", - "resolved": "http://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-1.9.0.tgz", - "integrity": "sha1-A1/AbGX08qAtAzahALLaFC822rE=", - "requires": { - "babel-plugin-check-es2015-constants": "^6.5.0", - "babel-plugin-react-transform": "2.0.2", - "babel-plugin-syntax-async-functions": "^6.5.0", - "babel-plugin-syntax-class-properties": "^6.5.0", - "babel-plugin-syntax-flow": "^6.5.0", - "babel-plugin-syntax-jsx": "^6.5.0", - "babel-plugin-syntax-trailing-function-commas": "^6.5.0", - "babel-plugin-transform-class-properties": "^6.5.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.5.0", - "babel-plugin-transform-es2015-block-scoping": "^6.5.0", - "babel-plugin-transform-es2015-classes": "^6.5.0", - "babel-plugin-transform-es2015-computed-properties": "^6.5.0", - "babel-plugin-transform-es2015-destructuring": "^6.5.0", - "babel-plugin-transform-es2015-for-of": "^6.5.0", - "babel-plugin-transform-es2015-function-name": "^6.5.0", - "babel-plugin-transform-es2015-literals": "^6.5.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.5.0", - "babel-plugin-transform-es2015-parameters": "^6.5.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.5.0", - "babel-plugin-transform-es2015-spread": "^6.5.0", - "babel-plugin-transform-es2015-template-literals": "^6.5.0", - "babel-plugin-transform-flow-strip-types": "^6.5.0", - "babel-plugin-transform-object-assign": "^6.5.0", - "babel-plugin-transform-object-rest-spread": "^6.5.0", - "babel-plugin-transform-react-display-name": "^6.5.0", - "babel-plugin-transform-react-jsx": "^6.5.0", - "babel-plugin-transform-react-jsx-source": "^6.5.0", - "babel-plugin-transform-regenerator": "^6.5.0", - "react-transform-hmr": "^1.0.4" - } - } - } + "version": "github:expo/react-native-maps#e6f98ff7272e5d0a7fe974a41f28593af2d77bb2", + "from": "github:expo/react-native-maps#v0.22.1-exp.0" }, "react-native-paper": { "version": "2.3.0", @@ -9266,6 +7899,11 @@ } } }, + "react-native-reanimated": { + "version": "1.0.0-alpha.10", + "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.0.0-alpha.10.tgz", + "integrity": "sha512-dbZG/Lh5Q+6zRvS7+gIkZKmXTG7XVqHbpMROL1LApBBMQwuLq/uLtKk/nBSn1+mNmazPrPMTehI7TG3AEkctww==" + }, "react-native-safe-area-view": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.11.0.tgz", @@ -9287,35 +7925,14 @@ "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-1.0.0-alpha.17.tgz", "integrity": "sha512-BvLtqbMpteXsY3XofCCX0c2LM6X14PhjN5FZraROEXuEnw8n8ImDTuXxUPDYZqq2Wjb1bLlm1zE5+c6dcGlY+Q==" }, - "react-native-scripts": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/react-native-scripts/-/react-native-scripts-1.14.0.tgz", - "integrity": "sha512-zDYfcabCfAghBpPSMLwqQSVrMJwW5pNt5JFI5GhwxIzGAs2DW13qaxk7BhgDKvLowCGaCsRNmu0So6Fof9ac9w==", - "dev": true, - "requires": { - "@expo/bunyan": "1.8.10", - "babel-runtime": "^6.9.2", - "chalk": "^2.0.1", - "cross-spawn": "^5.0.1", - "fs-extra": "^3.0.1", - "indent-string": "^3.0.0", - "inquirer": "^3.0.1", - "lodash": "^4.17.4", - "match-require": "^2.0.0", - "minimist": "^1.2.0", - "path-exists": "^3.0.0", - "progress": "^2.0.0", - "qrcode-terminal": "^0.11.0", - "rimraf": "^2.6.1", - "xdl": "48.1.4" - } - }, - "react-native-svg-web": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-native-svg-web/-/react-native-svg-web-1.0.1.tgz", - "integrity": "sha1-FuF4QHe25bbH69nDgp5mhCEcupk=", + "react-native-svg": { + "version": "8.0.8", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-8.0.8.tgz", + "integrity": "sha512-a5q7896HJztH3XBa4MouuBcwhOvDsJXRZB/PPvEMvc4NhudIDXDUKpwd9V7Hm6beDjg5CjFIdE/c92jnVo+0CA==", "requires": { - "prop-types": "^15.5.10" + "color": "^2.0.1", + "lodash": "^4.16.6", + "pegjs": "^0.10.0" } }, "react-native-tab-view": { @@ -9327,22 +7944,19 @@ } }, "react-native-vector-icons": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-4.5.0.tgz", - "integrity": "sha512-A2HdvmYxAohZ3w8FgdMi5kl3pUEXOz9sR3zsfpejIdispqAh6NRAHCqsI6DMRcymNgwWzmqLowPqp9eg5zqWLA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.0.0.tgz", + "integrity": "sha512-uF3oWb3TV42uXi2apVOZHw9oy9Nr5SXDVwOo1umQWo/yYCrDzXyVfq14DzezgEbJ9jfc/yghBelj0agkXmOKlg==", "requires": { "lodash": "^4.0.0", - "prop-types": "^15.5.10", + "prop-types": "^15.6.2", "yargs": "^8.0.2" } }, - "react-native-web-maps": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/react-native-web-maps/-/react-native-web-maps-0.1.0.tgz", - "integrity": "sha1-perR4AE3bfKj46++SfBXxDVvQxU=", - "requires": { - "react-google-maps": "^7.3.0" - } + "react-native-view-shot": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/react-native-view-shot/-/react-native-view-shot-2.5.0.tgz", + "integrity": "sha512-xFJA+N7wh8Ik/17I4QB24e0a0L3atg1ScVehvtYR5UBTgHdzTFA0ZylvXp9gkZt7V+AT5Pni0H3NQItpqSKFoQ==" }, "react-navigation": { "version": "3.0.8", @@ -9403,11 +8017,6 @@ "react-native-tab-view": "^1.0.0" } }, - "react-prop-types-element-of-type": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/react-prop-types-element-of-type/-/react-prop-types-element-of-type-2.2.0.tgz", - "integrity": "sha1-vMMy05A8IlnPaMKKgcSmY/q6Waw=" - }, "react-proxy": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", @@ -9417,20 +8026,6 @@ "react-deep-force-update": "^1.0.0" } }, - "react-redux": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz", - "integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==", - "dev": true, - "requires": { - "hoist-non-react-statics": "^2.5.0", - "invariant": "^2.0.0", - "lodash": "^4.17.5", - "lodash-es": "^4.17.5", - "loose-envify": "^1.1.0", - "prop-types": "^15.6.0" - } - }, "react-test-renderer": { "version": "16.3.1", "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.3.1.tgz", @@ -9457,16 +8052,6 @@ "react-proxy": "^1.1.7" } }, - "read-chunk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-2.1.0.tgz", - "integrity": "sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU=", - "dev": true, - "requires": { - "pify": "^3.0.0", - "safe-buffer": "^5.1.1" - } - }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -9780,60 +8365,37 @@ } }, "realpath-native": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.1.tgz", - "integrity": "sha512-W14EcXuqUvKP8dkWkD7B95iMy77lpMnlFXbbk409bQtNCbeu0kvRE5reo+yIZ3JXxg6frbGsz2DLQ39lrCB40g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.2.tgz", + "integrity": "sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g==", "dev": true, "requires": { "util.promisify": "^1.0.0" } }, - "redux": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", - "dev": true, - "requires": { - "lodash": "^4.2.1", - "lodash-es": "^4.2.1", - "loose-envify": "^1.1.0", - "symbol-observable": "^1.0.3" - }, - "dependencies": { - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - } - } - }, - "redux-logger": { - "version": "2.10.2", - "resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-2.10.2.tgz", - "integrity": "sha1-PFpfCm8yV3wd6t9mVfJX+CxsOTc=", - "dev": true, - "requires": { - "deep-diff": "0.3.4" - } - }, "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.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", + "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", "private": "^0.1.6" } }, @@ -9874,31 +8436,34 @@ } }, "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", + "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" } }, "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==" }, "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", "requires": { "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } @@ -9908,12 +8473,6 @@ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, - "remove-trailing-slash": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.0.tgz", - "integrity": "sha1-FJjl3wmEwn5Jt26/Boh8otARUNI=", - "dev": true - }, "repeat-element": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", @@ -9932,47 +8491,56 @@ "is-finite": "^1.0.0" } }, - "replace-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/replace-string/-/replace-string-1.1.0.tgz", - "integrity": "sha1-hwYhF/gj/lgAwwa6yyz6NZuTX+o=", - "dev": true - }, "request": { - "version": "2.87.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", - "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", + "aws4": "^1.8.0", "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", "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", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" - } - }, - "request-progress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", - "integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=", - "dev": true, - "requires": { - "throttleit": "^1.0.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 + }, + "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 + }, + "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.24", + "punycode": "^1.4.1" + } + } } }, "request-promise-core": { @@ -10005,12 +8573,17 @@ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, + "reselect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", + "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=" + }, "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.9.0.tgz", + "integrity": "sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ==", "requires": { - "path-parse": "^1.0.5" + "path-parse": "^1.0.6" } }, "resolve-cwd": { @@ -10025,27 +8598,13 @@ "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, - "rest-facade": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/rest-facade/-/rest-facade-1.10.1.tgz", - "integrity": "sha512-MYHUAxNQYkD/ejvQX1CY8pvPseKX5G4dWDRNv1OFNBxn4b063rvDyqpWkjdtP8QouhtAcf91HIUrBdPq08puiA==", - "dev": true, - "requires": { - "bluebird": "^2.10.2", - "change-case": "^2.3.0", - "deepmerge": "^1.5.1", - "superagent": "^3.8.0", - "superagent-proxy": "^1.0.2" - } - }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", @@ -10060,22 +8619,6 @@ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, - "retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", - "dev": true - }, - "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.1" - } - }, "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", @@ -10085,9 +8628,9 @@ }, "dependencies": { "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -10130,27 +8673,11 @@ "rx-lite": "*" } }, - "rxjs": { - "version": "5.5.11", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", - "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", - "dev": true, - "requires": { - "symbol-observable": "1.0.1" - } - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "safe-json-stringify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", - "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", - "dev": true, - "optional": true - }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", @@ -10249,7 +8776,7 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { "kind-of": "^3.0.2" @@ -10267,7 +8794,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { "kind-of": "^3.0.2" @@ -10451,18 +8978,31 @@ }, "sax": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.6.tgz", + "resolved": "http://registry.npmjs.org/sax/-/sax-1.1.6.tgz", "integrity": "sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA=" }, - "scriptjs": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/scriptjs/-/scriptjs-2.5.8.tgz", - "integrity": "sha1-0MQ5VcLmutM7bk7fe1O4llqnyl8=" + "schedule": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schedule/-/schedule-0.3.0.tgz", + "integrity": "sha512-20+1KVo517sR7Nt+bYBN8a+bEJDKLPEx7Ohtts1kX05E4/HY53YUNuhfkVNItmWAnBYHcpG9vsd2/CJxG+aPCQ==", + "requires": { + "object-assign": "^4.1.1" + } + }, + "scheduler": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.12.0.tgz", + "integrity": "sha512-t7MBR28Akcp4Jm+QoR63XgAi9YgCUmgvDHqf5otgAj4QvdoBE4ImCX0ffehefePPG+aitiYHp0g/mW6s4Tp+dw==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } }, "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" }, "send": { "version": "0.16.2", @@ -10496,18 +9036,9 @@ } } }, - "sentence-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz", - "integrity": "sha1-gDSq/CFFdy06vhUJqkLJ4QQtwTk=", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, "serialize-error": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "resolved": "http://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" }, "serve-static": { @@ -10593,7 +9124,7 @@ }, "simple-plist": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.2.1.tgz", + "resolved": "http://registry.npmjs.org/simple-plist/-/simple-plist-0.2.1.tgz", "integrity": "sha1-cXZts1IyaSjPOoByQrp2IyJjZyM=", "requires": { "bplist-creator": "0.0.7", @@ -10615,6 +9146,11 @@ "xmlbuilder": "8.2.2", "xmldom": "0.1.x" } + }, + "xmlbuilder": { + "version": "8.2.2", + "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", + "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=" } } }, @@ -10633,6 +9169,12 @@ } } }, + "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", @@ -10643,44 +9185,6 @@ "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" }, - "slugid": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/slugid/-/slugid-1.1.0.tgz", - "integrity": "sha1-4J8AiZwJ9acFjtw23UnwRv1QqCo=", - "dev": true, - "requires": { - "uuid": "^2.0.1" - }, - "dependencies": { - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true - } - } - }, - "slugify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.3.1.tgz", - "integrity": "sha512-6BwyhjF5tG5P8s+0DPNyJmBSBePG6iMyhjvIW5zGdA3tFik9PtK+yNkZgTeiroCRGZYgkHftFA62tGVK1EI9Kw==", - "dev": true - }, - "smart-buffer": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", - "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=", - "dev": true - }, - "snake-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-1.1.2.tgz", - "integrity": "sha1-DC8l4wUVjZoY09l3BmGH/vilpmo=", - "dev": true, - "requires": { - "sentence-case": "^1.1.2" - } - }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -10793,30 +9297,10 @@ } } }, - "socks": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", - "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=", - "dev": true, - "requires": { - "ip": "^1.1.4", - "smart-buffer": "^1.0.13" - } - }, - "socks-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz", - "integrity": "sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==", - "dev": true, - "requires": { - "agent-base": "^4.1.0", - "socks": "^1.1.10" - } - }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "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", @@ -10836,13 +9320,6 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "requires": { "source-map": "^0.5.6" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } } }, "source-map-url": { @@ -10851,18 +9328,18 @@ "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==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", "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==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" }, "spdx-expression-parse": { "version": "3.0.0", @@ -10874,18 +9351,9 @@ } }, "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": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "requires": { - "through": "2" - } + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", + "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==" }, "split-string": { "version": "3.1.0", @@ -10917,13 +9385,12 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", - "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", + "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", "dev": true, "requires": { "asn1": "~0.2.3", @@ -10937,16 +9404,10 @@ "tweetnacl": "~0.14.0" } }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "dev": true - }, "stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", "dev": true }, "stacktrace-parser": { @@ -10974,9 +9435,9 @@ } }, "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" }, "stealthy-require": { "version": "1.1.1", @@ -10989,15 +9450,6 @@ "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=" }, - "stream-parser": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", - "integrity": "sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=", - "dev": true, - "requires": { - "debug": "2" - } - }, "strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", @@ -11048,431 +9500,62 @@ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, - "superagent": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", - "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", - "dev": true, - "requires": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" - }, - "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" - } - } - } - }, - "superagent-proxy": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/superagent-proxy/-/superagent-proxy-1.0.3.tgz", - "integrity": "sha512-79Ujg1lRL2ICfuHUdX+H2MjIw73kB7bXsIkxLwHURz3j0XUmEEEoJ+u/wq+mKwna21Uejsm2cGR3OESA00TIjA==", - "dev": true, - "requires": { - "debug": "^3.1.0", - "proxy-agent": "2" - }, - "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" - } - } - } - }, - "superagent-retry": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/superagent-retry/-/superagent-retry-0.6.0.tgz", - "integrity": "sha1-5Js1ypbA47HQ4/SWBRNt8OCgKLc=", - "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==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { "has-flag": "^3.0.0" } }, - "swap-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", - "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=", - "dev": true, - "requires": { - "lower-case": "^1.1.1", - "upper-case": "^1.1.1" - } - }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true - }, "symbol-tree": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", "dev": true }, - "tar": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.6.tgz", - "integrity": "sha512-tMkTnh9EdzxyfW+6GK6fCahagXsnYk6kE6S9Gr9pjVdys769+laCTbodXDhPAjzVtEBazRgP0gYqOjnk9dQzLg==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "yallist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", - "dev": true - } - } - }, "temp": { "version": "0.8.3", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "resolved": "http://registry.npmjs.org/temp/-/temp-0.8.3.tgz", "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", "requires": { "os-tmpdir": "^1.0.0", "rimraf": "~2.2.6" }, - "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.8", - "object-assign": "^4.1.0", - "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.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.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.0" - } - } - } - }, - "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.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" - }, - "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.0" - } - }, - "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.0" - } - }, - "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.0.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.5" - } - } - } - }, - "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.0.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.5" - } - } - } - }, - "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.0.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.0", - "snapdragon": "^0.8.1", - "to-regex": "^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=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "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.0" - } - } - } - }, - "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.0" - }, - "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.0" - } - } - } - }, - "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.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "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.0" - } - }, - "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.0" - } - }, - "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=", + "dependencies": { + "rimraf": { + "version": "2.2.8", + "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=" + } + } + }, + "test-exclude": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", + "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" + }, + "dependencies": { + "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": { - "kind-of": "^3.0.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.5" - } - } + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, - "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", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -11483,27 +9566,6 @@ "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.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" - } - }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", @@ -11524,12 +9586,6 @@ "pinkie-promise": "^2.0.0" } }, - "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", @@ -11562,81 +9618,35 @@ } } }, - "thenify": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", - "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", - "dev": true, - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "dev": true, - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, "throat": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=" }, - "throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", - "dev": true - }, "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=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "requires": { - "readable-stream": "^2.1.5", + "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, - "thunkify": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", - "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=", - "dev": true - }, "time-stamp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true - }, "tiny-queue": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tiny-queue/-/tiny-queue-0.2.1.tgz", "integrity": "sha1-JaZ/LG4lOyypQZd7XvdELvl6YEY=" }, - "title-case": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/title-case/-/title-case-1.1.2.tgz", - "integrity": "sha1-+uSmrlRr+iLQg6DuqRCkDRLtT1o=", - "dev": true, - "requires": { - "sentence-case": "^1.1.1", - "upper-case": "^1.0.3" - } - }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -11651,9 +9661,9 @@ "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=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, "to-object-path": { "version": "0.3.0", @@ -11730,22 +9740,14 @@ } } }, - "topo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz", - "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, "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==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "punycode": "^1.4.1" + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, "tr46": { @@ -11755,22 +9757,8 @@ "dev": true, "requires": { "punycode": "^2.1.0" - }, - "dependencies": { - "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 - } } }, - "tree-kill": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz", - "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==", - "dev": true - }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", @@ -11789,8 +9777,7 @@ "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 + "dev": true }, "type-check": { "version": "0.3.2", @@ -11801,16 +9788,6 @@ "prelude-ls": "~1.1.2" } }, - "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.18" - } - }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -11834,21 +9811,43 @@ "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", @@ -11937,70 +9936,30 @@ } } }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", - "dev": true - }, "upath": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "upper-case-first": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", - "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=", + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "upper-case": "^1.1.1" + "punycode": "^2.1.0" } }, + "uri-parser": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uri-parser/-/uri-parser-1.0.1.tgz", + "integrity": "sha512-TRjjM2M83RD9jIIYttNj7ghUQTKSov+WXZbQIMM8DxY1R1QdJEGWNKKMYCxyeOw1p9re2nQ85usM6dPTVtox1g==" + }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-join": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz", - "integrity": "sha1-dBxsL0WWxIMNZxhGCSDQySIC3Hg=", - "dev": true - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "^1.0.1" - } - }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -12062,12 +10021,6 @@ "extsprintf": "^1.2.0" } }, - "very-fast-args": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/very-fast-args/-/very-fast-args-1.1.0.tgz", - "integrity": "sha1-4W0dH6+KbllqJGQh/ZCneWPQs5Y=", - "dev": true - }, "w3c-hr-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", @@ -12085,14 +10038,6 @@ "makeerror": "1.0.x" } }, - "warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", - "requires": { - "loose-envify": "^1.0.0" - } - }, "watch": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", @@ -12109,19 +10054,22 @@ "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==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "dev": true, "requires": { - "iconv-lite": "0.4.19" + "iconv-lite": "0.4.24" }, "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 + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } } } }, @@ -12131,9 +10079,9 @@ "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==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", "dev": true }, "whatwg-url": { @@ -12160,27 +10108,6 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, - "win-release": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz", - "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", - "requires": { - "semver": "^5.0.1" - } - }, - "winchan": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/winchan/-/winchan-0.2.0.tgz", - "integrity": "sha1-OGMCjn+XSw2hQS8oQXukJJcqvZQ=", - "dev": true - }, - "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", @@ -12264,158 +10191,11 @@ "dependencies": { "uuid": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", + "resolved": "http://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=" } } }, - "xdl": { - "version": "48.1.4", - "resolved": "https://registry.npmjs.org/xdl/-/xdl-48.1.4.tgz", - "integrity": "sha512-FLt4msv7Edm7q+0Vbg76nKZDRHZ9Gc68Lp9u/uvur4jyL4TJTmpEDIqBCnCwmNs9G4UwpZQb2TCgEGjE4xSorg==", - "dev": true, - "requires": { - "@expo/bunyan": "^1.8.10", - "@expo/json-file": "^5.3.0", - "@expo/ngrok": "2.4.2", - "@expo/osascript": "^1.8.0", - "@expo/schemer": "1.1.0", - "@expo/spawn-async": "^1.2.8", - "analytics-node": "^2.1.0", - "auth0": "2.9.1", - "auth0-js": "9.3.3", - "axios": "0.16.2", - "body-parser": "^1.15.2", - "chalk": "^2.3.0", - "concat-stream": "^1.6.0", - "decache": "^4.1.0", - "delay-async": "^1.0.0", - "es6-error": "^4.0.2", - "exists-async": "^2.0.0", - "express": "^4.13.4", - "file-type": "^4.0.0", - "follow-redirects": "^1.2.3", - "form-data": "^2.1.4", - "freeport-async": "^1.1.1", - "fs-extra": "^4.0.2", - "getenv": "^0.7.0", - "glob": "^7.0.3", - "glob-promise": "^3.3.0", - "globby": "^6.1.0", - "hasbin": "^1.2.3", - "home-dir": "^1.0.0", - "idx": "^2.1.0", - "indent-string": "^3.1.0", - "inquirer": "^5.0.1", - "joi": "^10.0.2", - "jsonfile": "^2.3.1", - "jsonschema": "^1.1.0", - "jsonwebtoken": "^7.2.1", - "lodash": "^4.14.1", - "md5hex": "^1.0.0", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "mkdirp-promise": "^5.0.0", - "mv": "^2.1.1", - "mz": "^2.6.0", - "ncp": "^2.0.0", - "opn": "^4.0.2", - "plist": "2.1.0", - "prop-types": "^15.5.10", - "querystring": "^0.2.0", - "raven": "^2.1.1", - "raven-js": "^3.17.0", - "react": "^16.0.0", - "react-redux": "^5.0.2", - "read-chunk": "^2.0.0", - "redux": "^3.6.0", - "redux-logger": "^2.7.4", - "replace-string": "^1.1.0", - "request": "^2.83.0", - "request-progress": "^3.0.0", - "request-promise-native": "^1.0.5", - "semver": "^5.3.0", - "slugid": "^1.1.0", - "slugify": "^1.0.2", - "source-map-support": "^0.4.2", - "split": "^1.0.1", - "tar": "^4.0.2", - "tree-kill": "^1.1.0", - "url": "^0.11.0", - "util.promisify": "^1.0.0", - "uuid": "^3.0.1", - "xmldom": "^0.1.27", - "yesno": "^0.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "dependencies": { - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "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" - } - }, - "inquirer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", - "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.1.0", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^5.5.2", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", @@ -12423,9 +10203,9 @@ "dev": true }, "xmlbuilder": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", - "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=" + "version": "9.0.7", + "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" }, "xmldoc": { "version": "0.4.0", @@ -12445,12 +10225,6 @@ "resolved": "https://registry.npmjs.org/xpipe/-/xpipe-1.0.5.tgz", "integrity": "sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98=" }, - "xregexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", - "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", - "dev": true - }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", @@ -12493,12 +10267,6 @@ "requires": { "camelcase": "^4.1.0" } - }, - "yesno": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/yesno/-/yesno-0.0.1.tgz", - "integrity": "sha1-/7wE/z1vmdrST3RjE06bkq5BvvY=", - "dev": true } } } diff --git a/package.json b/package.json index 4fdad40..3a4be04 100644 --- a/package.json +++ b/package.json @@ -2,29 +2,28 @@ "name": "sardonyx", "description": "mobile client for Sardonyx", "version": "0.1.0", + "main": "node_modules/expo/AppEntry.js", "private": true, "devDependencies": { "eslint-plugin-react": "^7.11.1", - "jest-expo": "~27.0.0", + "jest-expo": "~31.0.0", "react-native-dotenv": "^0.2.0", - "react-native-scripts": "1.14.0", "react-test-renderer": "16.3.1" }, - "main": "./node_modules/react-native-scripts/build/bin/crna-entry.js", "scripts": { - "start": "react-native-scripts start", - "eject": "react-native-scripts eject", - "android": "react-native-scripts android", - "ios": "react-native-scripts ios", + "start": "expo start", + "android": "expo start --android", + "ios": "expo start --ios", + "eject": "expo eject", "test": "jest" }, "jest": { "preset": "jest-expo" }, "dependencies": { - "expo": "^27.0.1", - "react": "16.3.1", - "react-native": "~0.55.2", + "expo": "^31.0.2", + "react": "16.5.0", + "react-native": "https://github.com/expo/react-native/archive/sdk-31.0.0.tar.gz", "react-native-elements": "^0.19.1", "react-native-paper": "^2.2.8", "react-navigation": "^3.0.0", From 0d5615cc4e4f8e9f2a5241038c572a3192b3eb0f Mon Sep 17 00:00:00 2001 From: natsuozawa Date: Fri, 21 Dec 2018 00:20:08 +0900 Subject: [PATCH 009/308] Update .env file sample in CONTRIBUTING.md --- CONTRIBUTING.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b41c25c..a0bc752 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -159,8 +159,12 @@ CLASS_ID="123456" GROUP_ID="123456" CLASS_ASSIGNMENT_ID="123456" CLASS_MESSAGE_ID="123456" +CLASS_MESSAGE_PAGE_ID="2" GROUP_MESSAGE_ID="123456" +GROUP_MESSAGE_PAGE_ID="2" NOTIFICATION_ID="123456" +NOTIFICATION_PAGE_ID="2" +CAS_ID="123456" ``` To run a custom test, create a `tmp.test.js` file under `__tests__`. From e1289af625c2d6bae6a627f47b4c8ef3cdc3bf69 Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Fri, 21 Dec 2018 17:46:09 +0900 Subject: [PATCH 010/308] Use dotenv to manage BASE_URL state --- .babelrc | 7 +- .env | 1 + .env.production | 1 + package-lock.json | 147 ++++++++++++++------------------ package.json | 3 +- src/screens/LoginCheckScreen.js | 10 ++- src/screens/LoginScreen.js | 4 +- 7 files changed, 81 insertions(+), 92 deletions(-) create mode 100644 .env create mode 100644 .env.production diff --git a/.babelrc b/.babelrc index 2bcd546..4b96f28 100644 --- a/.babelrc +++ b/.babelrc @@ -1,8 +1,3 @@ { - "presets": ["babel-preset-expo"], - "env": { - "development": { - "plugins": ["transform-react-jsx-source"] - } - } + "presets": ["babel-preset-expo", "module:metro-react-native-babel-preset", "module:react-native-dotenv"] } diff --git a/.env b/.env new file mode 100644 index 0000000..082c1a1 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +BASE_URL=https://192.168.11.110:57767 \ No newline at end of file diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..9506519 --- /dev/null +++ b/.env.production @@ -0,0 +1 @@ +BASE_URL=https://sardonyx.app \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b4cf3bb..6b42fab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -607,6 +607,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz", "integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==", + "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", @@ -1003,7 +1004,7 @@ }, "ansi-colors": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "requires": { "ansi-wrap": "^0.1.0" @@ -1019,7 +1020,7 @@ }, "ansi-escapes": { "version": "3.1.0", - "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" }, "ansi-gray": { @@ -1386,7 +1387,7 @@ }, "array-equal": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, @@ -1522,7 +1523,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { "ansi-styles": "^2.2.1", @@ -1539,7 +1540,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -1730,7 +1731,7 @@ }, "babel-plugin-istanbul": { "version": "4.1.6", - "resolved": "http://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", + "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": { @@ -1790,7 +1791,7 @@ }, "babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "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": { @@ -2021,8 +2022,7 @@ "integrity": "sha512-pDtkAIafvQLAZ5dQ/6I9okkiZLw9IBR8ItRzAyUO4j2rUMB9ey6yZTTE77AKWq5HhxhY53Hic8Zl0vSDMTXI0A==", "requires": { "@babel/plugin-proposal-decorators": "^7.1.0", - "babel-plugin-module-resolver": "^3.1.1", - "metro-react-native-babel-preset": "^0.49.0" + "babel-plugin-module-resolver": "^3.1.1" } }, "babel-preset-fbjs": { @@ -2300,7 +2300,7 @@ "dependencies": { "resolve": { "version": "1.1.7", - "resolved": "http://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true } @@ -2617,7 +2617,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", @@ -2627,7 +2627,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -3225,7 +3225,7 @@ }, "event-target-shim": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/event-target-shim/-/event-target-shim-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-1.1.1.tgz", "integrity": "sha1-qG5e5r2qFgVEddp5fM3fDFVphJE=" }, "eventemitter3": { @@ -3271,7 +3271,7 @@ }, "expand-range": { "version": "1.8.2", - "resolved": "http://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { "fill-range": "^2.1.0" @@ -4023,8 +4023,7 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true, - "optional": true + "bundled": true }, "aproba": { "version": "1.2.0", @@ -4042,13 +4041,11 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, - "optional": true + "bundled": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4061,18 +4058,15 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "concat-map": { "version": "0.0.1", - "bundled": true, - "optional": true + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "core-util-is": { "version": "1.0.2", @@ -4175,8 +4169,7 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, - "optional": true + "bundled": true }, "ini": { "version": "1.3.5", @@ -4186,7 +4179,6 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -4199,20 +4191,17 @@ "minimatch": { "version": "3.0.4", "bundled": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true, - "optional": true + "bundled": true }, "minipass": { "version": "2.2.4", "bundled": true, - "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -4229,7 +4218,6 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -4302,8 +4290,7 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, - "optional": true + "bundled": true }, "object-assign": { "version": "4.1.1", @@ -4313,7 +4300,6 @@ "once": { "version": "1.4.0", "bundled": true, - "optional": true, "requires": { "wrappy": "1" } @@ -4419,7 +4405,6 @@ "string-width": { "version": "1.0.2", "bundled": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -4437,7 +4422,6 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -4476,8 +4460,7 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, - "optional": true + "bundled": true }, "yallist": { "version": "3.0.2", @@ -4754,7 +4737,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { "depd": "~1.1.2", @@ -4909,7 +4892,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { "builtin-modules": "^1.0.0" @@ -5581,7 +5564,7 @@ }, "jest-get-type": { "version": "22.4.3", - "resolved": "http://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", "dev": true }, @@ -6093,7 +6076,7 @@ }, "json5": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, "jsonify": { @@ -6139,7 +6122,7 @@ }, "kind-of": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=" }, "klaw": { @@ -6188,7 +6171,7 @@ }, "load-json-file": { "version": "2.0.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "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.2", @@ -6456,7 +6439,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { "ansi-styles": "^2.2.1", @@ -6468,7 +6451,7 @@ }, "fs-extra": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "requires": { "graceful-fs": "^4.1.2", @@ -6478,7 +6461,7 @@ }, "jsonfile": { "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { "graceful-fs": "^4.1.6" @@ -6535,12 +6518,12 @@ }, "mime-db": { "version": "1.23.0", - "resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk=" }, "mime-types": { "version": "2.1.11", - "resolved": "http://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", "requires": { "mime-db": "~1.23.0" @@ -6553,7 +6536,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -6606,9 +6589,10 @@ } }, "metro-babel7-plugin-react-transform": { - "version": "0.49.2", - "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.49.2.tgz", - "integrity": "sha512-LpJT8UvqF/tvVqEwiLUTMjRPhEGdI8e2dr3424XaRANba3j0nqmrbKdJQsPE8TrcqMWR4RHmfsXk0ti5QrEvJg==", + "version": "0.47.1", + "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.47.1.tgz", + "integrity": "sha512-b7drnNbVww/AastsGlVBy3o5HJUGgjEMB1UrXHYh8Me5dVqirH5uEdy0d3cQAnMaq4lv5PBmcaoX/FP0bdLI5A==", + "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0" } @@ -6660,9 +6644,10 @@ } }, "metro-react-native-babel-preset": { - "version": "0.49.2", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.49.2.tgz", - "integrity": "sha512-N0+4ramShYCHSAVEPUNWIZuKZskWj8/RDSoinhadHpdpHORMbMxLkexSOVHLluB+XFQ+DENLEx5oVPYwOlENBA==", + "version": "0.47.1", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.47.1.tgz", + "integrity": "sha512-p5qrbcECeZ/PYQm3Sv7cxMtVdUz4TZrhjjGFkAdmSWlhveztALYzk0lNn6fL3DCRcFRiO0NvS90JO5XXOJFk3w==", + "dev": true, "requires": { "@babel/plugin-proposal-class-properties": "^7.0.0", "@babel/plugin-proposal-export-default-from": "^7.0.0", @@ -6697,7 +6682,7 @@ "@babel/plugin-transform-typescript": "^7.0.0", "@babel/plugin-transform-unicode-regex": "^7.0.0", "@babel/template": "^7.0.0", - "metro-babel7-plugin-react-transform": "0.49.2", + "metro-babel7-plugin-react-transform": "0.47.1", "react-transform-hmr": "^1.0.4" } }, @@ -6820,7 +6805,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" @@ -6828,7 +6813,7 @@ "dependencies": { "minimist": { "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } @@ -6993,7 +6978,7 @@ }, "npmlog": { "version": "2.0.4", - "resolved": "http://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", "requires": { "ansi": "~0.3.1", @@ -7259,7 +7244,7 @@ "dependencies": { "minimist": { "version": "0.0.10", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" }, "wordwrap": { @@ -7290,7 +7275,7 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { @@ -7409,7 +7394,7 @@ }, "pegjs": { "version": "0.10.0", - "resolved": "http://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz", + "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz", "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=" }, "performance-now": { @@ -7734,7 +7719,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { "ansi-styles": "^2.2.1", @@ -7746,7 +7731,7 @@ }, "fs-extra": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "requires": { "graceful-fs": "^4.1.2", @@ -7769,7 +7754,7 @@ }, "jsonfile": { "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { "graceful-fs": "^4.1.6" @@ -7782,7 +7767,7 @@ }, "opn": { "version": "3.0.3", - "resolved": "http://registry.npmjs.org/opn/-/opn-3.0.3.tgz", + "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=", "requires": { "object-assign": "^4.0.1" @@ -7800,12 +7785,12 @@ }, "pretty-format": { "version": "4.3.1", - "resolved": "http://registry.npmjs.org/pretty-format/-/pretty-format-4.3.1.tgz", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-4.3.1.tgz", "integrity": "sha1-UwvlxCs8BbNkFKeipDN6qArNDo0=" }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -8463,7 +8448,7 @@ "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } @@ -8776,7 +8761,7 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { "kind-of": "^3.0.2" @@ -8794,7 +8779,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { "kind-of": "^3.0.2" @@ -8978,7 +8963,7 @@ }, "sax": { "version": "1.1.6", - "resolved": "http://registry.npmjs.org/sax/-/sax-1.1.6.tgz", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.6.tgz", "integrity": "sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA=" }, "schedule": { @@ -9038,7 +9023,7 @@ }, "serialize-error": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" }, "serve-static": { @@ -9124,7 +9109,7 @@ }, "simple-plist": { "version": "0.2.1", - "resolved": "http://registry.npmjs.org/simple-plist/-/simple-plist-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.2.1.tgz", "integrity": "sha1-cXZts1IyaSjPOoByQrp2IyJjZyM=", "requires": { "bplist-creator": "0.0.7", @@ -9516,7 +9501,7 @@ }, "temp": { "version": "0.8.3", - "resolved": "http://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", "requires": { "os-tmpdir": "^1.0.0", @@ -9525,7 +9510,7 @@ "dependencies": { "rimraf": { "version": "2.2.8", - "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=" } } @@ -9555,7 +9540,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -10191,7 +10176,7 @@ "dependencies": { "uuid": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=" } } diff --git a/package.json b/package.json index 3a4be04..80fa2be 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,8 @@ "eslint-plugin-react": "^7.11.1", "jest-expo": "~31.0.0", "react-native-dotenv": "^0.2.0", - "react-test-renderer": "16.3.1" + "react-test-renderer": "16.3.1", + "metro-react-native-babel-preset": "^0.47.0" }, "scripts": { "start": "expo start", diff --git a/src/screens/LoginCheckScreen.js b/src/screens/LoginCheckScreen.js index 104cd85..e214c8a 100644 --- a/src/screens/LoginCheckScreen.js +++ b/src/screens/LoginCheckScreen.js @@ -8,6 +8,8 @@ import { Image } from 'react-native'; +import { BASE_URL } from 'react-native-dotenv'; + import { Storage } from '../helpers'; import { styles } from '../styles'; @@ -24,7 +26,7 @@ export default class LoginCheckScreen extends React.Component { check(credentials = '{}') { // Check for existing session - fetch('https://sardonyx.app/api/validate', { + fetch(BASE_URL + '/api/validate', { method: 'GET', headers: { 'Login-Token': credentials @@ -35,7 +37,9 @@ export default class LoginCheckScreen extends React.Component { // Validation succeeded const credentials = JSON.parse(response.headers.map['login-token'] || '{}'); Storage.writeCredentials(credentials).then(() => { - this.props.navigation.navigate('AppStack'); + Storage.writeValue('managebacOverview', response.headers.map['managebac-data']).then(() => { + this.props.navigation.navigate('AppStack'); + }); }); return; } @@ -70,7 +74,7 @@ export default class LoginCheckScreen extends React.Component { .catch(error => { // promise rejected this.props.navigation.navigate('Login', { - errorMessage: 'There was an error while validating.' + error + errorMessage: 'There was an error while validating. ' + error }); return; }); diff --git a/src/screens/LoginScreen.js b/src/screens/LoginScreen.js index 9944279..72e0fdb 100644 --- a/src/screens/LoginScreen.js +++ b/src/screens/LoginScreen.js @@ -15,6 +15,8 @@ import { Button } from 'react-native-elements'; +import { BASE_URL } from 'react-native-dotenv'; + import { Storage } from '../helpers'; import { styles, colors, preset } from '../styles'; @@ -94,7 +96,7 @@ class LoginForm extends React.Component { } sendForm(formData) { - fetch('https://sardonyx.app/api/login', { + fetch(BASE_URL + '/api/login', { method: 'POST', headers: { 'Content-Type': 'multipart/form-data' From 5278a13aa93fe87b3aebb4f87c17e93b8db1a99f Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Fri, 21 Dec 2018 17:46:45 +0900 Subject: [PATCH 011/308] Add Classes tab and in Overview check that Storage is accessible --- src/screens/ManagebacClassesScreen.js | 19 +++++++++++++++++++ src/screens/ManagebacOverviewScreen.js | 14 +++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 src/screens/ManagebacClassesScreen.js diff --git a/src/screens/ManagebacClassesScreen.js b/src/screens/ManagebacClassesScreen.js new file mode 100644 index 0000000..c64d85c --- /dev/null +++ b/src/screens/ManagebacClassesScreen.js @@ -0,0 +1,19 @@ +import React from 'react'; + +import { View } from 'react-native'; + +export default class ManagebacClassesScreen extends React.Component { + constructor(props) { + super(props); + } + + static navigationOptions = ({ navigation }) => { + return { + title: 'Classes' + }; + }; + + render() { + return ; + } +} diff --git a/src/screens/ManagebacOverviewScreen.js b/src/screens/ManagebacOverviewScreen.js index 3648c83..bd233a7 100644 --- a/src/screens/ManagebacOverviewScreen.js +++ b/src/screens/ManagebacOverviewScreen.js @@ -2,17 +2,29 @@ import React from 'react'; import { View } from 'react-native'; +import { Storage } from '../helpers'; + export default class ManagebacOverviewScreen extends React.Component { constructor(props) { super(props); } - static navigationOptions = ({ navigation }) => { + static navigationOptions({ navigation }) { return { title: 'Overview' }; }; + componentDidMount() { + this._getOverviewData(); + } + + _getOverviewData() { + Storage.retrieveValue('managebacOverview').then((data) => { + console.log(data); + }); + }; + render() { return ; } From 08135f4590e8288fb0a137698d316f556324dc46 Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Fri, 21 Dec 2018 17:46:56 +0900 Subject: [PATCH 012/308] Remove header that remained from react-navigation 2.0 --- App.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/App.js b/App.js index b11c7a2..265dabb 100644 --- a/App.js +++ b/App.js @@ -44,7 +44,7 @@ const LoginStack = createStackNavigator( Logout: LogoutScreen }, { - navigationOptions: { + defaultNavigationOptions: { header: null // Hide the default empty header bar for all child elements } } From eb11ff1cbd83402d42a4a082fa74d2436ff3394f Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Mon, 24 Dec 2018 18:22:12 +0900 Subject: [PATCH 013/308] Change HTTPS to HTTP for the local BASE_URL --- .env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env b/.env index 082c1a1..1370ece 100644 --- a/.env +++ b/.env @@ -1 +1 @@ -BASE_URL=https://192.168.11.110:57767 \ No newline at end of file +BASE_URL=http://192.168.11.110:57767 \ No newline at end of file From 55680d512fcdfa1838aaa3af46881810cde3cdf2 Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Mon, 24 Dec 2018 18:22:43 +0900 Subject: [PATCH 014/308] Fix one second lag in rendering TopTabs --- src/ManagebacStack.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ManagebacStack.js b/src/ManagebacStack.js index 360d878..9869052 100644 --- a/src/ManagebacStack.js +++ b/src/ManagebacStack.js @@ -1,5 +1,7 @@ import React from 'react'; +import { Dimensions } from 'react-native'; + import { createStackNavigator, createMaterialTopTabNavigator @@ -29,6 +31,10 @@ const ManagebacTabs = createMaterialTopTabNavigator( navigationOptions: { title: 'ManageBac' }, + initialLayout: { + height: 0, + width: Dimensions.get('window').width + }, tabBarOptions: { scrollEnabled: true, style: { From 326fa0080cf20ce0691a3e93a1b99da8c707eb68 Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Mon, 24 Dec 2018 18:23:13 +0900 Subject: [PATCH 015/308] Use the primary color for ActivityIndicator --- src/screens/LoginCheckScreen.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/screens/LoginCheckScreen.js b/src/screens/LoginCheckScreen.js index e214c8a..2944618 100644 --- a/src/screens/LoginCheckScreen.js +++ b/src/screens/LoginCheckScreen.js @@ -1,7 +1,7 @@ import React from 'react'; import { - View, + View, Text, StatusBar, ActivityIndicator, @@ -11,7 +11,7 @@ import { import { BASE_URL } from 'react-native-dotenv'; import { Storage } from '../helpers'; -import { styles } from '../styles'; +import { styles, colors } from '../styles'; export default class LoginCheckScreen extends React.Component { constructor(props) { @@ -85,7 +85,7 @@ export default class LoginCheckScreen extends React.Component { Recovering session if it exists... - + ); From 8dfeeb4e6e82213f4d79f760152cc42391eb998f Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Mon, 24 Dec 2018 18:25:07 +0900 Subject: [PATCH 016/308] Make the Overview tab functional with placeholder styles --- src/screens/ManagebacOverviewScreen.js | 128 +++++++++++++++++++++++-- 1 file changed, 120 insertions(+), 8 deletions(-) diff --git a/src/screens/ManagebacOverviewScreen.js b/src/screens/ManagebacOverviewScreen.js index bd233a7..7c6083f 100644 --- a/src/screens/ManagebacOverviewScreen.js +++ b/src/screens/ManagebacOverviewScreen.js @@ -1,31 +1,143 @@ import React from 'react'; -import { View } from 'react-native'; +import { + View, + FlatList, + StyleSheet, + ScrollView, + Image, + Text +} from 'react-native'; import { Storage } from '../helpers'; +import { colors } from '../styles'; export default class ManagebacOverviewScreen extends React.Component { constructor(props) { super(props); + + this.state = { + deadlines: [] + }; } static navigationOptions({ navigation }) { return { title: 'Overview' }; - }; + } componentDidMount() { - this._getOverviewData(); + let tmp_data = [ + { + author: 'Yuto Takano', + avatar: 'https://avatars1.githubusercontent.com/u/4458848?s=52&v=4', + deadline: false, + due: '2018-12-31T20:00:00.000Z', + labels: ['Summative', 'Formative'], + link: '/student/classes/10901407/assignments/a', + title: 'Test title goes here. It can be extremely long as well.' + } + ]; + + this._getOverviewData().then(data => { + console.log(data); + console.log(typeof data); + console.log(data.deadlines); + this.setState({ + deadlines: [...data.deadlines, ...tmp_data] + }); + }); } - + _getOverviewData() { - Storage.retrieveValue('managebacOverview').then((data) => { - console.log(data); + return new Promise(resolve => { + Storage.retrieveValue('managebacOverview').then(data => { + resolve(JSON.parse(data)); + }); }); - }; + } render() { - return ; + return ( + ( + + + + + + + + + {decodeURI(item.title)} + + Niology + + + {item.due} + + + + + + + + )} + keyExtractor={item => item.link} + /> + ); } } + +const deadlineListStyles = StyleSheet.create({ + list: { + backgroundColor: '#f8f8fa' + }, + item: { + marginTop: 12, + marginBottom: 6 + }, + container: { + flex: 1, + flexDirection: 'row', + marginHorizontal: 12 + }, + labels: { + paddingTop: 8, + width: 36 + }, + label: { + marginLeft: 6, // ((width:36+12) - 12) / 2 - 12 + borderRadius: 6, + height: 12, + width: 12, + backgroundColor: '#00aa00' + }, + bodyView: { + flex: 1, + borderRadius: 8, + backgroundColor: colors.white, + minHeight: 50, + elevation: 2, + padding: 24 + }, + text: { + marginBottom: 24 + }, + title: { + fontWeight: 'bold', + marginBottom: 12, + fontSize: 16, + color: colors.black + }, + subject: { + fontSize: 14, + color: colors.darkBackground + } +}); From b738ff930ad7bf1d16384edebf67c178021475a0 Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Mon, 24 Dec 2018 21:11:00 +0900 Subject: [PATCH 017/308] Add coloured labels, default loading data, and changed avatar positions --- src/screens/ManagebacOverviewScreen.js | 161 ++++++++++++++++++++----- 1 file changed, 132 insertions(+), 29 deletions(-) diff --git a/src/screens/ManagebacOverviewScreen.js b/src/screens/ManagebacOverviewScreen.js index 7c6083f..08deaf2 100644 --- a/src/screens/ManagebacOverviewScreen.js +++ b/src/screens/ManagebacOverviewScreen.js @@ -17,8 +17,26 @@ export default class ManagebacOverviewScreen extends React.Component { super(props); this.state = { - deadlines: [] + deadlines: [ + { + 'author': '', + 'avatar': 'https://managebac-production.s3.amazonaws.com/uploads/school/logo/10004416/school_logo.png', + 'deadline': false, + 'due': '2050-01-01T00:00:00.000Z', + 'labels': [], + 'link': 'Loading', + 'title': 'Loading' + } + ], + allGroupsClasses: [ + { + 'link': 'Loading', + 'title': 'Please wait just a moment...' + } + ] }; + + this._getGroupClassName = this._getGroupClassName.bind(this); } static navigationOptions({ navigation }) { @@ -28,24 +46,11 @@ export default class ManagebacOverviewScreen extends React.Component { } componentDidMount() { - let tmp_data = [ - { - author: 'Yuto Takano', - avatar: 'https://avatars1.githubusercontent.com/u/4458848?s=52&v=4', - deadline: false, - due: '2018-12-31T20:00:00.000Z', - labels: ['Summative', 'Formative'], - link: '/student/classes/10901407/assignments/a', - title: 'Test title goes here. It can be extremely long as well.' - } - ]; - this._getOverviewData().then(data => { console.log(data); - console.log(typeof data); - console.log(data.deadlines); this.setState({ - deadlines: [...data.deadlines, ...tmp_data] + deadlines: [...data.deadlines], + allGroupsClasses: [...data.groups, ...data.classes] }); }); } @@ -58,31 +63,103 @@ export default class ManagebacOverviewScreen extends React.Component { }); } + _renderLabel(name, index) { + let color; + switch (name) { + case 'Homework': + color = '#2175c6'; + break; + case 'Quiz': + color = '#f16522'; + break; + case 'Essay': + color = '#3333cc'; + break; + case 'Deadline': + color = '#91181b'; + break; + case 'Math IA': + color = '#0072bc'; + break; + case 'Assignment': + color = '#0072bc'; + break; + case 'Event': + color = '#009900'; + break; + case 'Workshop': + color = '#528c00'; + break; + case 'Take Home Assignment': + color = '#2f3192'; + break; + case 'Discussion': + color = '#ed008c'; + break; + case 'ToK': + color = '#3333cc'; + break; + case 'Paper': + color = '#a2c400'; + break; + case 'Summative': + color = '#478cfe'; + break; + case 'Formative': + color = '#1aaf5d'; + break; + case 'Extended Essay': + color = '#cc3333'; + break; + default: + return; + } + return ( + + ); + } + + _getGroupClassName(link) { + let groupClass = this.state.allGroupsClasses.find(item => { + return link.includes(item.link); + }); + return groupClass ? decodeURI(groupClass.title) : ''; + } + render() { + let i = 0; + return ( ( - + {item.labels.map(this._renderLabel)} {decodeURI(item.title)} - Niology + + {this._getGroupClassName(item.link)} + {item.due} - + + + @@ -97,7 +174,8 @@ export default class ManagebacOverviewScreen extends React.Component { const deadlineListStyles = StyleSheet.create({ list: { - backgroundColor: '#f8f8fa' + backgroundColor: '#f8f8fa', + paddingBottom: 24 }, item: { marginTop: 12, @@ -114,21 +192,22 @@ const deadlineListStyles = StyleSheet.create({ }, label: { marginLeft: 6, // ((width:36+12) - 12) / 2 - 12 + marginBottom: 6, borderRadius: 6, height: 12, - width: 12, - backgroundColor: '#00aa00' + width: 12 }, bodyView: { flex: 1, + flexDirection: 'column', borderRadius: 8, backgroundColor: colors.white, minHeight: 50, - elevation: 2, + elevation: 3, padding: 24 }, text: { - marginBottom: 24 + marginBottom: 6 }, title: { fontWeight: 'bold', @@ -138,6 +217,30 @@ const deadlineListStyles = StyleSheet.create({ }, subject: { fontSize: 14, - color: colors.darkBackground + color: colors.darkBackground, + fontWeight: '200' + }, + bottomInfo: { + marginTop: 6, + flex: 1, + flexDirection: 'row' + }, + dueTime: { + textAlignVertical: 'center' + }, + avatars: { + flex: 1, + alignItems: 'flex-end', + height: 36 + }, + avatarContainer: { + width: 36, + height: 36, + borderRadius: 18, + overflow: 'hidden', + elevation: 2 + }, + avatar: { + flex: 1 } }); From d165d2bee0046b899d478aa868b08c38a57b8866 Mon Sep 17 00:00:00 2001 From: natsuozawa Date: Mon, 7 Jan 2019 14:42:13 +0900 Subject: [PATCH 018/308] Add CSRF Token to docs --- CONTRIBUTING.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a0bc752..685b154 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -153,6 +153,7 @@ PASSWORD="foobar1234" # Managebac cookies CFDUID="cfduid=foobar" MANAGEBAC_SESSION="_managebac_session=foobar" +CSRF_TOKEN="foobar" # Pages that you want to test CLASS_ID="123456" @@ -201,6 +202,15 @@ Execute the following: $ cd sardonyx-server $ npm install $ npm run client +``` + +Make sure that the server starts properly: +``` +$ npm start +``` + +Then, deploy. +``` $ gcloud app deploy ``` From 2325d8bfbcb9ead0d5f1912e6b66eaea78dff0c0 Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Sun, 20 Jan 2019 11:28:45 +0900 Subject: [PATCH 019/308] Add a html rendering package to render paragraph tags in deadlines --- package-lock.json | 127 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 1 + 2 files changed, 126 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6b42fab..bba809e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -607,7 +607,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz", "integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==", - "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", @@ -2022,7 +2021,60 @@ "integrity": "sha512-pDtkAIafvQLAZ5dQ/6I9okkiZLw9IBR8ItRzAyUO4j2rUMB9ey6yZTTE77AKWq5HhxhY53Hic8Zl0vSDMTXI0A==", "requires": { "@babel/plugin-proposal-decorators": "^7.1.0", - "babel-plugin-module-resolver": "^3.1.1" + "babel-plugin-module-resolver": "^3.1.1", + "metro-react-native-babel-preset": "^0.49.0" + }, + "dependencies": { + "metro-babel7-plugin-react-transform": { + "version": "0.49.2", + "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.49.2.tgz", + "integrity": "sha512-LpJT8UvqF/tvVqEwiLUTMjRPhEGdI8e2dr3424XaRANba3j0nqmrbKdJQsPE8TrcqMWR4RHmfsXk0ti5QrEvJg==", + "requires": { + "@babel/helper-module-imports": "^7.0.0" + } + }, + "metro-react-native-babel-preset": { + "version": "0.49.2", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.49.2.tgz", + "integrity": "sha512-N0+4ramShYCHSAVEPUNWIZuKZskWj8/RDSoinhadHpdpHORMbMxLkexSOVHLluB+XFQ+DENLEx5oVPYwOlENBA==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.0.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "metro-babel7-plugin-react-transform": "0.49.2", + "react-transform-hmr": "^1.0.4" + } + } } }, "babel-preset-fbjs": { @@ -3062,11 +3114,32 @@ "esutils": "^2.0.2" } }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "requires": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" + } + } + }, "dom-walk": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, "domexception": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", @@ -3076,6 +3149,23 @@ "webidl-conversions": "^4.0.2" } }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, "dotenv": { "version": "2.0.0", "resolved": "http://registry.npmjs.org/dotenv/-/dotenv-2.0.0.tgz", @@ -3110,6 +3200,11 @@ "iconv-lite": "~0.4.13" } }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, "envinfo": { "version": "5.12.1", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-5.12.1.tgz", @@ -3228,6 +3323,11 @@ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-1.1.1.tgz", "integrity": "sha1-qG5e5r2qFgVEddp5fM3fDFVphJE=" }, + "eventemitter2": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-1.0.5.tgz", + "integrity": "sha1-+YNhBRexc3wLncZDvsqTiTwE3xg=" + }, "eventemitter3": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", @@ -4735,6 +4835,20 @@ "whatwg-encoding": "^1.0.1" } }, + "htmlparser2-without-node-native": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/htmlparser2-without-node-native/-/htmlparser2-without-node-native-3.9.2.tgz", + "integrity": "sha1-s+0FDYd9D/NGWWnjOYd7f59mMfY=", + "requires": { + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "eventemitter2": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, "http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", @@ -7858,6 +7972,15 @@ "prop-types": "^15.5.10" } }, + "react-native-htmlview": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/react-native-htmlview/-/react-native-htmlview-0.13.0.tgz", + "integrity": "sha512-gVEggLcAi5Gfi88LX9uaACiAGIcEuzg9i/gs8ymIQuV/xQ0IpeKpVMpBZwiAOSHBrJJhGUCoCihV2bgz5TruVw==", + "requires": { + "entities": "^1.1.1", + "htmlparser2-without-node-native": "^3.9.2" + } + }, "react-native-maps": { "version": "github:expo/react-native-maps#e6f98ff7272e5d0a7fe974a41f28593af2d77bb2", "from": "github:expo/react-native-maps#v0.22.1-exp.0" diff --git a/package.json b/package.json index 80fa2be..500f261 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "react": "16.5.0", "react-native": "https://github.com/expo/react-native/archive/sdk-31.0.0.tar.gz", "react-native-elements": "^0.19.1", + "react-native-htmlview": "^0.13.0", "react-native-paper": "^2.2.8", "react-navigation": "^3.0.0", "react-navigation-material-bottom-tabs": "^1.0.0" From 94c0606f1198ad928368d09f0d580fe53df6134a Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Sun, 20 Jan 2019 11:29:57 +0900 Subject: [PATCH 020/308] Replace Chat related screens with Tasks --- App.js | 6 +++--- src/{ChatStack.js => TasksStack.js} | 12 ++++++------ src/screens/{ChatScreen.js => TasksScreen.js} | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) rename src/{ChatStack.js => TasksStack.js} (70%) rename src/screens/{ChatScreen.js => TasksScreen.js} (74%) diff --git a/App.js b/App.js index 265dabb..7f86f59 100644 --- a/App.js +++ b/App.js @@ -8,7 +8,7 @@ import { import { createMaterialBottomTabNavigator } from 'react-navigation-material-bottom-tabs'; import ManagebacStack from './src/ManagebacStack'; -import ChatStack from './src/ChatStack'; +import TasksStack from './src/TasksStack'; import ProfileStack from './src/ProfileStack'; import LoginCheckScreen from './src/screens/LoginCheckScreen'; import LoginScreen from './src/screens/LoginScreen'; @@ -21,11 +21,11 @@ import { colors } from './src/styles'; const AppStack = createMaterialBottomTabNavigator( { ManagebacTabs: ManagebacStack, - ChatTabs: ChatStack, + TasksTabs: TasksStack, ProfileTabs: ProfileStack }, { - initialRouteName: 'ChatTabs', + initialRouteName: 'ManagebacTabs', shifting: true, activeColor: colors.primary, inactiveColor: colors.inactive, diff --git a/src/ChatStack.js b/src/TasksStack.js similarity index 70% rename from src/ChatStack.js rename to src/TasksStack.js index fd28587..3aa6211 100644 --- a/src/ChatStack.js +++ b/src/TasksStack.js @@ -6,20 +6,20 @@ import { Icon } from 'react-native-elements'; -import ChatScreen from './screens/ChatScreen'; +import TasksScreen from './screens/TasksScreen'; import { colors } from './styles'; // Navigation stack for the Chat tab -const ChatStack = createStackNavigator( +const TasksStack = createStackNavigator( { - Chat: ChatScreen + Tasks: TasksScreen }, { navigationOptions: { - tabBarLabel: 'Chat', + tabBarLabel: 'Tasks', tabBarIcon: ({ tintColor }) => ( - + ) }, defaultNavigationOptions: { @@ -34,4 +34,4 @@ const ChatStack = createStackNavigator( } ); -export default ChatStack; \ No newline at end of file +export default TasksStack; \ No newline at end of file diff --git a/src/screens/ChatScreen.js b/src/screens/TasksScreen.js similarity index 74% rename from src/screens/ChatScreen.js rename to src/screens/TasksScreen.js index ff86283..4b43c05 100644 --- a/src/screens/ChatScreen.js +++ b/src/screens/TasksScreen.js @@ -5,14 +5,14 @@ import { } from 'react-native'; -export default class ChatScreen extends React.Component { +export default class TasksScreen extends React.Component { constructor(props) { super(props); } static navigationOptions = ({ navigation }) => { return { - title: 'Chat' + title: 'Tasks' }; } From 8bd1d2cc37b4758f047b257292b151c454679b98 Mon Sep 17 00:00:00 2001 From: natsuozawa Date: Sun, 20 Jan 2019 11:30:27 +0900 Subject: [PATCH 021/308] Update sample .env file in CONTRIBUTING --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 685b154..c41ccc7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -159,6 +159,8 @@ CSRF_TOKEN="foobar" CLASS_ID="123456" GROUP_ID="123456" CLASS_ASSIGNMENT_ID="123456" +EVENT_ID="123456" +GROUP_EVENT_ID= "123456" # class events are not tested CLASS_MESSAGE_ID="123456" CLASS_MESSAGE_PAGE_ID="2" GROUP_MESSAGE_ID="123456" From e44af84fe20535f4d669e0dbcad265b49f554573 Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Sun, 20 Jan 2019 11:30:30 +0900 Subject: [PATCH 022/308] Add a screen under ManagebacStack for CAS --- src/ManagebacStack.js | 6 +++--- src/screens/ManagebacCASScreen.js | 30 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 src/screens/ManagebacCASScreen.js diff --git a/src/ManagebacStack.js b/src/ManagebacStack.js index 9869052..b7895e5 100644 --- a/src/ManagebacStack.js +++ b/src/ManagebacStack.js @@ -10,11 +10,11 @@ import { import { Icon } from 'react-native-elements'; import ManagebacOverviewScreen from './screens/ManagebacOverviewScreen'; +import ManagebacCASScreen from './screens/ManagebacCASScreen'; // Dummy screens import ManagebacCalendarScreen from './screens/ManagebacScreen'; import ManagebacClassesScreen from './screens/ManagebacScreen'; import ManagebacGroupsScreen from './screens/ManagebacScreen'; -import ManagebacCASScreen from './screens/ManagebacScreen'; import MessagesScreen from './screens/SettingsScreen'; import { colors } from './styles'; @@ -22,10 +22,10 @@ import { colors } from './styles'; const ManagebacTabs = createMaterialTopTabNavigator( { Overview: ManagebacOverviewScreen, + CAS: ManagebacCASScreen, Calendar: ManagebacCalendarScreen, Groups: ManagebacClassesScreen, - Groups: ManagebacGroupsScreen, - CAS: ManagebacCASScreen + Groups: ManagebacGroupsScreen }, { navigationOptions: { diff --git a/src/screens/ManagebacCASScreen.js b/src/screens/ManagebacCASScreen.js new file mode 100644 index 0000000..8512f2a --- /dev/null +++ b/src/screens/ManagebacCASScreen.js @@ -0,0 +1,30 @@ +import React from 'react'; + +import { View, Text } from 'react-native'; + +import { Button } from 'react-native-elements'; + +import { styles } from '../styles'; + +export default class ManagebacCASScreen extends React.Component { + constructor(props) { + super(props); + } + + static navigationOptions = ({ navigation }) => { + return { + title: 'CAS' + }; + }; + + render() { + return ( + + This is the app!! + + Check console to see your stored credentials. + + + ); + } +} From 64ead728a010c74328e3a3ff4479334fb20390ca Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Sun, 20 Jan 2019 11:31:01 +0900 Subject: [PATCH 023/308] Move label color mapping to styles so it can be used in multiple screens --- src/styles.js | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/src/styles.js b/src/styles.js index 3023cc9..18521f0 100644 --- a/src/styles.js +++ b/src/styles.js @@ -105,4 +105,58 @@ const preset = { inputLine: [styles.padding10] }; -export { styles, colors, preset }; \ No newline at end of file +const labelColors = (name) => { + let color; + switch (name) { + case 'Homework': + color = '#2175c6'; + break; + case 'Quiz': + color = '#f16522'; + break; + case 'Essay': + color = '#3333cc'; + break; + case 'Deadline': + color = '#91181b'; + break; + case 'Math IA': + color = '#0072bc'; + break; + case 'Assignment': + color = '#0072bc'; + break; + case 'Event': + color = '#009900'; + break; + case 'Workshop': + color = '#528c00'; + break; + case 'Take Home Assignment': + color = '#2f3192'; + break; + case 'Discussion': + color = '#ed008c'; + break; + case 'ToK': + color = '#3333cc'; + break; + case 'Paper': + color = '#a2c400'; + break; + case 'Summative': + color = '#478cfe'; + break; + case 'Formative': + color = '#1aaf5d'; + break; + case 'Extended Essay': + color = '#cc3333'; + break; + default: + return; + } + return color; +} + +export { styles, colors, preset, labelColors }; \ No newline at end of file From acc25633f4666d3fc4f69f3a21c6c648701e0c4a Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Sun, 20 Jan 2019 11:31:51 +0900 Subject: [PATCH 024/308] Add implementation of redesign for the deadline overview page + add support for extended details --- src/components/ExtendedDeadline.js | 117 ++++++++++ src/screens/ManagebacOverviewScreen.js | 312 +++++++++++++++++-------- 2 files changed, 326 insertions(+), 103 deletions(-) create mode 100644 src/components/ExtendedDeadline.js diff --git a/src/components/ExtendedDeadline.js b/src/components/ExtendedDeadline.js new file mode 100644 index 0000000..e94f489 --- /dev/null +++ b/src/components/ExtendedDeadline.js @@ -0,0 +1,117 @@ +import React from 'react'; + +import { + View, + Text, + ActivityIndicator, + StyleSheet, + FlatList +} from 'react-native'; + +import { BASE_URL } from 'react-native-dotenv'; + +import { Storage } from '../helpers'; +import { labelColors, colors } from '../styles'; +import HTMLView from 'react-native-htmlview'; + +export default class ExtendedDeadline extends React.Component { + constructor(props) { + super(props); + this.state = { + refreshing: true, + error: false, + detail: {} + }; + this._getDeadlineData = this._getDeadlineData.bind(this); + } + + componentDidMount() { + this._getDeadlineData().then(data => { + console.log(data); + let hasError = !('assignment' in data); + !this.isCancelled && + this.setState({ + refreshing: false, + error: hasError, + detail: data.assignment || {} + }); + }); + } + + componentWillUnmount() { + this.isCancelled = true; + } + + _getDeadlineData() { + return new Promise(resolve => { + Storage.retrieveCredentials().then(credentials => { + fetch(BASE_URL + this.props.id, { + method: 'GET', + headers: { + 'Login-Token': credentials + }, + mode: 'no-cors' + }).then(response => { + if (response.status === 200) { + resolve(JSON.parse(response.headers.map['managebac-data'])); + } + }); + }); + }); + } + + _renderLabel(name, index) { + let color = labelColors(name); + return ( + + {name.toUpperCase()} + + ); + } + + render() { + return ( + + {this.state.refreshing && ( + + )} + {!this.state.refreshing && ( + + + {this.state.detail.labels.map(this._renderLabel)} + + + + )} + + ); + } +} + +const extendedDeadlineStyles = StyleSheet.create({ + labels: { + flex: 1, + flexDirection: 'row', + marginBottom: 8 + }, + label: { + padding: 2, + paddingHorizontal: 8 + }, + labelText: { + color: colors.white, + fontSize: 9 + } +}); + +const htmlStyles = StyleSheet.create({ + p: { + fontSize: 12 + } +}); diff --git a/src/screens/ManagebacOverviewScreen.js b/src/screens/ManagebacOverviewScreen.js index 08deaf2..bc3e89a 100644 --- a/src/screens/ManagebacOverviewScreen.js +++ b/src/screens/ManagebacOverviewScreen.js @@ -2,41 +2,54 @@ import React from 'react'; import { View, - FlatList, + SectionList, StyleSheet, - ScrollView, + RefreshControl, Image, Text } from 'react-native'; +import { BASE_URL } from 'react-native-dotenv'; + import { Storage } from '../helpers'; -import { colors } from '../styles'; +import { colors, labelColors } from '../styles'; +import { TouchableRipple } from 'react-native-paper'; +import ExtendedDeadline from '../components/ExtendedDeadline'; -export default class ManagebacOverviewScreen extends React.Component { +export default class ManagebacOverviewScreen extends React.PureComponent { constructor(props) { super(props); this.state = { + refreshing: true, + extendedDeadlines: [], deadlines: [ { - 'author': '', - 'avatar': 'https://managebac-production.s3.amazonaws.com/uploads/school/logo/10004416/school_logo.png', - 'deadline': false, - 'due': '2050-01-01T00:00:00.000Z', - 'labels': [], - 'link': 'Loading', - 'title': 'Loading' + title: 'Loading', + data: [ + { + author: '', + avatar: + 'https://managebac-production.s3.amazonaws.com/uploads/school/logo/10004416/school_logo.png', + deadline: false, + due: '2050-01-01T00:00:00.000Z', + labels: [], + link: 'Loading', + title: 'Loading' + } + ] } ], allGroupsClasses: [ { - 'link': 'Loading', - 'title': 'Please wait just a moment...' + link: 'Loading', + title: 'Please wait just a moment...' } ] }; this._getGroupClassName = this._getGroupClassName.bind(this); + this._onRefresh = this._onRefresh.bind(this); } static navigationOptions({ navigation }) { @@ -48,13 +61,47 @@ export default class ManagebacOverviewScreen extends React.Component { componentDidMount() { this._getOverviewData().then(data => { console.log(data); + sortedDeadlines = this._sortDeadlineArray(data.deadlines); this.setState({ - deadlines: [...data.deadlines], + refreshing: false, + deadlines: [...sortedDeadlines], allGroupsClasses: [...data.groups, ...data.classes] }); }); } + /** + * Set the refreshing controller as visible, and make a request to /dashboard to refresh data. + */ + _onRefresh() { + this.setState({ + refreshing: true + }); + Storage.retrieveCredentials().then(credentials => { + fetch(BASE_URL + '/api/dashboard', { + method: 'GET', + headers: { + 'Login-Token': credentials + }, + mode: 'no-cors' + }).then(response => { + if (response.status === 200) { + Storage.writeValue( + 'managebacOverview', + response.headers.map['managebac-data'] + ) + .then(() => { + this.setState({ + refreshing: false + }); + }) + .catch(() => {}); + return; + } + }); + }); + } + _getOverviewData() { return new Promise(resolve => { Storage.retrieveValue('managebacOverview').then(data => { @@ -63,57 +110,35 @@ export default class ManagebacOverviewScreen extends React.Component { }); } - _renderLabel(name, index) { - let color; - switch (name) { - case 'Homework': - color = '#2175c6'; - break; - case 'Quiz': - color = '#f16522'; - break; - case 'Essay': - color = '#3333cc'; - break; - case 'Deadline': - color = '#91181b'; - break; - case 'Math IA': - color = '#0072bc'; - break; - case 'Assignment': - color = '#0072bc'; - break; - case 'Event': - color = '#009900'; - break; - case 'Workshop': - color = '#528c00'; - break; - case 'Take Home Assignment': - color = '#2f3192'; - break; - case 'Discussion': - color = '#ed008c'; - break; - case 'ToK': - color = '#3333cc'; - break; - case 'Paper': - color = '#a2c400'; - break; - case 'Summative': - color = '#478cfe'; - break; - case 'Formative': - color = '#1aaf5d'; - break; - case 'Extended Essay': - color = '#cc3333'; - break; - default: + /** + * Put raw deadline data into a sorted array to be used in SectionList + * @param {Array} deadlines + */ + _sortDeadlineArray(deadlines) { + let sorted = []; + deadlines.forEach(deadline => { + dueDate = Date.parse(deadline.due); + // If deadline section already exists then put the deadline in there, otherwise create a section + let index = sorted.findIndex(element => element.title === dueDate); + if (index !== -1) { + sorted[index].data.push(deadline); return; - } + } + sorted.push({ + title: dueDate, + data: [deadline] + }); + }); + return sorted; + } + + /** + * Return a styled with the name as an identifier, and set index as its index in list + * @param {String} name + * @param {Integer} index + */ + _renderLabel(name, index) { + let color = labelColors(name); return ( ( + sections={this.state.deadlines} + refreshControl={ + + } + renderSectionHeader={({ section }) => { + let sectionTitle = new Date(section.title); + let weekdays = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']; + return ( + + + {weekdays[sectionTitle.getDay()]} + + + {sectionTitle.getDate()} + + + ); + }} + renderItem={({ item, index, section }) => ( - - {item.labels.map(this._renderLabel)} - - - - - {decodeURI(item.title)} - - - {this._getGroupClassName(item.link)} - + + + {item.labels.map(this._renderLabel)} - - {item.due} - - - + + { + let index = this.state.extendedDeadlines.indexOf( + item.link + ); + if (index === -1) { + this.setState({ + extendedDeadlines: [ + ...this.state.extendedDeadlines, + item.link + ] + }); + } else { + this.setState({ + extendedDeadlines: this.state.extendedDeadlines.filter( + (_, i) => i !== index + ) + }); + } + }} + rippleColor={colors.lightBackground} + > + + + + {decodeURI(item.title)} + + + {this._getGroupClassName(item.link)} + + + + + {item.due} + + + + + + + - + + {this.state.extendedDeadlines.indexOf(item.link) !== -1 && ( + + )} )} @@ -175,43 +255,62 @@ export default class ManagebacOverviewScreen extends React.Component { const deadlineListStyles = StyleSheet.create({ list: { backgroundColor: '#f8f8fa', - paddingBottom: 24 + paddingBottom: 24, + minHeight: '100%' + }, + section: { + position: 'absolute', + width: 56, + marginTop: 12, + marginLeft: 12 }, + sectionWeekdayLabel: {}, + sectionDateLabel: {}, item: { + flex: 1, marginTop: 12, marginBottom: 6 }, container: { flex: 1, - flexDirection: 'row', - marginHorizontal: 12 + flexDirection: 'column', + marginHorizontal: 12, + marginLeft: 56 + }, + mainContainer: { + flex: 1, + flexDirection: 'row' }, labels: { - paddingTop: 8, - width: 36 + width: 6, + elevation: 2 }, label: { - marginLeft: 6, // ((width:36+12) - 12) / 2 - 12 - marginBottom: 6, - borderRadius: 6, - height: 12, - width: 12 + flex: 1, + flexDirection: 'column', + width: 6 }, bodyView: { flex: 1, flexDirection: 'column', borderRadius: 8, + borderTopLeftRadius: 0, + borderBottomLeftRadius: 0, backgroundColor: colors.white, + elevation: 2, + overflow: 'hidden' + }, + innerBodyView: { minHeight: 50, - elevation: 3, - padding: 24 + paddingHorizontal: 24, + paddingVertical: 12 }, text: { - marginBottom: 6 + marginBottom: 2 }, title: { - fontWeight: 'bold', - marginBottom: 12, + fontWeight: 'normal', + marginBottom: 4, fontSize: 16, color: colors.black }, @@ -226,7 +325,8 @@ const deadlineListStyles = StyleSheet.create({ flexDirection: 'row' }, dueTime: { - textAlignVertical: 'center' + textAlignVertical: 'center', + color: colors.gray2 }, avatars: { flex: 1, @@ -242,5 +342,11 @@ const deadlineListStyles = StyleSheet.create({ }, avatar: { flex: 1 + }, + extendedBodyContainer: { + backgroundColor: '#FCFCFD', + paddingHorizontal: 24, + paddingVertical: 12, + elevation: 1 } }); From ab18c99b33924513282b546d57b4d92ce86dab37 Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Sun, 20 Jan 2019 11:32:14 +0900 Subject: [PATCH 025/308] Fix spelling mistake --- src/screens/LoginCheckScreen.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/screens/LoginCheckScreen.js b/src/screens/LoginCheckScreen.js index 2944618..8ace461 100644 --- a/src/screens/LoginCheckScreen.js +++ b/src/screens/LoginCheckScreen.js @@ -68,7 +68,7 @@ export default class LoginCheckScreen extends React.Component { // Other error code this.props.navigation.navigate('Login', { - errorMessage: 'Validation failed due to an unkown error. Error code: ' + response.status + errorMessage: 'Validation failed due to an unknown error. Error code: ' + response.status }); }) .catch(error => { From 7b68c1e5cd93330724ac6625709591151990c00d Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Sun, 20 Jan 2019 11:34:18 +0900 Subject: [PATCH 026/308] Add local env to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 34d3802..f5360ae 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ /node_modules # misc +.env .env.local .env.development.local .env.test.local From 8724e086a412c59cff7c8e4b1a63004ea18f8814 Mon Sep 17 00:00:00 2001 From: natsuozawa Date: Sun, 20 Jan 2019 21:52:44 +0900 Subject: [PATCH 027/308] Clarify node versions on CONTRIBUTING --- CONTRIBUTING.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c41ccc7..cf5d0e3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,7 +32,7 @@ # The app (mobile client) Tools needed: * Git -* Node / NPM +* Node 10.x or later / NPM * Android Studio (optional) * Expo Mobile App (optional) @@ -49,8 +49,6 @@ Install dependencies. $ npm install ``` -Do NOT run `npm run audit` or change the React Native version. - ## Development Run development mode. ``` @@ -68,7 +66,7 @@ $ npm test ``` ## Production -This is not necessary except when releasing a new version. +See Expo documentation. Produce Android app. ``` @@ -90,7 +88,7 @@ Ejection is only necessary when native code is needed. # The server (backend) Tools needed: * Git -* Node / NPM +* Node (8.x) / NPM ## Installation Clone this repository and navigate to it. @@ -202,8 +200,8 @@ Navigate to `App Engine` and open the shell. Execute the following: ``` $ cd sardonyx-server -$ npm install -$ npm run client +$ npm ci +$ npm run client ``` Make sure that the server starts properly: From 709ed2e10a1e3b53a559c9dd0887fae10a578d3b Mon Sep 17 00:00:00 2001 From: natsuozawa Date: Wed, 23 Jan 2019 19:19:25 +0900 Subject: [PATCH 028/308] Update CONTRIBUTING.md --- CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cf5d0e3..c2a13ac 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -163,6 +163,7 @@ CLASS_MESSAGE_ID="123456" CLASS_MESSAGE_PAGE_ID="2" GROUP_MESSAGE_ID="123456" GROUP_MESSAGE_PAGE_ID="2" +GROUP_MESSAGE_REPLY_OF_REPLY_ID="123456" NOTIFICATION_ID="123456" NOTIFICATION_PAGE_ID="2" CAS_ID="123456" From ef43a3ffe11b57d1cfacd0c5c43424cd963a629b Mon Sep 17 00:00:00 2001 From: Yuto Takano Date: Wed, 23 Jan 2019 20:18:09 +0900 Subject: [PATCH 029/308] Change app-wide font to Jost-400 --- App.js | 50 ++++++++++++++++------ src/ManagebacStack.js | 12 ++++-- src/ProfileStack.js | 19 ++++----- src/TasksStack.js | 19 ++++----- src/assets/Jost-200-Thin.otf | Bin 0 -> 99744 bytes src/assets/Jost-300-Light.otf | Bin 0 -> 88320 bytes src/assets/Jost-400-Book.otf | Bin 0 -> 78900 bytes src/assets/Jost-500-Medium.otf | Bin 0 -> 100300 bytes src/components/ExtendedDeadline.js | 11 ++--- src/screens/LoginCheckScreen.js | 4 +- src/screens/LoginScreen.js | 16 +++---- src/screens/ManagebacOverviewScreen.js | 14 +++---- src/screens/ProfileScreen.js | 5 ++- src/screens/SettingsScreen.js | 25 +++++------ src/styles.js | 55 +++++++++++++++++-------- 15 files changed, 139 insertions(+), 91 deletions(-) create mode 100644 src/assets/Jost-200-Thin.otf create mode 100644 src/assets/Jost-300-Light.otf create mode 100644 src/assets/Jost-400-Book.otf create mode 100644 src/assets/Jost-500-Medium.otf diff --git a/App.js b/App.js index 7f86f59..563217e 100644 --- a/App.js +++ b/App.js @@ -7,6 +7,8 @@ import { import { createMaterialBottomTabNavigator } from 'react-navigation-material-bottom-tabs'; +import { Font } from 'expo'; + import ManagebacStack from './src/ManagebacStack'; import TasksStack from './src/TasksStack'; import ProfileStack from './src/ProfileStack'; @@ -54,22 +56,46 @@ const LoginStack = createStackNavigator( // Switch navigators make sure the app nav stack and auth nav stack are two different things // and that you can't back-button into one another const AppContainer = createAppContainer( - createSwitchNavigator({ - // Make sure no names for screens overlap (e.g. LoginStack and Login), since they are unique - // identifiers that can be navigated to from anywhere in the app - LoginCheck: LoginCheckScreen, - AppStack: AppStack, // navigators can contain navigators - LoginStack: LoginStack - }, - { - initialRouteName: 'LoginCheck' - }) + createSwitchNavigator( + { + // Make sure no names for screens overlap (e.g. LoginStack and Login), since they are unique + // identifiers that can be navigated to from anywhere in the app + LoginCheck: LoginCheckScreen, + AppStack: AppStack, // navigators can contain navigators + LoginStack: LoginStack + }, + { + initialRouteName: 'LoginCheck' + } + ) ); export default class Root extends React.Component { + constructor(props) { + super(props); + + this.state = { + fontLoaded: false + }; + } + + componentDidMount() { + Font.loadAsync({ + 'Jost-200': require('./src/assets/Jost-200-Thin.otf'), + 'Jost-300': require('./src/assets/Jost-300-Light.otf'), + 'Jost-400': require('./src/assets/Jost-400-Book.otf'), + 'Jost-500': require('./src/assets/Jost-500-Medium.otf') + }).then(() => { + this.setState({ + fontLoaded: true + }); + }); + } // I'm sure we're going to have to use state managers like Redux, and when that happens, // wrap this AppContainer in a Store Provider. render() { - return (); + return this.state.fontLoaded && ; } -} \ No newline at end of file +} + +Expo.registerRootComponent(Root); diff --git a/src/ManagebacStack.js b/src/ManagebacStack.js index b7895e5..9e55f0c 100644 --- a/src/ManagebacStack.js +++ b/src/ManagebacStack.js @@ -1,6 +1,6 @@ import React from 'react'; -import { Dimensions } from 'react-native'; +import { Dimensions, Text } from 'react-native'; import { createStackNavigator, @@ -17,7 +17,7 @@ import ManagebacClassesScreen from './screens/ManagebacScreen'; import ManagebacGroupsScreen from './screens/ManagebacScreen'; import MessagesScreen from './screens/SettingsScreen'; -import { colors } from './styles'; +import { colors, fonts } from './styles'; const ManagebacTabs = createMaterialTopTabNavigator( { @@ -42,6 +42,9 @@ const ManagebacTabs = createMaterialTopTabNavigator( }, indicatorStyle: { backgroundColor: colors.white + }, + labelStyle: { + ...fonts.jost400 } } } @@ -54,7 +57,7 @@ const ManagebacStack = createStackNavigator( }, { navigationOptions: { - tabBarLabel: 'ManageBac', + tabBarLabel: ManageBac, tabBarIcon: ({ tintColor }) => ( ) @@ -66,7 +69,8 @@ const ManagebacStack = createStackNavigator( }, headerTintColor: colors.white, headerTitleStyle: { - fontWeight: 'normal' + fontWeight: 'normal', + ...fonts.jost400 } } } diff --git a/src/ProfileStack.js b/src/ProfileStack.js index d157e60..8518865 100644 --- a/src/ProfileStack.js +++ b/src/ProfileStack.js @@ -1,29 +1,28 @@ import React from 'react'; +import { Text } from 'react-native'; + import { createStackNavigator } from 'react-navigation'; -import { - Icon -} from 'react-native-elements'; +import { Icon } from 'react-native-elements'; import ProfileScreen from './screens/ProfileScreen'; import SettingsScreen from './screens/SettingsScreen'; -import { colors } from './styles'; +import { fonts } from './styles'; // Navigation stack for the Profile tab const ProfileStack = createStackNavigator( { Profile: ProfileScreen, Settings: SettingsScreen - }, { + }, + { navigationOptions: { - tabBarLabel: 'Profile', - tabBarIcon: ({ tintColor }) => ( - - ) + tabBarLabel: Profile, + tabBarIcon: ({ tintColor }) => } } ); -export default ProfileStack; \ No newline at end of file +export default ProfileStack; diff --git a/src/TasksStack.js b/src/TasksStack.js index 3aa6211..b96e219 100644 --- a/src/TasksStack.js +++ b/src/TasksStack.js @@ -1,14 +1,14 @@ import React from 'react'; +import { Text } from 'react-native'; + import { createStackNavigator } from 'react-navigation'; -import { - Icon -} from 'react-native-elements'; +import { Icon } from 'react-native-elements'; import TasksScreen from './screens/TasksScreen'; -import { colors } from './styles'; +import { colors, fonts } from './styles'; // Navigation stack for the Chat tab const TasksStack = createStackNavigator( @@ -17,10 +17,8 @@ const TasksStack = createStackNavigator( }, { navigationOptions: { - tabBarLabel: 'Tasks', - tabBarIcon: ({ tintColor }) => ( - - ) + tabBarLabel: Tasks, + tabBarIcon: ({ tintColor }) => }, defaultNavigationOptions: { headerStyle: { @@ -28,10 +26,11 @@ const TasksStack = createStackNavigator( }, headerTintColor: colors.white, headerTitleStyle: { - fontWeight: 'normal' + fontWeight: 'normal', + ...fonts.jost400 } } } ); -export default TasksStack; \ No newline at end of file +export default TasksStack; diff --git a/src/assets/Jost-200-Thin.otf b/src/assets/Jost-200-Thin.otf new file mode 100644 index 0000000000000000000000000000000000000000..511fd2968737bf5f7f23814f3e9cb85ee3d68690 GIT binary patch literal 99744 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 OgP(0Fdi;z}@c#gK2`vNw literal 0 HcmV?d00001 diff --git a/src/assets/Jost-300-Light.otf b/src/assets/Jost-300-Light.otf new file mode 100644 index 0000000000000000000000000000000000000000..2eeb9c7c62527f0b1255d081be4f00ebcae0a9f7 GIT binary patch literal 88320 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 literal 0 HcmV?d00001 diff --git a/src/assets/Jost-400-Book.otf b/src/assets/Jost-400-Book.otf new file mode 100644 index 0000000000000000000000000000000000000000..a793530a0e8bff6223a535f151fb52c6757042b3 GIT binary patch literal 78900 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%0AFs^(t`lF?tU$$BkqV<+zMY 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

ZMBh!eV?jcN^Q3{%~|1KljhXL3~wm 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 Om4=@W7d - {name.toUpperCase()} + {name.toUpperCase()} ); } @@ -76,7 +76,7 @@ export default class ExtendedDeadline extends React.Component { return ( {this.state.refreshing && ( - + )} {!this.state.refreshing && ( @@ -84,7 +84,7 @@ export default class ExtendedDeadline extends React.Component { {this.state.detail.labels.map(this._renderLabel)} @@ -112,6 +112,7 @@ const extendedDeadlineStyles = StyleSheet.create({ const htmlStyles = StyleSheet.create({ p: { - fontSize: 12 + fontSize: 14, + ...fonts.jost400 } }); diff --git a/src/screens/LoginCheckScreen.js b/src/screens/LoginCheckScreen.js index 8ace461..150bf29 100644 --- a/src/screens/LoginCheckScreen.js +++ b/src/screens/LoginCheckScreen.js @@ -11,7 +11,7 @@ import { import { BASE_URL } from 'react-native-dotenv'; import { Storage } from '../helpers'; -import { styles, colors } from '../styles'; +import { styles, colors, fonts } from '../styles'; export default class LoginCheckScreen extends React.Component { constructor(props) { @@ -84,7 +84,7 @@ export default class LoginCheckScreen extends React.Component { return ( - Recovering session if it exists... + Recovering session if it exists... diff --git a/src/screens/LoginScreen.js b/src/screens/LoginScreen.js index 72e0fdb..6a7c7f4 100644 --- a/src/screens/LoginScreen.js +++ b/src/screens/LoginScreen.js @@ -18,7 +18,7 @@ import { import { BASE_URL } from 'react-native-dotenv'; import { Storage } from '../helpers'; -import { styles, colors, preset } from '../styles'; +import { styles, colors, preset, fonts } from '../styles'; export default class Login extends React.Component { render() { @@ -27,8 +27,8 @@ export default class Login extends React.Component { - Sardonyx - Login with ManageBac + Sardonyx + Login with ManageBac @@ -154,7 +154,7 @@ class LoginForm extends React.Component { onSubmitEditing={() => this.passwordInput.focus()} blurOnSubmit={false} /> - + Please enter a valid email address. @@ -174,7 +174,7 @@ class LoginForm extends React.Component { password: text })} /> - + Please enter a password. @@ -192,7 +192,7 @@ class LoginForm extends React.Component { })} textstyle={/*[styles.regular, styles.p]*/ styles.link} /> - + Please agree to the Conditions. @@ -212,7 +212,7 @@ class LoginForm extends React.Component { function DisclaimerMessage() { return ( - + Sardonyx is not affiliated, associated, authorized, endorsed by, or in any way officially connected with ManageBac, or any of its subsidiaries or its affiliates. ); @@ -220,7 +220,7 @@ function DisclaimerMessage() { function ErrorMessage(props) { if (props.error) { - return {props.error}; + return {props.error}; } return null; } \ No newline at end of file diff --git a/src/screens/ManagebacOverviewScreen.js b/src/screens/ManagebacOverviewScreen.js index bc3e89a..346964e 100644 --- a/src/screens/ManagebacOverviewScreen.js +++ b/src/screens/ManagebacOverviewScreen.js @@ -12,7 +12,7 @@ import { import { BASE_URL } from 'react-native-dotenv'; import { Storage } from '../helpers'; -import { colors, labelColors } from '../styles'; +import { colors, labelColors, fonts } from '../styles'; import { TouchableRipple } from 'react-native-paper'; import ExtendedDeadline from '../components/ExtendedDeadline'; @@ -111,7 +111,7 @@ export default class ManagebacOverviewScreen extends React.PureComponent { } /** - * Put raw deadline data into a sorted array to be used in SectionList + * Put raw deadline data into a array sorted by date to be used in SectionList * @param {Array} deadlines */ _sortDeadlineArray(deadlines) { @@ -172,10 +172,10 @@ export default class ManagebacOverviewScreen extends React.PureComponent { let weekdays = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']; return ( - + {weekdays[sectionTitle.getDay()]} - + {sectionTitle.getDate()} @@ -213,15 +213,15 @@ export default class ManagebacOverviewScreen extends React.PureComponent { > - + {decodeURI(item.title)} - + {this._getGroupClassName(item.link)} - + {item.due} diff --git a/src/screens/ProfileScreen.js b/src/screens/ProfileScreen.js index bd757b5..86316ee 100644 --- a/src/screens/ProfileScreen.js +++ b/src/screens/ProfileScreen.js @@ -7,7 +7,7 @@ import { import { Icon } from 'react-native-elements'; import HeaderIcon from '../components/HeaderIcon'; -import { colors } from '../styles'; +import { colors, fonts } from '../styles'; export default class ProfileScreen extends React.Component { constructor(props) { @@ -22,7 +22,8 @@ export default class ProfileScreen extends React.Component { }, headerTintColor: colors.primary, headerTitleStyle: { - fontWeight: 'normal' + fontWeight: 'normal', + ...fonts.jost400 }, headerRight: ( {navigation.navigate('Settings')}}> -