diff options
| -rw-r--r-- | .babelrc | 20 | ||||
| -rw-r--r-- | .eslintignore | 9 | ||||
| -rw-r--r-- | .flowconfig | 49 | ||||
| -rw-r--r-- | .gitignore | 9 | ||||
| -rw-r--r-- | .travis.yml | 31 | ||||
| -rw-r--r-- | README.md | 15 | ||||
| -rw-r--r-- | app/app.android.js | 76 | ||||
| -rw-r--r-- | app/assets/css/fonts.css | 23 | ||||
| -rw-r--r-- | app/assets/css/reset.css | 48 | ||||
| -rw-r--r-- | app/assets/css/style.css | 8 | ||||
| -rw-r--r-- | app/assets/css/uiswitch.css | 135 | ||||
| -rw-r--r-- | app/components/AccountInput.js | 307 | ||||
| -rw-r--r-- | app/components/BlurAppButtonStyles.android.js | 19 | ||||
| -rw-r--r-- | app/components/CustomScrollbars.android.js | 33 | ||||
| -rw-r--r-- | app/components/Img.android.js | 45 | ||||
| -rw-r--r-- | app/components/PlatformWindow.android.js | 14 | ||||
| -rw-r--r-- | app/components/Switch.android.js | 25 | ||||
| -rw-r--r-- | app/components/TransitionContainerStyles.android.js | 38 | ||||
| -rw-r--r-- | app/lib/formatters.js | 10 | ||||
| -rw-r--r-- | app/lib/platform.android.js | 33 | ||||
| -rw-r--r-- | app/lib/problem-report.android.js | 13 | ||||
| -rwxr-xr-x | build.sh | 9 | ||||
| -rw-r--r-- | electron-builder.yml | 124 | ||||
| -rw-r--r-- | gui/.eslintignore | 2 | ||||
| -rw-r--r-- | gui/.eslintrc (renamed from .eslintrc) | 7 | ||||
| -rw-r--r-- | gui/.flowconfig | 14 | ||||
| -rw-r--r-- | gui/.prettierignore | 2 | ||||
| -rw-r--r-- | gui/.prettierrc.yml (renamed from .prettierrc.yml) | 0 | ||||
| -rw-r--r-- | gui/flow-libs/electron.js.flow (renamed from flow-libs/electron.js.flow) | 0 | ||||
| -rw-r--r-- | gui/flow-libs/notification.js.flow (renamed from flow-libs/notification.js.flow) | 0 | ||||
| -rw-r--r-- | gui/flow-libs/tests.js.flow (renamed from flow-libs/tests.js.flow) | 2 | ||||
| -rw-r--r-- | gui/package.json | 27 | ||||
| -rw-r--r-- | gui/packages/components/.babelrc | 12 | ||||
| -rw-r--r-- | gui/packages/components/.eslintrc | 5 | ||||
| -rw-r--r-- | gui/packages/components/package.json | 40 | ||||
| -rw-r--r-- | gui/packages/components/src/Accordion.js (renamed from app/components/Accordion.js) | 17 | ||||
| -rw-r--r-- | gui/packages/components/src/index.js | 3 | ||||
| -rw-r--r-- | gui/packages/components/test/.eslintrc | 12 | ||||
| -rw-r--r-- | gui/packages/components/test/setup.js | 33 | ||||
| -rw-r--r-- | gui/packages/components/test/test-stub.spec.js | 3 | ||||
| -rw-r--r-- | gui/packages/desktop/.babelrc | 13 | ||||
| -rw-r--r-- | gui/packages/desktop/electron-builder.yml | 124 | ||||
| -rw-r--r-- | gui/packages/desktop/geo-data/README.md (renamed from geo-data/README.md) | 4 | ||||
| -rw-r--r-- | gui/packages/desktop/geo-data/extract-geo-data.py (renamed from geo-data/extract-geo-data.py) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/geo-data/integrate-into-app.py (renamed from geo-data/integrate-into-app.py) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/geo-data/prepare-rtree.js (renamed from geo-data/prepare-rtree.js) | 15 | ||||
| -rw-r--r-- | gui/packages/desktop/geo-data/pylintrc (renamed from geo-data/pylintrc) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/geo-data/requirements.txt (renamed from geo-data/requirements.txt) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/init.js (renamed from init.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/package.json | 80 | ||||
| -rw-r--r-- | gui/packages/desktop/scripts/serve.js (renamed from scripts/serve.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/css/fonts.css | 23 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/css/global.css (renamed from app/assets/css/global.css) | 6 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/css/reset.css | 129 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/css/style.css | 8 | ||||
| -rwxr-xr-x | gui/packages/desktop/src/assets/fonts/DINPro-Black.otf (renamed from app/assets/fonts/DINPro-Black.otf) | bin | 88940 -> 88940 bytes | |||
| -rwxr-xr-x | gui/packages/desktop/src/assets/fonts/DINPro-Bold.otf (renamed from app/assets/fonts/DINPro-Bold.otf) | bin | 90228 -> 90228 bytes | |||
| -rwxr-xr-x | gui/packages/desktop/src/assets/fonts/OpenSans-ExtraBold.ttf (renamed from app/assets/fonts/OpenSans-ExtraBold.ttf) | bin | 222584 -> 222584 bytes | |||
| -rwxr-xr-x | gui/packages/desktop/src/assets/fonts/OpenSans-Semibold.ttf (renamed from app/assets/fonts/OpenSans-Semibold.ttf) | bin | 221328 -> 221328 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/geo/cities.rbush.json (renamed from app/assets/geo/cities.rbush.json) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/geo/countries.rbush.json (renamed from app/assets/geo/countries.rbush.json) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/geo/geometry.json (renamed from app/assets/geo/geometry.json) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/geo/geometry.rbush.json (renamed from app/assets/geo/geometry.rbush.json) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/geo/states-provinces-lines.json (renamed from app/assets/geo/states-provinces-lines.json) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/geo/states-provinces-lines.rbush.json (renamed from app/assets/geo/states-provinces-lines.rbush.json) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/app-header-backdrop.svg (renamed from app/assets/images/app-header-backdrop.svg) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/app-triangle.svg (renamed from app/assets/images/app-triangle.svg) | 0 | ||||
| -rwxr-xr-x | gui/packages/desktop/src/assets/images/icon-arrow.svg (renamed from app/assets/images/icon-arrow.svg) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/icon-back.svg (renamed from app/assets/images/icon-back.svg) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/icon-chevron-down.svg (renamed from app/assets/images/icon-chevron-down.svg) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/icon-chevron-up.svg (renamed from app/assets/images/icon-chevron-up.svg) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/icon-chevron.svg (renamed from app/assets/images/icon-chevron.svg) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/icon-close-sml.svg (renamed from app/assets/images/icon-close-sml.svg) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/icon-close.svg (renamed from app/assets/images/icon-close.svg) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/icon-extLink.svg (renamed from app/assets/images/icon-extLink.svg) | 0 | ||||
| -rwxr-xr-x | gui/packages/desktop/src/assets/images/icon-fail.svg (renamed from app/assets/images/icon-fail.svg) | 0 | ||||
| -rwxr-xr-x | gui/packages/desktop/src/assets/images/icon-fastest.svg (renamed from app/assets/images/icon-fastest.svg) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/icon-nearest.svg (renamed from app/assets/images/icon-nearest.svg) | 0 | ||||
| -rwxr-xr-x | gui/packages/desktop/src/assets/images/icon-settings.svg (renamed from app/assets/images/icon-settings.svg) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/icon-spinner.svg (renamed from app/assets/images/icon-spinner.svg) | 0 | ||||
| -rwxr-xr-x | gui/packages/desktop/src/assets/images/icon-success.svg (renamed from app/assets/images/icon-success.svg) | 0 | ||||
| -rwxr-xr-x | gui/packages/desktop/src/assets/images/icon-tick.svg (renamed from app/assets/images/icon-tick.svg) | 0 | ||||
| -rwxr-xr-x | gui/packages/desktop/src/assets/images/location-marker-secure.svg (renamed from app/assets/images/location-marker-secure.svg) | 0 | ||||
| -rwxr-xr-x | gui/packages/desktop/src/assets/images/location-marker-unsecure.svg (renamed from app/assets/images/location-marker-unsecure.svg) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/logo-icon.svg (renamed from app/assets/images/logo-icon.svg) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-1.png (renamed from app/assets/images/menubar icons/lock-1.png) | bin | 131 -> 131 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-10.png (renamed from app/assets/images/menubar icons/lock-10.png) | bin | 166 -> 166 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-10@2x.png (renamed from app/assets/images/menubar icons/lock-10@2x.png) | bin | 212 -> 212 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-1@2x.png (renamed from app/assets/images/menubar icons/lock-1@2x.png) | bin | 181 -> 181 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-2.png (renamed from app/assets/images/menubar icons/lock-2.png) | bin | 143 -> 143 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-2@2x.png (renamed from app/assets/images/menubar icons/lock-2@2x.png) | bin | 193 -> 193 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-3.png (renamed from app/assets/images/menubar icons/lock-3.png) | bin | 129 -> 129 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-3@2x.png (renamed from app/assets/images/menubar icons/lock-3@2x.png) | bin | 183 -> 183 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-4.png (renamed from app/assets/images/menubar icons/lock-4.png) | bin | 138 -> 138 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-4@2x.png (renamed from app/assets/images/menubar icons/lock-4@2x.png) | bin | 189 -> 189 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-5.png (renamed from app/assets/images/menubar icons/lock-5.png) | bin | 121 -> 121 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-5@2x.png (renamed from app/assets/images/menubar icons/lock-5@2x.png) | bin | 165 -> 165 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-6.png (renamed from app/assets/images/menubar icons/lock-6.png) | bin | 128 -> 128 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-6@2x.png (renamed from app/assets/images/menubar icons/lock-6@2x.png) | bin | 168 -> 168 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-7.png (renamed from app/assets/images/menubar icons/lock-7.png) | bin | 127 -> 127 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-7@2x.png (renamed from app/assets/images/menubar icons/lock-7@2x.png) | bin | 172 -> 172 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-8.png (renamed from app/assets/images/menubar icons/lock-8.png) | bin | 127 -> 127 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-8@2x.png (renamed from app/assets/images/menubar icons/lock-8@2x.png) | bin | 167 -> 167 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-9.png (renamed from app/assets/images/menubar icons/lock-9.png) | bin | 128 -> 128 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/assets/images/menubar icons/lock-9@2x.png (renamed from app/assets/images/menubar icons/lock-9@2x.png) | bin | 163 -> 163 bytes | |||
| -rw-r--r-- | gui/packages/desktop/src/common/types.js | 6 | ||||
| -rw-r--r-- | gui/packages/desktop/src/config.json (renamed from app/config.json) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/main/index.js (renamed from app/main.js) | 12 | ||||
| -rw-r--r-- | gui/packages/desktop/src/main/keyframe-animation.js (renamed from app/lib/keyframe-animation.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/main/proc.js (renamed from app/lib/proc.js) | 4 | ||||
| -rw-r--r-- | gui/packages/desktop/src/main/rpc-address-file.js (renamed from app/lib/rpc-address-file.js) | 9 | ||||
| -rw-r--r-- | gui/packages/desktop/src/main/shutdown-coordinator.js (renamed from app/shutdown-handler.js) | 30 | ||||
| -rw-r--r-- | gui/packages/desktop/src/main/tempdir.js (renamed from app/lib/tempdir.js) | 1 | ||||
| -rw-r--r-- | gui/packages/desktop/src/main/tray-icon-controller.js (renamed from app/tray-icon-controller.js) | 4 | ||||
| -rw-r--r-- | gui/packages/desktop/src/main/window-controller.js (renamed from app/window-controller.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/.eslintrc | 5 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/app.js (renamed from app/app.js) | 12 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/Account.js (renamed from app/components/Account.js) | 4 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/AccountStyles.js (renamed from app/components/AccountStyles.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/AdvancedSettings.js (renamed from app/components/AdvancedSettings.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/AdvancedSettingsStyles.js (renamed from app/components/AdvancedSettingsStyles.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/AppButton.js (renamed from app/components/AppButton.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/AppButtonStyles.js (renamed from app/components/AppButtonStyles.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/BlurAppButtonStyles.js (renamed from app/components/BlurAppButtonStyles.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/Cell.js (renamed from app/components/Cell.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/Connect.js (renamed from app/components/Connect.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/ConnectStyles.js (renamed from app/components/ConnectStyles.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/CustomScrollbars.css (renamed from app/components/CustomScrollbars.css) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/CustomScrollbars.js (renamed from app/components/CustomScrollbars.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/HeaderBar.js (renamed from app/components/HeaderBar.js) | 3 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/Img.js (renamed from app/components/Img.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/Launch.js (renamed from app/components/Launch.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/Layout.js (renamed from app/components/Layout.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/LayoutStyles.js (renamed from app/components/LayoutStyles.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/Login.js (renamed from app/components/Login.js) | 36 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/LoginStyles.js (renamed from app/components/LoginStyles.js) | 3 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/Map.js (renamed from app/components/Map.js) | 4 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/NavigationBar.js (renamed from app/components/NavigationBar.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/PlatformWindow.js (renamed from app/components/PlatformWindow.js) | 4 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/Preferences.js (renamed from app/components/Preferences.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/PreferencesStyles.js (renamed from app/components/PreferencesStyles.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/SelectLocation.js (renamed from app/components/SelectLocation.js) | 3 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/SelectLocationStyles.js (renamed from app/components/SelectLocationStyles.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/Settings.js (renamed from app/components/Settings.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/SettingsHeader.js (renamed from app/components/SettingsHeader.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/SettingsStyles.js (renamed from app/components/SettingsStyles.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/Support.js (renamed from app/components/Support.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/SupportStyles.js (renamed from app/components/SupportStyles.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/SvgMap.js (renamed from app/components/SvgMap.js) | 12 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/Switch.css (renamed from app/components/Switch.css) | 6 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/Switch.js (renamed from app/components/Switch.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/TransitionContainer.js (renamed from app/components/TransitionContainer.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/components/TransitionContainerStyles.js (renamed from app/components/TransitionContainerStyles.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/containers/AccountPage.js (renamed from app/containers/AccountPage.js) | 7 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/containers/AdvancedSettingsPage.js (renamed from app/containers/AdvancedSettingsPage.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/containers/ConnectPage.js (renamed from app/containers/ConnectPage.js) | 8 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/containers/LaunchPage.js (renamed from app/containers/LaunchPage.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/containers/LoginPage.js (renamed from app/containers/LoginPage.js) | 7 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/containers/PreferencesPage.js (renamed from app/containers/PreferencesPage.js) | 3 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/containers/SelectLocationPage.js (renamed from app/containers/SelectLocationPage.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/containers/SettingsPage.js (renamed from app/containers/SettingsPage.js) | 10 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/containers/SupportPage.js (renamed from app/containers/SupportPage.js) | 4 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/errors.js (renamed from app/errors.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/index.html (renamed from app/index.html) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/index.js (renamed from app/index.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/lib/autostart.js (renamed from app/lib/platform.js) | 34 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/lib/daemon-rpc.js (renamed from app/lib/daemon-rpc.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/lib/jsonrpc-transport.js (renamed from app/lib/jsonrpc-transport.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/lib/notification-controller.js (renamed from app/notification-controller.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/lib/problem-report.js (renamed from app/lib/problem-report.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/lib/reconnection-backoff.js (renamed from app/lib/reconnection-backoff.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/lib/relay-settings-builder.js (renamed from app/lib/relay-settings-builder.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/lib/shutdown-handler.js | 21 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/lib/transition-rule.js (renamed from app/lib/transition-rule.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/lib/window-state-observer.js (renamed from app/lib/window-state-observer.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/redux/account/actions.js (renamed from app/redux/account/actions.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/redux/account/reducers.js (renamed from app/redux/account/reducers.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/redux/connection/actions.js (renamed from app/redux/connection/actions.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/redux/connection/reducers.js (renamed from app/redux/connection/reducers.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/redux/daemon/actions.js (renamed from app/redux/daemon/actions.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/redux/daemon/reducers.js (renamed from app/redux/daemon/reducers.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/redux/settings/actions.js (renamed from app/redux/settings/actions.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/redux/settings/reducers.js (renamed from app/redux/settings/reducers.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/redux/store.js (renamed from app/redux/store.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/redux/support/actions.js (renamed from app/redux/support/actions.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/redux/support/reducers.js (renamed from app/redux/support/reducers.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/routes.js (renamed from app/routes.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/src/renderer/transitions.js (renamed from app/transitions.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/test/.eslintrc (renamed from test/.eslintrc) | 3 | ||||
| -rw-r--r-- | gui/packages/desktop/test/components/Account.spec.js (renamed from test/components/Account.spec.js) | 4 | ||||
| -rw-r--r-- | gui/packages/desktop/test/components/Connect.spec.js (renamed from test/components/Connect.spec.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/test/components/Login.spec.js (renamed from test/components/Login.spec.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/test/components/Preferences.spec.js (renamed from test/components/Preferences.spec.js) | 4 | ||||
| -rw-r--r-- | gui/packages/desktop/test/components/SelectLocation.spec.js (renamed from test/components/SelectLocation.spec.js) | 8 | ||||
| -rw-r--r-- | gui/packages/desktop/test/components/Settings.spec.js (renamed from test/components/Settings.spec.js) | 4 | ||||
| -rw-r--r-- | gui/packages/desktop/test/components/Support.spec.js (renamed from test/components/Support.spec.js) | 6 | ||||
| -rw-r--r-- | gui/packages/desktop/test/components/Switch.spec.js (renamed from test/components/Switch.spec.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/test/jsonrpc-transport.spec.js (renamed from test/jsonrpc-transport.spec.js) | 3 | ||||
| -rw-r--r-- | gui/packages/desktop/test/keyframe-animation.spec.js (renamed from test/keyframe-animation.spec.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/test/relay-settings-builder.spec.js (renamed from test/relay-settings-builder.spec.js) | 2 | ||||
| -rw-r--r-- | gui/packages/desktop/test/setup/main.js (renamed from test/setup/main.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/test/setup/renderer.js (renamed from test/setup/renderer.js) | 0 | ||||
| -rw-r--r-- | gui/packages/desktop/test/transition-rule.spec.js (renamed from test/transition-rule.spec.js) | 2 | ||||
| -rw-r--r-- | gui/packages/mobile/.babelrc | 3 | ||||
| -rw-r--r-- | gui/packages/mobile/.flowconfig | 67 | ||||
| -rw-r--r-- | gui/packages/mobile/.gitattributes | 1 | ||||
| -rw-r--r-- | gui/packages/mobile/.gitignore | 56 | ||||
| -rw-r--r-- | gui/packages/mobile/App.js | 41 | ||||
| -rw-r--r-- | gui/packages/mobile/app.json | 4 | ||||
| -rw-r--r-- | gui/packages/mobile/index.js (renamed from app/index.android.js) | 2 | ||||
| -rw-r--r-- | gui/packages/mobile/package.json | 31 | ||||
| -rw-r--r-- | gui/packages/mobile/postinstall.js | 29 | ||||
| -rw-r--r-- | gui/rn-cli.config.js | 14 | ||||
| -rw-r--r-- | gui/yarn.lock (renamed from yarn.lock) | 5306 | ||||
| -rw-r--r-- | package.json | 95 | ||||
| -rwxr-xr-x | prepare_release.sh | 12 | ||||
| -rw-r--r-- | rn-cli.config.js | 10 | ||||
| -rw-r--r-- | test/components/AccountInput.spec.js | 183 | ||||
| -rw-r--r-- | test/helpers/dom-events.js | 22 |
219 files changed, 3367 insertions, 4525 deletions
diff --git a/.babelrc b/.babelrc deleted file mode 100644 index c528957714..0000000000 --- a/.babelrc +++ /dev/null @@ -1,20 +0,0 @@ -{ - "env": { - "electron": { - "presets": [ - ["env", { - "targets": { "electron": "2.0" }, - "useBuiltIns": true - }], "react" - ], - "plugins": [ - "transform-class-properties", - "transform-object-rest-spread", - ["transform-builtin-extend", { "globals": ["Error"] }] - ] - }, - "development": { - "presets": ["react-native", ["transform-builtin-extend", { "globals": ["Error"] }]] - } - } -} diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 458993947b..0000000000 --- a/.eslintignore +++ /dev/null @@ -1,9 +0,0 @@ -node_modules -build -cache -lib -dist -webpack.*.js -server.js -build.js -init.js
\ No newline at end of file diff --git a/.flowconfig b/.flowconfig deleted file mode 100644 index e5488a4bd3..0000000000 --- a/.flowconfig +++ /dev/null @@ -1,49 +0,0 @@ -[ignore] -.*/node_modules/jsonlint-lines-primitives/.* -.*/node_modules/unflowify/.* - -; We fork some components by platform -.*/*[.]android.js - -; Ignore templates for 'react-native init' -.*/local-cli/templates/.* - -; Ignore the website subdir -<PROJECT_ROOT>/website/.* - -; Ignore the Dangerfile -<PROJECT_ROOT>/danger/dangerfile.js - -; Ignore "BUCK" generated dirs -<PROJECT_ROOT>/\.buckd/ - -; Ignore unexpected extra "@providesModule" -.*/node_modules/.*/node_modules/fbjs/.* - -; Ignore duplicate module providers -; For RN Apps installed via npm, "Libraries" folder is inside -; "node_modules/react-native" but in the source repo it is in the root -.*/Libraries/react-native/React.js - -; Ignore polyfills -.*/Libraries/polyfills/.* - -.*/node_modules/metro-bundler/.* -.*/node_modules/react-native/Libraries/.* -.*/node_modules/react-native/local-cli/.* -.*/node_modules/react-native/lib/.* -.*/node_modules/react-native/jest/.* -.*/node_modules/react-native/ReactAndroid/src/androidTest/.* -.*/node_modules/react-native-windows/.* -.*/node_modules/metro/.* -.*/node_modules/metro-source-map/.* - -[include] - -[libs] -flow-libs/ - -[options] -emoji=true -suppress_comment= \\(.\\|\n\\)*\\$FlowFixMe -munge_underscores=true diff --git a/.gitignore b/.gitignore index acb029c125..9d417da7a0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,11 @@ /target/ -/node_modules +/gui/node_modules +/gui/flow-typed +/gui/packages/**/node_modules +/gui/packages/**/build +/gui/packages/mobile/android +/gui/packages/mobile/ios /dist -/build -/flow-typed .DS_Store *.log /dist-assets/relays.json diff --git a/.travis.yml b/.travis.yml index 8810462c4e..c8e66e01c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,20 +13,33 @@ before_install: matrix: include: + # GUI - components - language: node_js node_js: '8' cache: yarn - - install: + env: + - WORKSPACE="@mullvad/components" + install: &nodejs_install_script + - cd gui - yarn install - - yarn run flow-typed install - before_script: + - yarn flow-typed install + before_script: &nodejs_before_script - export DISPLAY=:99.0; sh -e /etc/init.d/xvfb start - script: - - yarn run lint - - yarn run flow - - yarn run check-format - - yarn test + script: &nodejs_script + - yarn lint + - yarn flow + - yarn check-format + - yarn workspace $WORKSPACE test + + # GUI - desktop + - language: node_js + node_js: '8' + cache: yarn + env: + - WORKSPACE="desktop" + install: *nodejs_install_script + before_script: *nodejs_before_script + script: *nodejs_script # Daemon - macOS @@ -113,7 +113,7 @@ homebrew: 1. Start the GUI in development mode by running: ```bash - yarn run develop + yarn workspace desktop develop ``` If you change any javascript file while the development mode is running it will automatically @@ -138,8 +138,9 @@ The GUI will need to resolve the path to binaries. In development mode this defa 1. Install all JavaScript dependencies (unless you already have) and package the application with: ```bash + cd gui yarn install - yarn run pack:<OS> # <OS> can be linux, mac or win + yarn pack:<OS> # <OS> can be linux, mac or win ``` This will create installation packages for windows, linux or macOS. Note that you have to have run `yarn install` at least once before this step to download the javascript dependencies. @@ -197,12 +198,12 @@ this procedure, the `integration-tests.sh` script can be used to run all integra ## Command line tools for Electron GUI app development -- `$ yarn run develop` - develop app with live-reload enabled -- `$ yarn run flow` - type-check the code -- `$ yarn run lint` - lint code -- `$ yarn run pack:<OS>` - prepare app for distribution for your platform. Where `<OS>` can be +- `$ yarn workspace desktop develop` - develop app with live-reload enabled +- `$ yarn flow` - type-check the code +- `$ yarn lint` - lint code +- `$ yarn pack:<OS>` - prepare app for distribution for your platform. Where `<OS>` can be `linux`, `mac` or `win` -- `$ yarn run test` - run tests +- `$ yarn workspace desktop test` - run tests ## Repository structure diff --git a/app/app.android.js b/app/app.android.js deleted file mode 100644 index 0cb07a8600..0000000000 --- a/app/app.android.js +++ /dev/null @@ -1,76 +0,0 @@ -// @flow - -import React from 'react'; -import RX, { Component } from 'reactxp'; -import { Provider } from 'react-redux'; -import { Router } from 'react-router-redux'; -import { createMemoryHistory } from 'history'; -import makeRoutes from './routes'; -import configureStore from './redux/store'; -import { log } from './lib/platform'; -import { Backend, NoAccountError } from './lib/backend'; -import { DeviceEventEmitter } from 'react-native'; -import { MobileAppBridge } from 'NativeModules'; -import { Dimensions } from 'react-native'; - -const initialState = null; -const memoryHistory = createMemoryHistory(); -const store = configureStore(initialState, memoryHistory); - -////////////////////////////////////////////////////////////////////////// -// Backend -////////////////////////////////////////////////////////////////////////// -const backend = new Backend(store); - -DeviceEventEmitter.addListener('com.mullvad.daemon-connection-ready', async (_event, args) => { - backend.setCredentials(args.credentials); - backend.sync(); - try { - await backend.autologin(); - await backend.fetchRelaySettings(); - await backend.fetchSecurityState(); - await backend.connectTunnel(); - } catch (e) { - if (e instanceof NoAccountError) { - log.debug('No previously configured account set, showing window'); - MobileAppBridge.showWindow(); - } - } -}); - -MobileAppBridge.startBackend() - .then((_response) => { - return; - }) - .catch((e) => { - log.error('Failed starting backend:', e); - }); - -const _isPortrait = () => { - const dim = RX.UserInterface.measureWindow(); - return dim.height >= dim.width; -}; - -export default class App extends Component { - constructor() { - super(); - - this.state = { - orientation: _isPortrait() ? 'portrait' : 'landscape', - }; - - Dimensions.addEventListener('change', () => { - this.setState({ - orientation: _isPortrait() ? 'portrait' : 'landscape', - }); - }); - } - - render() { - return ( - <Provider store={store}> - <Router history={memoryHistory}>{makeRoutes(store.getState, { backend })}</Router> - </Provider> - ); - } -} diff --git a/app/assets/css/fonts.css b/app/assets/css/fonts.css deleted file mode 100644 index 22b97c7f2e..0000000000 --- a/app/assets/css/fonts.css +++ /dev/null @@ -1,23 +0,0 @@ -@font-face { - font-family: DINPro; - font-weight: bold; - src: url("../fonts/DINPro-Bold.otf") format("opentype"); -} - -@font-face { - font-family: DINPro; - font-weight: 900; - src: url("../fonts/DINPro-Black.otf") format("opentype"); -} - -@font-face { - font-family: "Open Sans"; - font-weight: 800; - src: url("../fonts/OpenSans-ExtraBold.ttf") format("truetype"); -} - -@font-face { - font-family: "Open Sans"; - font-weight: 600; - src: url("../fonts/OpenSans-Semibold.ttf") format("truetype"); -} diff --git a/app/assets/css/reset.css b/app/assets/css/reset.css deleted file mode 100644 index cf3d1dd178..0000000000 --- a/app/assets/css/reset.css +++ /dev/null @@ -1,48 +0,0 @@ -/* http://meyerweb.com/eric/tools/css/reset/ - v2.0 | 20110126 - License: none (public domain) -*/ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; -}
\ No newline at end of file diff --git a/app/assets/css/style.css b/app/assets/css/style.css deleted file mode 100644 index c81dbe4c01..0000000000 --- a/app/assets/css/style.css +++ /dev/null @@ -1,8 +0,0 @@ -/* global */ -@import 'reset.css'; -@import 'fonts.css'; -@import 'global.css'; - -/* app */ -@import '../../components/CustomScrollbars.css'; -@import '../../components/Switch.css'; diff --git a/app/assets/css/uiswitch.css b/app/assets/css/uiswitch.css deleted file mode 100644 index e8c037bf1e..0000000000 --- a/app/assets/css/uiswitch.css +++ /dev/null @@ -1,135 +0,0 @@ -/* https://github.com/fnky/css3-uiswitch */ -.uiswitch { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - -o-appearance: none; - appearance: none; - height: 31px; - width: 51px; - position: relative; - border-radius: 16px; - cursor: pointer; - outline: 0; - z-index: 0; - margin: 0; - padding: 0; - border: none; - background-color: #e5e5e5; - -webkit-transition-duration: 600ms; - -moz-transition-duration: 600ms; - transition-duration: 600ms; - -webkit-transition-timing-function: ease-in-out; - -moz-transition-timing-function: ease-in-out; - transition-timing-function: ease-in-out; - -webkit-touch-callout: none; - -webkit-text-size-adjust: none; - -webkit-tap-highlight-color: transparent; - -webkit-user-select: none; } - .uiswitch::before { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - height: 27px; - width: 47px; - content: ' '; - position: absolute; - left: 2px; - top: 2px; - background-color: white; - border-radius: 16px; - z-index: 1; - -webkit-transition-duration: 300ms; - -moz-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); } - .uiswitch::after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - height: 27px; - width: 27px; - content: ' '; - position: absolute; - border-radius: 27px; - background: white; - z-index: 2; - top: 2px; - left: 2px; - box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.25), 0px 4px 11px 0px rgba(0, 0, 0, 0.08), -1px 3px 3px 0px rgba(0, 0, 0, 0.14); - -webkit-transition: -webkit-transform 300ms, width 280ms; - -moz-transition: -moz-transform 300ms, width 280ms; - transition: transform 300ms, width 280ms; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-timing-function: cubic-bezier(0.42, 0.8, 0.58, 1.2); - -moz-transition-timing-function: cubic-bezier(0.42, 0.8, 0.58, 1.2); - transition-timing-function: cubic-bezier(0.42, 0.8, 0.58, 1.2); } - .uiswitch:checked { - background-color: #4cd964; - background-image: -webkit-linear-gradient(-90deg, #4cd964 0%, #4dd865 100%); - background-image: linear-gradient(-180deg,#4cd964 0%, #4dd865 100%); } - .uiswitch:checked::after { - -webkit-transform: translate3d(16px, 0, 0); - -moz-transform: translate3d(16px, 0, 0); - -ms-transform: translate3d(16px, 0, 0); - -o-transform: translate3d(16px, 0, 0); - transform: translate3d(16px, 0, 0); - right: 18px; - left: inherit; } - .uiswitch:active::after { - width: 35px; } - .uiswitch:checked::before, .uiswitch:active::before { - -webkit-transform: scale(0); - -moz-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); } - .uiswitch:disabled { - opacity: 0.5; - cursor: default; - -webkit-transition: none; - -moz-transition: none; - transition: none; } - .uiswitch:disabled:active::before, .uiswitch:disabled:active::after, .uiswitch:disabled:checked:active::before, .uiswitch:disabled:checked::before { - width: 27px; - -webkit-transition: none; - -moz-transition: none; - transition: none; } - .uiswitch:disabled:active::before { - height: 27px; - width: 41px; - -webkit-transform: translate3d(6px, 0, 0); - -moz-transform: translate3d(6px, 0, 0); - -ms-transform: translate3d(6px, 0, 0); - -o-transform: translate3d(6px, 0, 0); - transform: translate3d(6px, 0, 0); } - .uiswitch:disabled:checked:active::before { - height: 27px; - width: 27px; - -webkit-transform: scale(0); - -moz-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); } - -.uiswitch { - background-color: #e5e5e5; } - .uiswitch::before { - background-color: white; } - .uiswitch::after { - background: white; } - .uiswitch:checked { - background-color: #4cd964; - background-image: -webkit-linear-gradient(-90deg, #4cd964 0%, #4dd865 100%); - background-image: linear-gradient(-180deg,#4cd964 0%, #4dd865 100%); }
\ No newline at end of file diff --git a/app/components/AccountInput.js b/app/components/AccountInput.js deleted file mode 100644 index 6e9dc34a7f..0000000000 --- a/app/components/AccountInput.js +++ /dev/null @@ -1,307 +0,0 @@ -// @flow - -import * as React from 'react'; -import { TextInput } from 'reactxp'; -import { formatAccount } from '../lib/formatters'; -import { colors } from '../config'; - -// ESLint issue: https://github.com/babel/babel-eslint/issues/445 -declare class ClipboardEvent extends Event { - clipboardData: DataTransfer; -} - -export type AccountInputProps = { - value: string, - onEnter: ?() => void, - onChange: ?(newValue: string) => void, -}; - -type AccountInputState = { - value: string, - selectionRange: SelectionRange, -}; - -type SelectionRange = [number, number]; - -export default class AccountInput extends React.Component<AccountInputProps, AccountInputState> { - static defaultProps = { - value: '', - onEnter: null, - onChange: null, - }; - - state = { - value: '', - selectionRange: [0, 0], - }; - - _ref: ?TextInput; - - constructor(props: AccountInputProps) { - super(props); - - // selection range holds selection converted from DOM selection range to - // internal unformatted representation of account number - const val = this.sanitize(props.value); - - this.state = { - value: val, - selectionRange: [val.length, val.length], - }; - } - - componentWillReceiveProps(nextProps: AccountInputProps) { - const nextVal = this.sanitize(nextProps.value); - if (nextVal !== this.state.value) { - const len = nextVal.length; - this.setState({ value: nextVal, selectionRange: [len, len] }); - } - } - - shouldComponentUpdate(nextProps: AccountInputProps, nextState: AccountInputState) { - const mergedProps = { ...this.props, ...nextProps }; - const hasPropChanges = Object.keys(mergedProps).some((key) => { - return this.props[key] !== nextProps[key]; - }); - - return ( - hasPropChanges || - this.state.value !== nextState.value || - this.state.selectionRange[0] !== nextState.selectionRange[0] || - this.state.selectionRange[1] !== nextState.selectionRange[1] - ); - } - - render() { - const displayString = formatAccount(this.state.value || ''); - const { value: _value, onChange: _onChange, onEnter: _onEnter, ...otherProps } = this.props; - return ( - <TextInput - {...otherProps} - value={displayString} - onSelectionChange={this.onSelect} - onPaste={this.onPaste} - onCut={this.onCut} - ref={(ref) => this.onRef(ref)} - autoCorrect={false} - onChangeText={() => {}} - onKeyPress={this.onKeyPress} - returnKeyType="done" - keyboardType="numeric" - placeholderTextColor={colors.blue20} - testName="AccountInput" - /> - ); - } - - // Private - - /** - * Modify original string inserting substring using selection range - */ - sanitize(val: ?string): string { - return (val || '').replace(/[^0-9]/g, ''); - } - - /** - * Modify original string inserting substring using selection range - * - * @private - * @param {String} val original string - * @param {String} insert insertion string - * @param {Array} selRange selection range ([x,y]) - * @returns {Object} - */ - insert(val: string, insert: string, selRange: SelectionRange): AccountInputState { - const head = val.slice(0, selRange[0]); - const tail = val.slice(selRange[1], val.length); - const newVal = head + insert + tail; - const selectionOffset = head.length + insert.length; - - return { value: newVal, selectionRange: [selectionOffset, selectionOffset] }; - } - - /** - * Modify string by removing single character or range of characters based on selection range. - * - * @private - * @param {String} val original string - * @param {Array} selRange selection range ([x,y]) - * @returns {Object} - * - * @memberOf AccountInput - */ - remove(val: string, selRange: SelectionRange): AccountInputState { - let newVal, selectionOffset; - - if (selRange[0] === selRange[1]) { - const oneOff = Math.max(0, selRange[0] - 1); - const head = val.slice(0, oneOff); - const tail = val.slice(selRange[0], val.length); - newVal = head + tail; - selectionOffset = head.length; - } else { - const head = val.slice(0, selRange[0]); - const tail = val.slice(selRange[1], val.length); - newVal = head + tail; - selectionOffset = head.length; - } - - return { value: newVal, selectionRange: [selectionOffset, selectionOffset] }; - } - - /** - * Convert DOM selection range to internal selection range - * - * @private - * @param {String} val original string - * @param {Array} domRange selection range from DOM - * @returns {Object} - * - * @memberOf AccountInput - */ - toInternalSelectionRange(val: string, domRange: SelectionRange): SelectionRange { - const countSpaces = (val) => { - return (val.match(/\s/g) || []).length; - }; - - const fmt = formatAccount(val || ''); - let start = domRange[0]; - let end = domRange[1]; - const before = countSpaces(fmt.slice(0, start)); - const within = countSpaces(fmt.slice(start, end)); - - start -= before; - end -= before + within; - - return [start, end]; - } - - /** - * Convert internal selection range to DOM selection range - * - * @private - * @param {String} val original string - * @param {Array} selRange selection range - * @returns {Object} - * - * @memberOf AccountInput - */ - toDomSelection(val: string, selRange: SelectionRange): SelectionRange { - const countSpaces = (val, untilIndex) => { - if (val.length > 12) { - return 0; - } - return Math.floor(untilIndex / 4); // groups of 4 digits - }; - - let start = selRange[0]; - let end = selRange[1]; - const startSpaces = countSpaces(val, start); - const endSpaces = countSpaces(val, end); - - start += startSpaces; - end += startSpaces + (endSpaces - startSpaces); - - return [start, end]; - } - - // Events - _ignoreSelect: boolean; - onKeyPress = (e: KeyboardEvent) => { - const { value, selectionRange } = this.state; - - if (e.which === 8) { - // backspace - this._ignoreSelect = true; - const result = this.remove(value, selectionRange); - e.preventDefault(); - - this.setState(result, () => { - this._ignoreSelect = false; - if (this.props.onChange) { - this.props.onChange(result.value); - } - }); - } else if (/^[0-9]$/.test(e.key)) { - // digits or cmd+v - this._ignoreSelect = true; - const result = this.insert(value, e.key, selectionRange); - e.preventDefault(); - - this.setState(result, () => { - this._ignoreSelect = false; - if (this.props.onChange) { - this.props.onChange(result.value); - } - }); - } else if (e.which === 13 && this.props.onEnter) { - this.props.onEnter(); - } - }; - - onSelect = (start: number, end: number) => { - if (this._ignoreSelect) { - return; - } - const selRange = this.toInternalSelectionRange(this.sanitize(this.state.value), [start, end]); - this.setState({ selectionRange: selRange }); - }; - - onPaste = (e: ClipboardEvent) => { - const { value, selectionRange } = this.state; - const pastedData = e.clipboardData.getData('text'); - const filteredData = this.sanitize(pastedData); - const result = this.insert(value, filteredData, selectionRange); - e.preventDefault(); - this.setState(result, () => { - if (this.props.onChange) { - this.props.onChange(result.value); - } - }); - }; - - onCut = (e: ClipboardEvent) => { - const target = e.target; - if (!(target instanceof HTMLInputElement)) { - throw new Error('ref must be an instance of HTMLInputElement'); - } - - const { value, selectionRange } = this.state; - - e.preventDefault(); - - // range is not empty? - if (selectionRange[0] !== selectionRange[1]) { - const result = this.remove(value, selectionRange); - const domSelectionRange = this.toDomSelection(value, selectionRange); - const slice = target.value.slice(domSelectionRange[0], domSelectionRange[1]); - - e.clipboardData.setData('text', slice); - - this.setState(result, () => { - if (this.props.onChange) { - this.props.onChange(result.value); - } - }); - } - }; - - onRef = (ref: ?TextInput) => { - this._ref = ref; - if (!ref) { - return; - } - - const { value, selectionRange } = this.state; - const domRange = this.toDomSelection(value, selectionRange); - - ref.selectRange(domRange[0], domRange[1]); - }; - - focus() { - if (this._ref) { - this._ref.focus(); - } - } -} diff --git a/app/components/BlurAppButtonStyles.android.js b/app/components/BlurAppButtonStyles.android.js deleted file mode 100644 index 5f185176c5..0000000000 --- a/app/components/BlurAppButtonStyles.android.js +++ /dev/null @@ -1,19 +0,0 @@ -// @flow - -import { Styles } from 'reactxp'; -import { colors } from '../../config'; - -export default { - transparent: Styles.createViewStyle({ - backgroundColor: colors.white20, - }), - transparentHover: Styles.createViewStyle({ - backgroundColor: colors.white40, - }), - redTransparent: Styles.createViewStyle({ - backgroundColor: colors.red40, - }), - redTransparentHover: Styles.createViewStyle({ - backgroundColor: colors.red45, - }), -}; diff --git a/app/components/CustomScrollbars.android.js b/app/components/CustomScrollbars.android.js deleted file mode 100644 index dadc462234..0000000000 --- a/app/components/CustomScrollbars.android.js +++ /dev/null @@ -1,33 +0,0 @@ -// @flow - -import * as React from 'react'; -import { View, Component } from 'reactxp'; - -type Props = { - autoHide: boolean, - thumbInset: { x: number, y: number }, - children?: React.Node, -}; - -type State = { - canScroll: boolean, - showScrollIndicators: boolean, -}; - -export default class CustomScrollbars extends Component<Props, State> { - static defaultProps = { - autoHide: true, - thumbInset: { x: 2, y: 2 }, - }; - - state = { - canScroll: false, - showScrollIndicators: true, - }; - - render() { - const { autoHide: _autoHide, thumbInset: _thumbInset, children, ...otherProps } = this.props; - - return <View {...otherProps}>{children}</View>; - } -} diff --git a/app/components/Img.android.js b/app/components/Img.android.js deleted file mode 100644 index 778562fe3d..0000000000 --- a/app/components/Img.android.js +++ /dev/null @@ -1,45 +0,0 @@ -// @flow - -import React, { Component } from 'react'; -import { StyleSheet } from 'react-native'; -import { Image, Styles } from 'reactxp'; - -export default class Img extends Component { - props: { - source: string, - style: Object, - tintColor?: string, - height?: number, - width?: number, - }; - - render() { - const width = this.props.width || 7; - const height = this.props.height || 12; - const source = this.props.source || 'icon-chevron'; - const tintColor = this.props.tintColor || 'currentColor'; - - if (tintColor === 'currentColor' && this.props.style) { - const { color: tint, ...otherStyles } = StyleSheet.flatten(this.props.style); - return ( - <Image - style={Styles.createViewStyle( - { ...otherStyles, tintColor: tint, height: height, width: width }, - false, - )} - source={source} - /> - ); - } else { - return ( - <Image - style={Styles.createViewStyle( - { ...this.props.style, height: height, width: width }, - false, - )} - source={source} - /> - ); - } - } -} diff --git a/app/components/PlatformWindow.android.js b/app/components/PlatformWindow.android.js deleted file mode 100644 index 32f9a4f3bf..0000000000 --- a/app/components/PlatformWindow.android.js +++ /dev/null @@ -1,14 +0,0 @@ -// @flow - -import * as React from 'react'; -import { KeyboardAvoidingView } from 'react-native'; - -export default class PlatformWindow extends React.Component { - props: { - children: Array<React.Node> | React.Node, - }; - - render() { - return <KeyboardAvoidingView behavior={'position'}>{this.props.children}</KeyboardAvoidingView>; - } -} diff --git a/app/components/Switch.android.js b/app/components/Switch.android.js deleted file mode 100644 index cbf29c3ad9..0000000000 --- a/app/components/Switch.android.js +++ /dev/null @@ -1,25 +0,0 @@ -// @flow - -import * as React from 'react'; -import { Switch as _Switch } from 'react-native'; - -export type SwitchProps = { - isOn: boolean, - onChange?: (isOn: boolean) => void, -}; - -type State = {}; - -export default class Switch extends React.Component<SwitchProps, State> { - static defaultProps: SwitchProps = { - isOn: false, - onChange: () => {}, - }; - - state = {}; - - render() { - const { isOn, ...otherProps } = this.props; - return <_Switch {...otherProps} value={isOn} onValueChange={this.props.onChange(isOn)} />; - } -} diff --git a/app/components/TransitionContainerStyles.android.js b/app/components/TransitionContainerStyles.android.js deleted file mode 100644 index d69980ab43..0000000000 --- a/app/components/TransitionContainerStyles.android.js +++ /dev/null @@ -1,38 +0,0 @@ -// @flow - -import { Styles, UserInterface } from 'reactxp'; -import { MobileAppBridge } from 'NativeModules'; -import { log } from '../lib/platform'; - -const dimensions = UserInterface.measureWindow(); -let menuBarHeight; - -MobileAppBridge.getMenuBarHeight() - .then((_response) => { - menuBarHeight = _response; - return; - }) - .catch((e) => { - log.error('Failed getting menuBarHeight:', e); - }); - -export default () => { - return { - animationDefaultStyle: Styles.createAnimatedViewStyle( - { - position: 'absolute', - width: dimensions.width, - height: dimensions.height - menuBarHeight + 24, - }, - false, - ), - allowPointerEventsStyle: null, - transitionContainerStyle: Styles.createViewStyle( - { - width: dimensions.width, - height: dimensions.height - menuBarHeight + 24, //TODO: Remove ugly hack since it seems that at least my LG is seems hard to find the real display area ... Probably needs to be fixed for some versions or models - }, - false, - ), - }; -}; diff --git a/app/lib/formatters.js b/app/lib/formatters.js deleted file mode 100644 index 37d7460768..0000000000 --- a/app/lib/formatters.js +++ /dev/null @@ -1,10 +0,0 @@ -// @flow - -export const formatAccount = (val: string): string => { - // display number altogether when longer than 12 - if (val.length > 12) { - return val; - } - // display quartets - return val.replace(/([0-9]{4})/g, '$1 ').trim(); -}; diff --git a/app/lib/platform.android.js b/app/lib/platform.android.js deleted file mode 100644 index e71c1facf7..0000000000 --- a/app/lib/platform.android.js +++ /dev/null @@ -1,33 +0,0 @@ -// @flow - -import { BackHandler, Linking } from 'react-native'; -import { MobileAppBridge } from 'NativeModules'; -import { version } from '../../package.json'; - -const log = console.log; - -const getAppVersion = () => { - return version; -}; - -const getOpenAtLogin = () => { - throw new Error('Not implemented'); -}; - -const setOpenAtLogin = (_autoStart: boolean) => { - throw new Error('Not implemented'); -}; - -const exit = () => { - BackHandler.exitApp(); -}; - -const openLink = (link: string) => { - Linking.openURL(link); -}; - -const openItem = (path: string) => { - MobileAppBridge.openItem(path); -}; - -export { log, exit, openLink, openItem, getAppVersion, getOpenAtLogin, setOpenAtLogin }; diff --git a/app/lib/problem-report.android.js b/app/lib/problem-report.android.js deleted file mode 100644 index 30a944e178..0000000000 --- a/app/lib/problem-report.android.js +++ /dev/null @@ -1,13 +0,0 @@ -// @flow - -import { MobileAppBridge } from 'NativeModules'; - -const collectProblemReport = (toRedact: string) => { - return MobileAppBridge.collectProblemReport(toRedact); -}; - -const sendProblemReport = (email: string, message: string, savedReport: string) => { - return MobileAppBridge.sendProblemReport(email, message, savedReport); -}; - -export { collectProblemReport, sendProblemReport }; @@ -13,7 +13,7 @@ set -eu SCRIPT_DIR="$( cd "$(dirname "$0")" ; pwd -P )" RUSTC_VERSION=`rustc +stable --version` -PRODUCT_VERSION=$(node -p "require('./package.json').version" | sed -Ee 's/\.0//g') +PRODUCT_VERSION=$(node -p "require('./gui/packages/desktop/package.json').version" | sed -Ee 's/\.0//g') source env.sh if [[ "${1:-""}" != "--dev-build" ]]; then @@ -67,7 +67,7 @@ echo "Building Mullvad VPN $PRODUCT_VERSION" SEMVER_VERSION=$(echo $PRODUCT_VERSION | sed -Ee 's/($|-.*)/.0\1/g') function restore_metadata_backups() { - mv package.json.bak package.json || true + mv gui/packages/desktop/package.json.bak gui/packages/desktop/package.json || true mv Cargo.lock.bak Cargo.lock || true mv mullvad-daemon/Cargo.toml.bak mullvad-daemon/Cargo.toml || true mv mullvad-cli/Cargo.toml.bak mullvad-cli/Cargo.toml || true @@ -78,7 +78,7 @@ trap 'restore_metadata_backups' EXIT sed -i.bak \ -Ee "s/\"version\": \"[^\"]+\",/\"version\": \"$SEMVER_VERSION\",/g" \ - package.json + gui/packages/desktop/package.json cp Cargo.lock Cargo.lock.bak sed -i.bak \ @@ -151,6 +151,7 @@ curl -X POST \ node -e "$JSONRPC_CODE" > dist-assets/relays.json echo "Installing JavaScript dependencies..." +cd gui yarn install ################################################################################ @@ -164,6 +165,8 @@ case "$(uname -s)" in MINGW*) yarn pack:win;; esac +cd .. + for semver_path in dist/*$SEMVER_VERSION*; do product_path=$(echo $semver_path | sed -Ee "s/$SEMVER_VERSION/$PRODUCT_VERSION/g") echo "Moving $semver_path -> $product_path" diff --git a/electron-builder.yml b/electron-builder.yml deleted file mode 100644 index 7d421659b4..0000000000 --- a/electron-builder.yml +++ /dev/null @@ -1,124 +0,0 @@ -appId: net.mullvad.vpn -copyright: Amagicom AB -productName: Mullvad VPN - -asar: true -compression: maximum - -# assets bundled on all platforms -extraResources: - # master.mullvad.net certificate used by mullvad-daemon - - from: dist-assets/ca.crt - to: . - - from: dist-assets/crl.pem - to: . - - from: dist-assets/api_root_ca.pem - to: . - - from: dist-assets/relays.json - to: . - - from: CHANGELOG.md - to: . - -directories: - buildResources: dist-assets/ - output: dist/ - -files: - - package.json - - init.js - - build/ - - node_modules/ - -mac: - target: pkg - artifactName: MullvadVPN-${version}.${ext} - category: public.app-category.tools - extendInfo: - LSUIElement: true - extraResources: - - from: ./target/release/mullvad - to: . - - from: ./target/release/problem-report - to: . - - from: ./target/release/mullvad-daemon - to: . - - from: ./target/release/libtalpid_openvpn_plugin.dylib - to: . - - from: ./dist-assets/binaries/macos/openvpn - to: . - -pkg: - allowAnywhere: false - allowCurrentUserHome: false - isRelocatable: false - -nsis: - oneClick: false - perMachine: true - allowElevation: true - allowToChangeInstallationDirectory: true - include: dist-assets/windows/installer.nsh - installerSidebar: dist-assets/windows/installersidebar.bmp - -win: - target: - - target: nsis - arch: - - x64 - artifactName: MullvadVPN-${version}.${ext} - signDlls: true - extraResources: - - from: ./target/release/mullvad.exe - to: . - - from: ./target/release/problem-report.exe - to: . - - from: ./target/release/mullvad-daemon.exe - to: . - - from: ./target/release/talpid_openvpn_plugin.dll - to: . - - from: ./windows/winfw/bin/x64-Release/winfw.dll - to: . - - from: ./windows/windns/bin/x64-Release/windns.dll - to: . - - from: ./windows/winroute/bin/x64-Release/winroute.dll - to: . - - from: ./dist-assets/binaries/windows/openvpn.exe - to: . - publisherName: Amagicom AB - signingHashAlgorithms: - - sha256 - -linux: - target: - - deb - - rpm - artifactName: MullvadVPN-${version}_${arch}.${ext} - category: Network - extraResources: - - from: ./target/release/mullvad - to: . - - from: ./target/release/problem-report - to: . - - from: ./target/release/mullvad-daemon - to: . - - from: ./target/release/libtalpid_openvpn_plugin.so - to: . - - from: ./dist-assets/binaries/linux/openvpn - to: . - -deb: - fpm: ["--config-files", "/etc/systemd/system/mullvad-daemon.service", - "./dist-assets/linux/mullvad-daemon.service=/etc/systemd/system/"] - afterInstall: ./dist-assets/linux/install_script.sh - afterRemove: ./dist-assets/linux/uninstall_script.sh - -rpm: - fpm: ["--config-files", "/etc/systemd/system/mullvad-daemon.service", - "./dist-assets/linux/mullvad-daemon.service=/etc/systemd/system/"] - afterInstall: ./dist-assets/linux/install_script.sh - afterRemove: ./dist-assets/linux/uninstall_script.sh - depends: - - libXScrnSaver - - libappindicator - - libnotify - - libnsl diff --git a/gui/.eslintignore b/gui/.eslintignore new file mode 100644 index 0000000000..dd87e2d73f --- /dev/null +++ b/gui/.eslintignore @@ -0,0 +1,2 @@ +node_modules +build diff --git a/.eslintrc b/gui/.eslintrc index 0f54d38f8b..b8311ebade 100644 --- a/.eslintrc +++ b/gui/.eslintrc @@ -18,8 +18,8 @@ } }, "plugins": [ - "react", - "flowtype", + "react", + "flowtype", "promise" ], "rules": { @@ -50,7 +50,6 @@ }, "env": { "es6": true, - "node": true, - "browser": true + "node": true } } diff --git a/gui/.flowconfig b/gui/.flowconfig new file mode 100644 index 0000000000..ee4f9e3cc9 --- /dev/null +++ b/gui/.flowconfig @@ -0,0 +1,14 @@ +[ignore] + +[include] + +[libs] +flow-libs/ + +[lints] + +[options] +suppress_comment= \\(.\\|\n\\)*\\$FlowFixMe +munge_underscores=true + +[strict] diff --git a/gui/.prettierignore b/gui/.prettierignore new file mode 100644 index 0000000000..b38db2f296 --- /dev/null +++ b/gui/.prettierignore @@ -0,0 +1,2 @@ +node_modules/ +build/ diff --git a/.prettierrc.yml b/gui/.prettierrc.yml index 7e3032aa3f..7e3032aa3f 100644 --- a/.prettierrc.yml +++ b/gui/.prettierrc.yml diff --git a/flow-libs/electron.js.flow b/gui/flow-libs/electron.js.flow index b0facb6c7e..b0facb6c7e 100644 --- a/flow-libs/electron.js.flow +++ b/gui/flow-libs/electron.js.flow diff --git a/flow-libs/notification.js.flow b/gui/flow-libs/notification.js.flow index bf5dda3af2..bf5dda3af2 100644 --- a/flow-libs/notification.js.flow +++ b/gui/flow-libs/notification.js.flow diff --git a/flow-libs/tests.js.flow b/gui/flow-libs/tests.js.flow index aecc8239fa..8b6621a6de 100644 --- a/flow-libs/tests.js.flow +++ b/gui/flow-libs/tests.js.flow @@ -9,4 +9,4 @@ declare function afterEach((done: Function) => void): Promise<any> | void; declare function beforeEach((done: Function) => void): Promise<any> | void; declare var expect: $PropertyType<chai, 'expect'>; -declare var spy: any;
\ No newline at end of file +declare var spy: any; diff --git a/gui/package.json b/gui/package.json new file mode 100644 index 0000000000..f9788cc390 --- /dev/null +++ b/gui/package.json @@ -0,0 +1,27 @@ +{ + "private": true, + "workspaces": [ + "packages/*" + ], + "scripts": { + "flow": "flow", + "lint": "eslint \"packages/**/*.js\"", + "format": "yarn run private:format --write", + "check-format": "yarn run private:format --list-different", + "private:format": "prettier \"packages/**/*.{js,css}\"", + "pack:mac": "yarn workspace desktop pack:mac", + "pack:win": "yarn workspace desktop pack:win", + "pack:linux": "yarn workspace desktop pack:linux" + }, + "devDependencies": { + "babel-eslint": "^8.2.6", + "eslint": "^5.2.0", + "eslint-config-prettier": "^2.9.0", + "eslint-plugin-flowtype": "^2.50.0", + "eslint-plugin-promise": "^3.8.0", + "eslint-plugin-react": "^7.10.0", + "flow-bin": "0.78", + "flow-typed": "^2.5.1", + "prettier": "1.13.7" + } +} diff --git a/gui/packages/components/.babelrc b/gui/packages/components/.babelrc new file mode 100644 index 0000000000..3c788e0ea7 --- /dev/null +++ b/gui/packages/components/.babelrc @@ -0,0 +1,12 @@ +{ + "presets": [ + ["env", { + "targets": { "node": "8.9" }, + "useBuiltIns": true + }], "react" + ], + "plugins": [ + "transform-class-properties", + "transform-object-rest-spread" + ] +} diff --git a/gui/packages/components/.eslintrc b/gui/packages/components/.eslintrc new file mode 100644 index 0000000000..e5a34aec6a --- /dev/null +++ b/gui/packages/components/.eslintrc @@ -0,0 +1,5 @@ +{ + "env": { + "browser": true + } +} diff --git a/gui/packages/components/package.json b/gui/packages/components/package.json new file mode 100644 index 0000000000..65e66d71a2 --- /dev/null +++ b/gui/packages/components/package.json @@ -0,0 +1,40 @@ +{ + "name": "@mullvad/components", + "version": "0.1.0", + "main": "build/index.js", + "license": "GPL-3.0", + "private": true, + "scripts": { + "postinstall": "yarn run build", + "test": "mocha -R spec --require babel-core/register --require \"test/setup.js\" \"test/**/*.spec.js\"", + "build": "run-s private:build:clean private:build:compile", + "private:build:clean": "rimraf build", + "private:build:compile": "babel src/ --copy-files --out-dir build" + }, + "devDependencies": { + "babel-cli": "^6.26.0", + "babel-core": "^6.26.3", + "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-object-rest-spread": "^6.26.0", + "babel-preset-env": "^1.7.0", + "babel-preset-react": "^6.24.1", + "chai": "^4.1.2", + "enzyme": "^3.3.0", + "enzyme-adapter-react-16": "^1.1.1", + "jsdom": "^11.12.0", + "mocha": "^5.2.0", + "npm-run-all": "^4.1.3", + "react": "^16.0.0", + "react-dom": "^16.0.0", + "reactxp": "^1.3.3", + "rimraf": "^2.6.2" + }, + "dependencies": { + "babel-runtime": "^6.26.0" + }, + "peerDependencies": { + "react": "^16.0.0", + "react-dom": "^16.0.0", + "reactxp": "^1.3.2" + } +} diff --git a/app/components/Accordion.js b/gui/packages/components/src/Accordion.js index 8197fd0e61..6be18b00b1 100644 --- a/app/components/Accordion.js +++ b/gui/packages/components/src/Accordion.js @@ -2,27 +2,26 @@ import * as React from 'react'; import { Component, View, Styles, Animated, UserInterface } from 'reactxp'; -import { log } from '../lib/platform'; -export type AccordionProps = { +type Props = { height: number | 'auto', animationDuration?: number, children?: React.Node, }; -export type AccordionState = { +type State = { animatedValue: ?Animated.Value, }; const containerOverflowStyle = Styles.createViewStyle({ overflow: 'hidden' }); -export default class Accordion extends Component<AccordionProps, AccordionState> { +export default class Accordion extends Component<Props, State> { static defaultProps = { height: 'auto', animationDuration: 350, }; - state: AccordionState = { + state: State = { animatedValue: null, animation: null, }; @@ -31,7 +30,7 @@ export default class Accordion extends Component<AccordionProps, AccordionState> _contentHeight = 0; _animation = (null: ?Animated.CompositeAnimation); - constructor(props: AccordionProps) { + constructor(props: Props) { super(props); // set the initial height if it's known @@ -48,7 +47,7 @@ export default class Accordion extends Component<AccordionProps, AccordionState> } } - shouldComponentUpdate(nextProps: AccordionProps, nextState: AccordionState) { + shouldComponentUpdate(nextProps: Props, nextState: State) { return ( nextState.animatedValue !== this.state.animatedValue || nextProps.height !== this.props.height || @@ -56,7 +55,7 @@ export default class Accordion extends Component<AccordionProps, AccordionState> ); } - componentDidUpdate(prevProps: AccordionProps, _prevState: AccordionState) { + componentDidUpdate(prevProps: Props, _prevState: State) { if (prevProps.height !== this.props.height) { this._animateHeightChanges(); } @@ -122,7 +121,7 @@ export default class Accordion extends Component<AccordionProps, AccordionState> animation.start(this._onAnimationEnd); }); } catch (error) { - log.error(`Failed to measure the layout of Accordion: ${error.message}`); + // TODO: log error } } diff --git a/gui/packages/components/src/index.js b/gui/packages/components/src/index.js new file mode 100644 index 0000000000..10cc634888 --- /dev/null +++ b/gui/packages/components/src/index.js @@ -0,0 +1,3 @@ +// @flow + +export { default as Accordion } from './Accordion'; diff --git a/gui/packages/components/test/.eslintrc b/gui/packages/components/test/.eslintrc new file mode 100644 index 0000000000..fc2ab4d496 --- /dev/null +++ b/gui/packages/components/test/.eslintrc @@ -0,0 +1,12 @@ +{ + "rules": { + "no-unused-expressions" : "off", + "react/no-render-return-value": "off" + }, + "env": { + "mocha": true + }, + "globals": { + "expect": true + } +} diff --git a/gui/packages/components/test/setup.js b/gui/packages/components/test/setup.js new file mode 100644 index 0000000000..fefae9ebec --- /dev/null +++ b/gui/packages/components/test/setup.js @@ -0,0 +1,33 @@ +const { JSDOM } = require('jsdom'); +const Enzyme = require('enzyme'); +const Adapter = require('enzyme-adapter-react-16'); +const chai = require('chai'); + +Enzyme.configure({ + adapter: new Adapter(), +}); + +const jsdom = new JSDOM('<!doctype html><html><body></body></html>'); +const { window } = jsdom; + +function copyProps(src, target) { + const props = Object.getOwnPropertyNames(src) + .filter((prop) => typeof target[prop] === 'undefined') + .reduce( + (result, prop) => ({ + ...result, + [prop]: Object.getOwnPropertyDescriptor(src, prop), + }), + {}, + ); + Object.defineProperties(target, props); +} + +global.window = window; +global.document = window.document; +global.navigator = { + userAgent: 'node.js', +}; +copyProps(window, global); + +global.expect = chai.expect; diff --git a/gui/packages/components/test/test-stub.spec.js b/gui/packages/components/test/test-stub.spec.js new file mode 100644 index 0000000000..3b70b327e9 --- /dev/null +++ b/gui/packages/components/test/test-stub.spec.js @@ -0,0 +1,3 @@ +// @flow + +describe('No tests', () => {}); diff --git a/gui/packages/desktop/.babelrc b/gui/packages/desktop/.babelrc new file mode 100644 index 0000000000..285fcb5d3c --- /dev/null +++ b/gui/packages/desktop/.babelrc @@ -0,0 +1,13 @@ +{ + "presets": [ + ["env", { + "targets": { "electron": "2.0" }, + "useBuiltIns": true + }], "react" + ], + "plugins": [ + "transform-class-properties", + "transform-object-rest-spread", + ["transform-builtin-extend", { "globals": ["Error"] }] + ] +} diff --git a/gui/packages/desktop/electron-builder.yml b/gui/packages/desktop/electron-builder.yml new file mode 100644 index 0000000000..0f54f50ca7 --- /dev/null +++ b/gui/packages/desktop/electron-builder.yml @@ -0,0 +1,124 @@ +appId: net.mullvad.vpn +copyright: Amagicom AB +productName: Mullvad VPN + +asar: true +compression: maximum + +# assets bundled on all platforms +extraResources: + # master.mullvad.net certificate used by mullvad-daemon + - from: ../../../dist-assets/ca.crt + to: . + - from: ../../../dist-assets/crl.pem + to: . + - from: ../../../dist-assets/api_root_ca.pem + to: . + - from: ../../../dist-assets/relays.json + to: . + - from: ../../../CHANGELOG.md + to: . + +directories: + buildResources: ../../../dist-assets/ + output: ../../../dist/ + +files: + - package.json + - init.js + - build/ + - node_modules/ + +mac: + target: pkg + artifactName: MullvadVPN-${version}.${ext} + category: public.app-category.tools + extendInfo: + LSUIElement: true + extraResources: + - from: ../../../target/release/mullvad + to: . + - from: ../../../target/release/problem-report + to: . + - from: ../../../target/release/mullvad-daemon + to: . + - from: ../../../target/release/libtalpid_openvpn_plugin.dylib + to: . + - from: ../../../dist-assets/binaries/macos/openvpn + to: . + +pkg: + allowAnywhere: false + allowCurrentUserHome: false + isRelocatable: false + +nsis: + oneClick: false + perMachine: true + allowElevation: true + allowToChangeInstallationDirectory: true + include: ../../../dist-assets/windows/installer.nsh + installerSidebar: ../../../dist-assets/windows/installersidebar.bmp + +win: + target: + - target: nsis + arch: + - x64 + artifactName: MullvadVPN-${version}.${ext} + signDlls: true + extraResources: + - from: ../../../target/release/mullvad.exe + to: . + - from: ../../../target/release/problem-report.exe + to: . + - from: ../../../target/release/mullvad-daemon.exe + to: . + - from: ../../../target/release/talpid_openvpn_plugin.dll + to: . + - from: ../../../windows/winfw/bin/x64-Release/winfw.dll + to: . + - from: ../../../windows/windns/bin/x64-Release/windns.dll + to: . + - from: ../../../windows/winroute/bin/x64-Release/winroute.dll + to: . + - from: ../../../dist-assets/binaries/windows/openvpn.exe + to: . + publisherName: Amagicom AB + signingHashAlgorithms: + - sha256 + +linux: + target: + - deb + - rpm + artifactName: MullvadVPN-${version}_${arch}.${ext} + category: Network + extraResources: + - from: ../../../target/release/mullvad + to: . + - from: ../../../target/release/problem-report + to: . + - from: ../../../target/release/mullvad-daemon + to: . + - from: ../../../target/release/libtalpid_openvpn_plugin.so + to: . + - from: ../../../dist-assets/binaries/linux/openvpn + to: . + +deb: + fpm: ["--config-files", "/etc/systemd/system/mullvad-daemon.service", + "../../../dist-assets/linux/mullvad-daemon.service=/etc/systemd/system/"] + afterInstall: ../../../dist-assets/linux/install_script.sh + afterRemove: ../../../dist-assets/linux/uninstall_script.sh + +rpm: + fpm: ["--config-files", "/etc/systemd/system/mullvad-daemon.service", + "../../../dist-assets/linux/mullvad-daemon.service=/etc/systemd/system/"] + afterInstall: ../../../dist-assets/linux/install_script.sh + afterRemove: ../../../dist-assets/linux/uninstall_script.sh + depends: + - libXScrnSaver + - libappindicator + - libnotify + - libnsl diff --git a/geo-data/README.md b/gui/packages/desktop/geo-data/README.md index 22cdc5ee52..8a102e24fd 100644 --- a/geo-data/README.md +++ b/gui/packages/desktop/geo-data/README.md @@ -61,12 +61,12 @@ and finally generate the R-Tree cache: npx babel-node prepare-rtree.js ``` -At this point all of the data should be saved in `geo-data/out` folder. +At this point all of the data should be saved in `gui/packages/desktop/geo-data/out` folder. ## App integration notes Once you've extracted all the geo data, run the integration script that will -copy all files ignoring intermediate ones into the `app/assets/geo` folder: +copy all files ignoring intermediate ones into the `gui/packages/desktop/src/assets/geo` folder: ``` python integrate-into-app.py diff --git a/geo-data/extract-geo-data.py b/gui/packages/desktop/geo-data/extract-geo-data.py index 77c16259dd..0c3d7481e5 100644 --- a/geo-data/extract-geo-data.py +++ b/gui/packages/desktop/geo-data/extract-geo-data.py @@ -141,4 +141,4 @@ if not os.path.exists(OUT_DIR): extract_cites() extract_countries() extract_geometry() -extract_provinces_and_states_lines()
\ No newline at end of file +extract_provinces_and_states_lines() diff --git a/geo-data/integrate-into-app.py b/gui/packages/desktop/geo-data/integrate-into-app.py index 6209f6367b..b075482b6d 100644 --- a/geo-data/integrate-into-app.py +++ b/gui/packages/desktop/geo-data/integrate-into-app.py @@ -7,7 +7,7 @@ import shutil SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) SOURCE_DIR = os.path.join(SCRIPT_DIR, "out") -DESTINATION_DIR = os.path.realpath(os.path.join(SCRIPT_DIR, "../app/assets/geo")) +DESTINATION_DIR = os.path.realpath(os.path.join(SCRIPT_DIR, "../src/assets/geo")) FILES_TO_COPY = [ "cities.rbush.json", diff --git a/geo-data/prepare-rtree.js b/gui/packages/desktop/geo-data/prepare-rtree.js index b98942eee2..8d6c96777b 100644 --- a/geo-data/prepare-rtree.js +++ b/gui/packages/desktop/geo-data/prepare-rtree.js @@ -12,17 +12,20 @@ const pointData = ['countries', 'cities']; const output_dir = path.join(__dirname, 'out'); -for(const name of geometryData) { +for (const name of geometryData) { const source = path.join(output_dir, `${name}.json`); const destination = path.join(output_dir, `${name}.rbush.json`); const collection = JSON.parse(fs.readFileSync(source)); const { geometry } = collection.objects; - const treeData = geometry.geometries.map(object => { + const treeData = geometry.geometries.map((object) => { const [minX, minY, maxX, maxY] = object.bbox; return { ...object, - minX, minY, maxX, maxY + minX, + minY, + maxX, + maxY, }; }); @@ -33,14 +36,15 @@ for(const name of geometryData) { console.log(`Saved a rbush to ${destination}`); } -for(const name of pointData) { +for (const name of pointData) { const source = path.join(output_dir, `${name}.json`); const destination = path.join(output_dir, `${name}.rbush.json`); const collection = JSON.parse(fs.readFileSync(source)); const treeData = collection.features.map((feat) => { const { coordinates } = feat.geometry; - return { ...feat, + return { + ...feat, minX: coordinates[0], minY: coordinates[1], maxX: coordinates[0], @@ -54,4 +58,3 @@ for(const name of pointData) { console.log(`Saved a rbush to ${destination}`); } - diff --git a/geo-data/pylintrc b/gui/packages/desktop/geo-data/pylintrc index 7f79439857..7f79439857 100644 --- a/geo-data/pylintrc +++ b/gui/packages/desktop/geo-data/pylintrc diff --git a/geo-data/requirements.txt b/gui/packages/desktop/geo-data/requirements.txt index 6804e323c4..6804e323c4 100644 --- a/geo-data/requirements.txt +++ b/gui/packages/desktop/geo-data/requirements.txt diff --git a/init.js b/gui/packages/desktop/init.js index e489d4ef8e..e489d4ef8e 100644 --- a/init.js +++ b/gui/packages/desktop/init.js diff --git a/gui/packages/desktop/package.json b/gui/packages/desktop/package.json new file mode 100644 index 0000000000..1fead9744c --- /dev/null +++ b/gui/packages/desktop/package.json @@ -0,0 +1,80 @@ +{ + "name": "desktop", + "version": "2018.2.0", + "productName": "Mullvad VPN", + "private": true, + "description": "Mullvad VPN client", + "main": "init.js", + "author": { + "name": "Mullvad VPN", + "email": "support@mullvad.net" + }, + "repository": "https://github.com/mullvad/mullvadvpn-app", + "license": "GPL-3.0", + "dependencies": { + "@mullvad/components": "0.1.0", + "babel-runtime": "^6.26.0", + "chai-as-promised": "^7.1.1", + "connected-react-router": "^4.3.0", + "d3-geo-projection": "^2.3.2", + "electron-log": "^2.2.8", + "history": "^4.6.1", + "jsonrpc-lite": "^1.2.3", + "mkdirp": "^0.5.1", + "moment": "^2.20.1", + "rbush": "^2.0.2", + "react": "^16.0.0", + "react-dom": "^16.0.0", + "react-redux": "^5.0.7", + "react-router": "^4.3.1", + "react-simple-maps": "^0.10.1", + "reactxp": "^1.3.3", + "redux": "^4.0.0", + "redux-thunk": "^2.3.0", + "uuid": "^3.0.1", + "validated": "^1.3.0" + }, + "optionalDependencies": { + "nseventmonitor": "https://github.com/mullvad/NSEventMonitor.git#0.0.9", + "windows-security": "https://github.com/mullvad/windows-security.git#0.0.5" + }, + "devDependencies": { + "babel-cli": "^6.26.0", + "babel-core": "^6.26.3", + "babel-plugin-transform-builtin-extend": "^1.1.2", + "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-object-rest-spread": "^6.26.0", + "babel-preset-env": "^1.7.0", + "babel-preset-react": "^6.24.1", + "browser-sync": "^2.23.6", + "chai": "^4.1.0", + "chai-spies": "^1.0.0", + "cross-env": "^5.1.3", + "electron": "^2.0.2", + "electron-builder": "^20.27.1", + "electron-devtools-installer": "^2.2.1", + "electron-mocha": "^6.0.4", + "enzyme": "^3.2.0", + "enzyme-adapter-react-16": "^1.1.0", + "mock-socket": "^8.0.2", + "npm-run-all": "^4.0.1", + "rimraf": "^2.5.4" + }, + "scripts": { + "postinstall": "electron-builder install-app-deps", + "develop": "cross-env yarn run private:compile --source-maps true && run-p -r private:watch private:serve", + "test": "electron-mocha --renderer -R spec --require babel-core/register --require-main \"test/setup/main.js\" --preload \"test/setup/renderer.js\" \"test/*.spec.js\" \"test/**/*.spec.js\"", + "pack:mac": "run-s private:clean private:compile private:build:mac private:postbuild:mac", + "pack:win": "run-s private:clean private:compile private:build:win", + "pack:linux": "run-s private:clean private:compile private:build:linux", + "private:build:mac": "yarn run private:build --mac", + "private:postbuild:mac": "rimraf ../../../dist/mac", + "private:build:win": "yarn run private:build --win", + "private:build:linux": "yarn run private:build --linux", + "private:build": "electron-builder", + "private:watch": "cross-env yarn run private:compile --source-maps true --watch --skip-initial-build", + "private:serve": "cross-env babel-node scripts/serve.js", + "private:compile": "babel src/ --copy-files --out-dir build", + "private:clean": "rimraf build" + } +} diff --git a/scripts/serve.js b/gui/packages/desktop/scripts/serve.js index 03abeab2c2..03abeab2c2 100644 --- a/scripts/serve.js +++ b/gui/packages/desktop/scripts/serve.js diff --git a/gui/packages/desktop/src/assets/css/fonts.css b/gui/packages/desktop/src/assets/css/fonts.css new file mode 100644 index 0000000000..d648cd74f5 --- /dev/null +++ b/gui/packages/desktop/src/assets/css/fonts.css @@ -0,0 +1,23 @@ +@font-face { + font-family: DINPro; + font-weight: bold; + src: url('../fonts/DINPro-Bold.otf') format('opentype'); +} + +@font-face { + font-family: DINPro; + font-weight: 900; + src: url('../fonts/DINPro-Black.otf') format('opentype'); +} + +@font-face { + font-family: 'Open Sans'; + font-weight: 800; + src: url('../fonts/OpenSans-ExtraBold.ttf') format('truetype'); +} + +@font-face { + font-family: 'Open Sans'; + font-weight: 600; + src: url('../fonts/OpenSans-Semibold.ttf') format('truetype'); +} diff --git a/app/assets/css/global.css b/gui/packages/desktop/src/assets/css/global.css index cf35bc2643..a6a157e84c 100644 --- a/app/assets/css/global.css +++ b/gui/packages/desktop/src/assets/css/global.css @@ -1,4 +1,6 @@ -* { box-sizing: border-box; } +* { + box-sizing: border-box; +} :focus { outline: 0; @@ -31,4 +33,4 @@ body { ::-webkit-input-placeholder { color: rgba(41, 77, 115, 0.4); -}
\ No newline at end of file +} diff --git a/gui/packages/desktop/src/assets/css/reset.css b/gui/packages/desktop/src/assets/css/reset.css new file mode 100644 index 0000000000..d971da6765 --- /dev/null +++ b/gui/packages/desktop/src/assets/css/reset.css @@ -0,0 +1,129 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +body { + line-height: 1; +} +ol, +ul { + list-style: none; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/gui/packages/desktop/src/assets/css/style.css b/gui/packages/desktop/src/assets/css/style.css new file mode 100644 index 0000000000..394e0504b6 --- /dev/null +++ b/gui/packages/desktop/src/assets/css/style.css @@ -0,0 +1,8 @@ +/* global */ +@import 'reset.css'; +@import 'fonts.css'; +@import 'global.css'; + +/* app */ +@import '../../renderer/components/CustomScrollbars.css'; +@import '../../renderer/components/Switch.css'; diff --git a/app/assets/fonts/DINPro-Black.otf b/gui/packages/desktop/src/assets/fonts/DINPro-Black.otf Binary files differindex 2092a7bbdc..2092a7bbdc 100755 --- a/app/assets/fonts/DINPro-Black.otf +++ b/gui/packages/desktop/src/assets/fonts/DINPro-Black.otf diff --git a/app/assets/fonts/DINPro-Bold.otf b/gui/packages/desktop/src/assets/fonts/DINPro-Bold.otf Binary files differindex 7c83953648..7c83953648 100755 --- a/app/assets/fonts/DINPro-Bold.otf +++ b/gui/packages/desktop/src/assets/fonts/DINPro-Bold.otf diff --git a/app/assets/fonts/OpenSans-ExtraBold.ttf b/gui/packages/desktop/src/assets/fonts/OpenSans-ExtraBold.ttf Binary files differindex 21f6f84a07..21f6f84a07 100755 --- a/app/assets/fonts/OpenSans-ExtraBold.ttf +++ b/gui/packages/desktop/src/assets/fonts/OpenSans-ExtraBold.ttf diff --git a/app/assets/fonts/OpenSans-Semibold.ttf b/gui/packages/desktop/src/assets/fonts/OpenSans-Semibold.ttf Binary files differindex 1a7679e394..1a7679e394 100755 --- a/app/assets/fonts/OpenSans-Semibold.ttf +++ b/gui/packages/desktop/src/assets/fonts/OpenSans-Semibold.ttf diff --git a/app/assets/geo/cities.rbush.json b/gui/packages/desktop/src/assets/geo/cities.rbush.json index 6894c1da47..6894c1da47 100644 --- a/app/assets/geo/cities.rbush.json +++ b/gui/packages/desktop/src/assets/geo/cities.rbush.json diff --git a/app/assets/geo/countries.rbush.json b/gui/packages/desktop/src/assets/geo/countries.rbush.json index c29e26daea..c29e26daea 100644 --- a/app/assets/geo/countries.rbush.json +++ b/gui/packages/desktop/src/assets/geo/countries.rbush.json diff --git a/app/assets/geo/geometry.json b/gui/packages/desktop/src/assets/geo/geometry.json index 332303ddc0..332303ddc0 100644 --- a/app/assets/geo/geometry.json +++ b/gui/packages/desktop/src/assets/geo/geometry.json diff --git a/app/assets/geo/geometry.rbush.json b/gui/packages/desktop/src/assets/geo/geometry.rbush.json index b415d5374d..b415d5374d 100644 --- a/app/assets/geo/geometry.rbush.json +++ b/gui/packages/desktop/src/assets/geo/geometry.rbush.json diff --git a/app/assets/geo/states-provinces-lines.json b/gui/packages/desktop/src/assets/geo/states-provinces-lines.json index 50f70b993f..50f70b993f 100644 --- a/app/assets/geo/states-provinces-lines.json +++ b/gui/packages/desktop/src/assets/geo/states-provinces-lines.json diff --git a/app/assets/geo/states-provinces-lines.rbush.json b/gui/packages/desktop/src/assets/geo/states-provinces-lines.rbush.json index f2ebe22cfa..f2ebe22cfa 100644 --- a/app/assets/geo/states-provinces-lines.rbush.json +++ b/gui/packages/desktop/src/assets/geo/states-provinces-lines.rbush.json diff --git a/app/assets/images/app-header-backdrop.svg b/gui/packages/desktop/src/assets/images/app-header-backdrop.svg index 4c811518bf..4c811518bf 100644 --- a/app/assets/images/app-header-backdrop.svg +++ b/gui/packages/desktop/src/assets/images/app-header-backdrop.svg diff --git a/app/assets/images/app-triangle.svg b/gui/packages/desktop/src/assets/images/app-triangle.svg index e2f7ca044b..e2f7ca044b 100644 --- a/app/assets/images/app-triangle.svg +++ b/gui/packages/desktop/src/assets/images/app-triangle.svg diff --git a/app/assets/images/icon-arrow.svg b/gui/packages/desktop/src/assets/images/icon-arrow.svg index 96f1356fbe..96f1356fbe 100755 --- a/app/assets/images/icon-arrow.svg +++ b/gui/packages/desktop/src/assets/images/icon-arrow.svg diff --git a/app/assets/images/icon-back.svg b/gui/packages/desktop/src/assets/images/icon-back.svg index 5ec98cbee6..5ec98cbee6 100644 --- a/app/assets/images/icon-back.svg +++ b/gui/packages/desktop/src/assets/images/icon-back.svg diff --git a/app/assets/images/icon-chevron-down.svg b/gui/packages/desktop/src/assets/images/icon-chevron-down.svg index e1e7af1104..e1e7af1104 100644 --- a/app/assets/images/icon-chevron-down.svg +++ b/gui/packages/desktop/src/assets/images/icon-chevron-down.svg diff --git a/app/assets/images/icon-chevron-up.svg b/gui/packages/desktop/src/assets/images/icon-chevron-up.svg index 84d8b56350..84d8b56350 100644 --- a/app/assets/images/icon-chevron-up.svg +++ b/gui/packages/desktop/src/assets/images/icon-chevron-up.svg diff --git a/app/assets/images/icon-chevron.svg b/gui/packages/desktop/src/assets/images/icon-chevron.svg index 923532cd28..923532cd28 100644 --- a/app/assets/images/icon-chevron.svg +++ b/gui/packages/desktop/src/assets/images/icon-chevron.svg diff --git a/app/assets/images/icon-close-sml.svg b/gui/packages/desktop/src/assets/images/icon-close-sml.svg index a379068d03..a379068d03 100644 --- a/app/assets/images/icon-close-sml.svg +++ b/gui/packages/desktop/src/assets/images/icon-close-sml.svg diff --git a/app/assets/images/icon-close.svg b/gui/packages/desktop/src/assets/images/icon-close.svg index df23259a13..df23259a13 100644 --- a/app/assets/images/icon-close.svg +++ b/gui/packages/desktop/src/assets/images/icon-close.svg diff --git a/app/assets/images/icon-extLink.svg b/gui/packages/desktop/src/assets/images/icon-extLink.svg index bed3cb37b3..bed3cb37b3 100644 --- a/app/assets/images/icon-extLink.svg +++ b/gui/packages/desktop/src/assets/images/icon-extLink.svg diff --git a/app/assets/images/icon-fail.svg b/gui/packages/desktop/src/assets/images/icon-fail.svg index 3467374198..3467374198 100755 --- a/app/assets/images/icon-fail.svg +++ b/gui/packages/desktop/src/assets/images/icon-fail.svg diff --git a/app/assets/images/icon-fastest.svg b/gui/packages/desktop/src/assets/images/icon-fastest.svg index 4c915da6d6..4c915da6d6 100755 --- a/app/assets/images/icon-fastest.svg +++ b/gui/packages/desktop/src/assets/images/icon-fastest.svg diff --git a/app/assets/images/icon-nearest.svg b/gui/packages/desktop/src/assets/images/icon-nearest.svg index badbf3674d..badbf3674d 100644 --- a/app/assets/images/icon-nearest.svg +++ b/gui/packages/desktop/src/assets/images/icon-nearest.svg diff --git a/app/assets/images/icon-settings.svg b/gui/packages/desktop/src/assets/images/icon-settings.svg index fbaec4e52c..fbaec4e52c 100755 --- a/app/assets/images/icon-settings.svg +++ b/gui/packages/desktop/src/assets/images/icon-settings.svg diff --git a/app/assets/images/icon-spinner.svg b/gui/packages/desktop/src/assets/images/icon-spinner.svg index 580d56a349..580d56a349 100644 --- a/app/assets/images/icon-spinner.svg +++ b/gui/packages/desktop/src/assets/images/icon-spinner.svg diff --git a/app/assets/images/icon-success.svg b/gui/packages/desktop/src/assets/images/icon-success.svg index 5a9e943406..5a9e943406 100755 --- a/app/assets/images/icon-success.svg +++ b/gui/packages/desktop/src/assets/images/icon-success.svg diff --git a/app/assets/images/icon-tick.svg b/gui/packages/desktop/src/assets/images/icon-tick.svg index 16c701574a..16c701574a 100755 --- a/app/assets/images/icon-tick.svg +++ b/gui/packages/desktop/src/assets/images/icon-tick.svg diff --git a/app/assets/images/location-marker-secure.svg b/gui/packages/desktop/src/assets/images/location-marker-secure.svg index 087fe5d0d4..087fe5d0d4 100755 --- a/app/assets/images/location-marker-secure.svg +++ b/gui/packages/desktop/src/assets/images/location-marker-secure.svg diff --git a/app/assets/images/location-marker-unsecure.svg b/gui/packages/desktop/src/assets/images/location-marker-unsecure.svg index 509b8022f2..509b8022f2 100755 --- a/app/assets/images/location-marker-unsecure.svg +++ b/gui/packages/desktop/src/assets/images/location-marker-unsecure.svg diff --git a/app/assets/images/logo-icon.svg b/gui/packages/desktop/src/assets/images/logo-icon.svg index c00cd67fb5..c00cd67fb5 100644 --- a/app/assets/images/logo-icon.svg +++ b/gui/packages/desktop/src/assets/images/logo-icon.svg diff --git a/app/assets/images/menubar icons/lock-1.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-1.png Binary files differindex b20bc19515..b20bc19515 100644 --- a/app/assets/images/menubar icons/lock-1.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-1.png diff --git a/app/assets/images/menubar icons/lock-10.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-10.png Binary files differindex 530e756c56..530e756c56 100644 --- a/app/assets/images/menubar icons/lock-10.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-10.png diff --git a/app/assets/images/menubar icons/lock-10@2x.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-10@2x.png Binary files differindex af73aa8c7b..af73aa8c7b 100644 --- a/app/assets/images/menubar icons/lock-10@2x.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-10@2x.png diff --git a/app/assets/images/menubar icons/lock-1@2x.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-1@2x.png Binary files differindex 1c512d12bd..1c512d12bd 100644 --- a/app/assets/images/menubar icons/lock-1@2x.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-1@2x.png diff --git a/app/assets/images/menubar icons/lock-2.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-2.png Binary files differindex d98d05d951..d98d05d951 100644 --- a/app/assets/images/menubar icons/lock-2.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-2.png diff --git a/app/assets/images/menubar icons/lock-2@2x.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-2@2x.png Binary files differindex c92dec19ec..c92dec19ec 100644 --- a/app/assets/images/menubar icons/lock-2@2x.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-2@2x.png diff --git a/app/assets/images/menubar icons/lock-3.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-3.png Binary files differindex 871f8402bf..871f8402bf 100644 --- a/app/assets/images/menubar icons/lock-3.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-3.png diff --git a/app/assets/images/menubar icons/lock-3@2x.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-3@2x.png Binary files differindex d961af45f3..d961af45f3 100644 --- a/app/assets/images/menubar icons/lock-3@2x.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-3@2x.png diff --git a/app/assets/images/menubar icons/lock-4.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-4.png Binary files differindex 6fcb60c663..6fcb60c663 100644 --- a/app/assets/images/menubar icons/lock-4.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-4.png diff --git a/app/assets/images/menubar icons/lock-4@2x.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-4@2x.png Binary files differindex f67b4c0921..f67b4c0921 100644 --- a/app/assets/images/menubar icons/lock-4@2x.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-4@2x.png diff --git a/app/assets/images/menubar icons/lock-5.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-5.png Binary files differindex 43d02ab1e0..43d02ab1e0 100644 --- a/app/assets/images/menubar icons/lock-5.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-5.png diff --git a/app/assets/images/menubar icons/lock-5@2x.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-5@2x.png Binary files differindex 1f05adf802..1f05adf802 100644 --- a/app/assets/images/menubar icons/lock-5@2x.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-5@2x.png diff --git a/app/assets/images/menubar icons/lock-6.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-6.png Binary files differindex e282ff8dad..e282ff8dad 100644 --- a/app/assets/images/menubar icons/lock-6.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-6.png diff --git a/app/assets/images/menubar icons/lock-6@2x.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-6@2x.png Binary files differindex f76ab999f1..f76ab999f1 100644 --- a/app/assets/images/menubar icons/lock-6@2x.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-6@2x.png diff --git a/app/assets/images/menubar icons/lock-7.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-7.png Binary files differindex 1299817a53..1299817a53 100644 --- a/app/assets/images/menubar icons/lock-7.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-7.png diff --git a/app/assets/images/menubar icons/lock-7@2x.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-7@2x.png Binary files differindex f3a1428ad4..f3a1428ad4 100644 --- a/app/assets/images/menubar icons/lock-7@2x.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-7@2x.png diff --git a/app/assets/images/menubar icons/lock-8.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-8.png Binary files differindex 161e4f5e82..161e4f5e82 100644 --- a/app/assets/images/menubar icons/lock-8.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-8.png diff --git a/app/assets/images/menubar icons/lock-8@2x.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-8@2x.png Binary files differindex 5b12910e4a..5b12910e4a 100644 --- a/app/assets/images/menubar icons/lock-8@2x.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-8@2x.png diff --git a/app/assets/images/menubar icons/lock-9.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-9.png Binary files differindex c823aa87a1..c823aa87a1 100644 --- a/app/assets/images/menubar icons/lock-9.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-9.png diff --git a/app/assets/images/menubar icons/lock-9@2x.png b/gui/packages/desktop/src/assets/images/menubar icons/lock-9@2x.png Binary files differindex e4dc28a192..e4dc28a192 100644 --- a/app/assets/images/menubar icons/lock-9@2x.png +++ b/gui/packages/desktop/src/assets/images/menubar icons/lock-9@2x.png diff --git a/gui/packages/desktop/src/common/types.js b/gui/packages/desktop/src/common/types.js new file mode 100644 index 0000000000..f9ede46014 --- /dev/null +++ b/gui/packages/desktop/src/common/types.js @@ -0,0 +1,6 @@ +// @flow + +export type RpcCredentials = { + connectionString: string, + sharedSecret: string, +}; diff --git a/app/config.json b/gui/packages/desktop/src/config.json index f28b2ca3b0..f28b2ca3b0 100644 --- a/app/config.json +++ b/gui/packages/desktop/src/config.json diff --git a/app/main.js b/gui/packages/desktop/src/main/index.js index aafeed02e6..34eb88247a 100644 --- a/app/main.js +++ b/gui/packages/desktop/src/main/index.js @@ -1,17 +1,19 @@ // @flow import fs from 'fs'; +import log from 'electron-log'; import path from 'path'; import { execFile } from 'child_process'; import mkdirp from 'mkdirp'; import uuid from 'uuid'; import { app, screen, BrowserWindow, ipcMain, Tray, Menu, nativeImage } from 'electron'; + import TrayIconController from './tray-icon-controller'; import WindowController from './window-controller'; -import { RpcAddressFile } from './lib/rpc-address-file'; -import { ShutdownCoordinator } from './shutdown-handler'; -import { log } from './lib/platform'; -import { resolveBin } from './lib/proc'; +import RpcAddressFile from './rpc-address-file'; +import ShutdownCoordinator from './shutdown-coordinator'; +import { resolveBin } from './proc'; + import type { TrayIconType } from './tray-icon-controller'; const ApplicationMain = { @@ -185,7 +187,7 @@ const ApplicationMain = { break; } - window.loadFile('build/index.html'); + window.loadFile(path.resolve(path.join(__dirname, '../renderer/index.html'))); }, _registerIpcListeners() { diff --git a/app/lib/keyframe-animation.js b/gui/packages/desktop/src/main/keyframe-animation.js index 028c95769a..028c95769a 100644 --- a/app/lib/keyframe-animation.js +++ b/gui/packages/desktop/src/main/keyframe-animation.js diff --git a/app/lib/proc.js b/gui/packages/desktop/src/main/proc.js index 5e7396fa9a..a939845d5c 100644 --- a/app/lib/proc.js +++ b/gui/packages/desktop/src/main/proc.js @@ -9,7 +9,9 @@ export function resolveBin(binaryName: string) { function getBasePath() { if (process.env.NODE_ENV === 'development') { - return process.env.MULLVAD_PATH || './target/debug'; + return ( + process.env.MULLVAD_PATH || path.resolve(path.join(__dirname, '../../../../../target/debug')) + ); } else { return process.resourcesPath; } diff --git a/app/lib/rpc-address-file.js b/gui/packages/desktop/src/main/rpc-address-file.js index f05cc54fdc..9c46165058 100644 --- a/app/lib/rpc-address-file.js +++ b/gui/packages/desktop/src/main/rpc-address-file.js @@ -6,16 +6,13 @@ import { app } from 'electron'; import { promisify } from 'util'; import { getSystemTemporaryDirectory } from './tempdir'; +import type { RpcCredentials } from '../common/types'; + const fsReadFileAsync = promisify(fs.readFile); const POLL_INTERVAL = 200; -export type RpcCredentials = { - connectionString: string, - sharedSecret: string, -}; - -export class RpcAddressFile { +export default class RpcAddressFile { _filePath = getRpcAddressFilePath(); _pollIntervalId: ?IntervalID; _pollPromise: ?Promise<void>; diff --git a/app/shutdown-handler.js b/gui/packages/desktop/src/main/shutdown-coordinator.js index 6bc2d90f46..3988d5a7a6 100644 --- a/app/shutdown-handler.js +++ b/gui/packages/desktop/src/main/shutdown-coordinator.js @@ -1,7 +1,7 @@ // @flow -import { app, ipcMain, ipcRenderer } from 'electron'; -import { log } from './lib/platform'; +import log from 'electron-log'; +import { app, ipcMain } from 'electron'; import type { WebContents } from 'electron'; // The timeout before the shutdown is enforced @@ -13,7 +13,7 @@ const SHUTDOWN_TIMEOUT = 3000; * * ShutdownCoordinator can only be created from main process. */ -class ShutdownCoordinator { +export default class ShutdownCoordinator { _canQuit = false; _isQuitting = false; _webContents: WebContents; @@ -67,27 +67,3 @@ class ShutdownCoordinator { app.quit(); } } - -/** - * Executes the provided closure when application is about to quit. - * It works in tandem with ShutdownCoordinator and can only be used in renderer process. - * The shutdown will be postponed until the Promise returned from closure is resolved. - * ShutdownCoordinator will force the shutdown if the returned Promise is not resolved within - * the allocated time (see SHUTDOWN_TIMEOUT). - */ -function setShutdownHandler(handler: () => Promise<void>) { - ipcRenderer.once('app-shutdown', async (event) => { - try { - await handler(); - } catch (error) { - log.warn(`An error occurred in shutdown handler: ${error.message}`); - } - event.sender.send('app-shutdown-reply'); - }); -} - -if (ipcMain) { - module.exports = { ShutdownCoordinator }; -} else { - module.exports = { setShutdownHandler }; -} diff --git a/app/lib/tempdir.js b/gui/packages/desktop/src/main/tempdir.js index a3b4fa6d89..938448949a 100644 --- a/app/lib/tempdir.js +++ b/gui/packages/desktop/src/main/tempdir.js @@ -1,5 +1,4 @@ // @flow - import path from 'path'; export function getSystemTemporaryDirectory() { diff --git a/app/tray-icon-controller.js b/gui/packages/desktop/src/main/tray-icon-controller.js index e4c23db2a1..54187177f5 100644 --- a/app/tray-icon-controller.js +++ b/gui/packages/desktop/src/main/tray-icon-controller.js @@ -1,7 +1,7 @@ // @flow import path from 'path'; -import KeyframeAnimation from './lib/keyframe-animation'; +import KeyframeAnimation from './keyframe-animation'; import type { Tray } from 'electron'; export type TrayIconType = 'unsecured' | 'securing' | 'secured'; @@ -49,7 +49,7 @@ export default class TrayIconController { } _createAnimation(): KeyframeAnimation { - const basePath = path.join(__dirname, 'assets/images/menubar icons'); + const basePath = path.resolve(path.join(__dirname, '../assets/images/menubar icons')); const filePath = path.join(basePath, 'lock-{}.png'); const animation = KeyframeAnimation.fromFilePattern(filePath, [1, 10]); animation.speed = 100; diff --git a/app/window-controller.js b/gui/packages/desktop/src/main/window-controller.js index b27d04d621..b27d04d621 100644 --- a/app/window-controller.js +++ b/gui/packages/desktop/src/main/window-controller.js diff --git a/gui/packages/desktop/src/renderer/.eslintrc b/gui/packages/desktop/src/renderer/.eslintrc new file mode 100644 index 0000000000..e5a34aec6a --- /dev/null +++ b/gui/packages/desktop/src/renderer/.eslintrc @@ -0,0 +1,5 @@ +{ + "env": { + "browser": true + } +} diff --git a/app/app.js b/gui/packages/desktop/src/renderer/app.js index 87d0c10186..82a717941d 100644 --- a/app/app.js +++ b/gui/packages/desktop/src/renderer/app.js @@ -1,6 +1,7 @@ // @flow -import React from 'react'; +import log from 'electron-log'; +import * as React from 'react'; import { bindActionCreators } from 'redux'; import { Provider } from 'react-redux'; import { @@ -12,11 +13,10 @@ import { createMemoryHistory } from 'history'; import { webFrame, ipcRenderer } from 'electron'; import makeRoutes from './routes'; -import { log } from './lib/platform'; import ReconnectionBackoff from './lib/reconnection-backoff'; import { DaemonRpc } from './lib/daemon-rpc'; -import NotificationController from './notification-controller'; -import { setShutdownHandler } from './shutdown-handler'; +import NotificationController from './lib/notification-controller'; +import setShutdownHandler from './lib/shutdown-handler'; import { NoAccountError } from './errors'; import configureStore from './redux/store'; @@ -25,7 +25,7 @@ import connectionActions from './redux/connection/actions'; import settingsActions from './redux/settings/actions'; import daemonActions from './redux/daemon/actions'; -import type { RpcCredentials } from './lib/rpc-address-file'; +import type { RpcCredentials } from '../common/types'; import type { DaemonRpcProtocol, AccountData, @@ -34,7 +34,7 @@ import type { import type { ReduxStore } from './redux/store'; import type { AccountToken, BackendState, RelaySettingsUpdate } from './lib/daemon-rpc'; import type { ConnectionState } from './redux/connection/reducers'; -import type { TrayIconType } from './tray-icon-controller'; +import type { TrayIconType } from '../main/tray-icon-controller'; export default class AppRenderer { _notificationController = new NotificationController(); diff --git a/app/components/Account.js b/gui/packages/desktop/src/renderer/components/Account.js index 41aea6d894..71af27bc03 100644 --- a/app/components/Account.js +++ b/gui/packages/desktop/src/renderer/components/Account.js @@ -9,7 +9,6 @@ import NavigationBar, { BackBarItem } from './NavigationBar'; import SettingsHeader, { HeaderTitle } from './SettingsHeader'; import styles from './AccountStyles'; import Img from './Img'; -import { formatAccount } from '../lib/formatters'; import WindowStateObserver from '../lib/window-state-observer'; import type { AccountToken } from '../lib/daemon-rpc'; @@ -74,7 +73,6 @@ export default class Account extends Component<Props, State> { render() { const expiry = moment(this.props.accountExpiry); const isOutOfTime = expiry.isSameOrBefore(moment()); - const formattedAccountToken = formatAccount(this.props.accountToken || ''); const formattedExpiry = expiry.toDate().toLocaleString(this.props.expiryLocale, { day: 'numeric', month: 'long', @@ -105,7 +103,7 @@ export default class Account extends Component<Props, State> { onPress={this.onAccountTokenClick.bind(this)}> {this.state.showAccountTokenCopiedMessage ? 'COPIED TO CLIPBOARD!' - : formattedAccountToken} + : this.props.accountToken} </Text> </View> diff --git a/app/components/AccountStyles.js b/gui/packages/desktop/src/renderer/components/AccountStyles.js index a9cc1bf6ef..b271fd362a 100644 --- a/app/components/AccountStyles.js +++ b/gui/packages/desktop/src/renderer/components/AccountStyles.js @@ -1,7 +1,7 @@ // @flow import { Styles } from 'reactxp'; -import { colors } from '../config'; +import { colors } from '../../config'; export default { account: Styles.createViewStyle({ diff --git a/app/components/AdvancedSettings.js b/gui/packages/desktop/src/renderer/components/AdvancedSettings.js index 3763e9687d..3763e9687d 100644 --- a/app/components/AdvancedSettings.js +++ b/gui/packages/desktop/src/renderer/components/AdvancedSettings.js diff --git a/app/components/AdvancedSettingsStyles.js b/gui/packages/desktop/src/renderer/components/AdvancedSettingsStyles.js index cb3923e282..30528ae4c7 100644 --- a/app/components/AdvancedSettingsStyles.js +++ b/gui/packages/desktop/src/renderer/components/AdvancedSettingsStyles.js @@ -1,7 +1,7 @@ // @flow import { Styles } from 'reactxp'; -import { colors } from '../config'; +import { colors } from '../../config'; export default { advanced_settings: Styles.createViewStyle({ diff --git a/app/components/AppButton.js b/gui/packages/desktop/src/renderer/components/AppButton.js index dd69ab1dc3..dd69ab1dc3 100644 --- a/app/components/AppButton.js +++ b/gui/packages/desktop/src/renderer/components/AppButton.js diff --git a/app/components/AppButtonStyles.js b/gui/packages/desktop/src/renderer/components/AppButtonStyles.js index a007d4cdf3..a106e7a7f2 100644 --- a/app/components/AppButtonStyles.js +++ b/gui/packages/desktop/src/renderer/components/AppButtonStyles.js @@ -1,7 +1,7 @@ // @flow import { Styles } from 'reactxp'; -import { colors } from '../config'; +import { colors } from '../../config'; export default { red: Styles.createViewStyle({ diff --git a/app/components/BlurAppButtonStyles.js b/gui/packages/desktop/src/renderer/components/BlurAppButtonStyles.js index 45146a2e78..cd47776004 100644 --- a/app/components/BlurAppButtonStyles.js +++ b/gui/packages/desktop/src/renderer/components/BlurAppButtonStyles.js @@ -1,7 +1,7 @@ // @flow import { Styles } from 'reactxp'; -import { colors } from '../config'; +import { colors } from '../../config'; export default { transparent: Styles.createViewStyle({ diff --git a/app/components/Cell.js b/gui/packages/desktop/src/renderer/components/Cell.js index 0fd4de40e6..bfc3fa85d5 100644 --- a/app/components/Cell.js +++ b/gui/packages/desktop/src/renderer/components/Cell.js @@ -3,7 +3,7 @@ import * as React from 'react'; import { Button, Text, Component, Styles, Types } from 'reactxp'; import Img from './Img'; -import { colors } from '../config'; +import { colors } from '../../config'; const styles = { cell: Styles.createViewStyle({ diff --git a/app/components/Connect.js b/gui/packages/desktop/src/renderer/components/Connect.js index 9d7f52f7b1..92280db069 100644 --- a/app/components/Connect.js +++ b/gui/packages/desktop/src/renderer/components/Connect.js @@ -7,7 +7,7 @@ import { SettingsBarButton, Brand } from './HeaderBar'; import { Component, Text, View, Types } from 'reactxp'; import * as AppButton from './AppButton'; import Img from './Img'; -import Accordion from './Accordion'; +import { Accordion } from '@mullvad/components'; import styles from './ConnectStyles'; import { NoCreditError, NoInternetError } from '../errors'; import Map from './Map'; diff --git a/app/components/ConnectStyles.js b/gui/packages/desktop/src/renderer/components/ConnectStyles.js index c6f89a49b6..5417a64176 100644 --- a/app/components/ConnectStyles.js +++ b/gui/packages/desktop/src/renderer/components/ConnectStyles.js @@ -1,7 +1,7 @@ // @flow import { Styles } from 'reactxp'; -import { colors } from '../config'; +import { colors } from '../../config'; export default { connect: Styles.createViewStyle({ diff --git a/app/components/CustomScrollbars.css b/gui/packages/desktop/src/renderer/components/CustomScrollbars.css index 4604b1e413..4604b1e413 100644 --- a/app/components/CustomScrollbars.css +++ b/gui/packages/desktop/src/renderer/components/CustomScrollbars.css diff --git a/app/components/CustomScrollbars.js b/gui/packages/desktop/src/renderer/components/CustomScrollbars.js index a149faff75..a149faff75 100644 --- a/app/components/CustomScrollbars.js +++ b/gui/packages/desktop/src/renderer/components/CustomScrollbars.js diff --git a/app/components/HeaderBar.js b/gui/packages/desktop/src/renderer/components/HeaderBar.js index 8a82ba7843..57549442c8 100644 --- a/app/components/HeaderBar.js +++ b/gui/packages/desktop/src/renderer/components/HeaderBar.js @@ -2,8 +2,9 @@ import React from 'react'; import { Component, Text, Button, View, Styles } from 'reactxp'; + import Img from './Img'; -import { colors } from '../config'; +import { colors } from '../../config'; export type HeaderBarStyle = 'default' | 'defaultDark' | 'error' | 'success'; type HeaderBarProps = { diff --git a/app/components/Img.js b/gui/packages/desktop/src/renderer/components/Img.js index 6919eb0740..f6369a4d6f 100644 --- a/app/components/Img.js +++ b/gui/packages/desktop/src/renderer/components/Img.js @@ -25,7 +25,7 @@ export default class Img extends Component<Props, State> { render() { const { source, width, heigth, style, onMouseEnter, onMouseLeave, ...otherProps } = this.props; const tintColor = this.props.tintColor; - const url = './assets/images/' + source + '.svg'; + const url = '../assets/images/' + source + '.svg'; let image; if (tintColor) { diff --git a/app/components/Launch.js b/gui/packages/desktop/src/renderer/components/Launch.js index 37dd38d73f..ef6fc851cc 100644 --- a/app/components/Launch.js +++ b/gui/packages/desktop/src/renderer/components/Launch.js @@ -5,7 +5,7 @@ import { Component, Styles, View, Text } from 'reactxp'; import { Layout, Container, Header } from './Layout'; import { SettingsBarButton } from './HeaderBar'; import Img from './Img'; -import { colors } from '../config'; +import { colors } from '../../config'; const styles = { container: Styles.createViewStyle({ diff --git a/app/components/Layout.js b/gui/packages/desktop/src/renderer/components/Layout.js index 42e96640c0..42e96640c0 100644 --- a/app/components/Layout.js +++ b/gui/packages/desktop/src/renderer/components/Layout.js diff --git a/app/components/LayoutStyles.js b/gui/packages/desktop/src/renderer/components/LayoutStyles.js index 7db2a0225b..be893cb7ba 100644 --- a/app/components/LayoutStyles.js +++ b/gui/packages/desktop/src/renderer/components/LayoutStyles.js @@ -1,7 +1,7 @@ // @flow import { Styles } from 'reactxp'; -import { colors } from '../config'; +import { colors } from '../../config'; export default { layout: Styles.createViewStyle({ diff --git a/app/components/Login.js b/gui/packages/desktop/src/renderer/components/Login.js index 52fe8791b6..021cccf23c 100644 --- a/app/components/Login.js +++ b/gui/packages/desktop/src/renderer/components/Login.js @@ -1,22 +1,20 @@ // @flow import * as React from 'react'; -import { Component, Text, View, Animated, Styles, UserInterface } from 'reactxp'; +import { Component, Text, TextInput, View, Animated, Styles, UserInterface } from 'reactxp'; import { Layout, Container, Header } from './Layout'; import { SettingsBarButton, Brand } from './HeaderBar'; -import AccountInput from './AccountInput'; -import Accordion from './Accordion'; -import { formatAccount } from '../lib/formatters'; +import { Accordion } from '@mullvad/components'; import Img from './Img'; import * as Cell from './Cell'; import * as AppButton from './AppButton'; import styles from './LoginStyles'; -import { colors } from '../config'; +import { colors } from '../../config'; import type { LoginState } from '../redux/account/reducers'; import type { AccountToken } from '../lib/daemon-rpc'; -export type Props = { +type Props = { accountToken: ?AccountToken, accountHistory: Array<AccountToken>, loginError: ?Error, @@ -40,7 +38,7 @@ export default class Login extends Component<Props, State> { isActive: true, }; - _accountInput: ?AccountInput; + _accountInput: ?TextInput; _shouldResetLoginError = false; _showsFooter = true; @@ -187,7 +185,7 @@ export default class Login extends Component<Props, State> { this._footerAnimation = animation; } - _onLogin = () => { + _onSubmit = () => { const accountToken = this.props.accountToken; if (accountToken && accountToken.length >= MIN_ACCOUNT_TOKEN_LENGTH) { this.props.login(accountToken); @@ -201,7 +199,9 @@ export default class Login extends Component<Props, State> { this.props.resetLoginError(); } - this.props.updateAccountToken(value); + const accountToken = value.replace(/[^0-9]/g, ''); + + this.props.updateAccountToken(accountToken); }; _formTitle() { @@ -350,24 +350,26 @@ export default class Login extends Component<Props, State> { <Text style={styles.subtitle}>{this._formSubtitle()}</Text> <View style={this._accountInputGroupStyles()}> <View style={styles.account_input_backdrop}> - <AccountInput + <TextInput style={styles.account_input_textfield} - type="text" placeholder="0000 0000 0000 0000" placeholderTextColor={colors.blue40} - onFocus={this._onFocus} - onBlur={this._onBlur} - onChange={this._onInputChange} - onEnter={this._onLogin} value={this.props.accountToken || ''} + autoCorrect={false} editable={this._shouldEnableAccountInput()} + onFocus={this._onFocus} + onBlur={this._onBlur} + onChangeText={this._onInputChange} + onSubmitEditing={this._onSubmit} + returnKeyType="done" + keyboardType="numeric" autoFocus={true} ref={(ref) => (this._accountInput = ref)} testName="AccountInput" /> <Animated.View style={this._accountInputButtonStyles()} - onPress={this._onLogin} + onPress={this._onSubmit} testName="account-input-button"> <Img style={this._accountInputArrowStyles()} @@ -420,7 +422,7 @@ class AccountDropdown extends React.Component<AccountDropdownProps> { <AccountDropdownItem key={token} value={token} - label={formatAccount(token)} + label={token} onSelect={this.props.onSelect} onRemove={this.props.onRemove} /> diff --git a/app/components/LoginStyles.js b/gui/packages/desktop/src/renderer/components/LoginStyles.js index e385f5115c..55db4ebd13 100644 --- a/app/components/LoginStyles.js +++ b/gui/packages/desktop/src/renderer/components/LoginStyles.js @@ -1,7 +1,7 @@ // @flow import { Styles } from 'reactxp'; -import { colors } from '../config'; +import { colors } from '../../config'; export default { login_footer: Styles.createViewStyle({ @@ -16,6 +16,7 @@ export default { flex: 0, marginBottom: 30, alignItems: 'center', + height: 48, }), login_form: Styles.createViewStyle({ flex: 1, diff --git a/app/components/Map.js b/gui/packages/desktop/src/renderer/components/Map.js index 72298fd2ee..e9aa70803b 100644 --- a/app/components/Map.js +++ b/gui/packages/desktop/src/renderer/components/Map.js @@ -91,9 +91,9 @@ export default class Map extends Component<MapProps, MapState> { _markerImage(style: $PropertyType<MapProps, 'markerStyle'>) { switch (style) { case 'secure': - return './assets/images/location-marker-secure.svg'; + return '../assets/images/location-marker-secure.svg'; case 'unsecure': - return './assets/images/location-marker-unsecure.svg'; + return '../assets/images/location-marker-unsecure.svg'; default: throw new Error(`Invalid enumeration type: ${style}`); } diff --git a/app/components/NavigationBar.js b/gui/packages/desktop/src/renderer/components/NavigationBar.js index e8e4de16f9..996e0e622b 100644 --- a/app/components/NavigationBar.js +++ b/gui/packages/desktop/src/renderer/components/NavigationBar.js @@ -3,7 +3,7 @@ import * as React from 'react'; import { Button, Component, Text, View, Styles } from 'reactxp'; import Img from './Img'; -import { colors } from '../config'; +import { colors } from '../../config'; const styles = { navigationBar: { diff --git a/app/components/PlatformWindow.js b/gui/packages/desktop/src/renderer/components/PlatformWindow.js index c1133af0c2..6c2c85e023 100644 --- a/app/components/PlatformWindow.js +++ b/gui/packages/desktop/src/renderer/components/PlatformWindow.js @@ -6,8 +6,8 @@ import { Component, View, Styles } from 'reactxp'; const styles = { darwin: Styles.createViewStyle({ WebkitMask: ` - url(./assets/images/app-triangle.svg) 50% 0% no-repeat, - url(./assets/images/app-header-backdrop.svg) no-repeat`, + url(../assets/images/app-triangle.svg) 50% 0% no-repeat, + url(../assets/images/app-header-backdrop.svg) no-repeat`, }), }; diff --git a/app/components/Preferences.js b/gui/packages/desktop/src/renderer/components/Preferences.js index 7e57df3909..ec70115d16 100644 --- a/app/components/Preferences.js +++ b/gui/packages/desktop/src/renderer/components/Preferences.js @@ -1,6 +1,6 @@ // @flow -import React from 'react'; +import * as React from 'react'; import { Component, Text, View } from 'reactxp'; import { Layout, Container } from './Layout'; import NavigationBar, { BackBarItem } from './NavigationBar'; diff --git a/app/components/PreferencesStyles.js b/gui/packages/desktop/src/renderer/components/PreferencesStyles.js index 3a39ce3c5f..2c35029ec9 100644 --- a/app/components/PreferencesStyles.js +++ b/gui/packages/desktop/src/renderer/components/PreferencesStyles.js @@ -1,7 +1,7 @@ // @flow import { Styles } from 'reactxp'; -import { colors } from '../config'; +import { colors } from '../../config'; export default { preferences: Styles.createViewStyle({ diff --git a/app/components/SelectLocation.js b/gui/packages/desktop/src/renderer/components/SelectLocation.js index 0d737c3224..eb0ec3ce26 100644 --- a/app/components/SelectLocation.js +++ b/gui/packages/desktop/src/renderer/components/SelectLocation.js @@ -3,6 +3,7 @@ import * as React from 'react'; import ReactDOM from 'react-dom'; import { View } from 'reactxp'; +import { Accordion } from '@mullvad/components'; import { Layout, Container } from './Layout'; import CustomScrollbars from './CustomScrollbars'; import NavigationBar, { CloseBarItem } from './NavigationBar'; @@ -11,8 +12,6 @@ import * as Cell from './Cell'; import styles from './SelectLocationStyles'; import Img from './Img'; -import Accordion from './Accordion'; - import type { SettingsReduxState, RelayLocationRedux, diff --git a/app/components/SelectLocationStyles.js b/gui/packages/desktop/src/renderer/components/SelectLocationStyles.js index 57b0653a45..49cbd441d5 100644 --- a/app/components/SelectLocationStyles.js +++ b/gui/packages/desktop/src/renderer/components/SelectLocationStyles.js @@ -1,7 +1,7 @@ // @flow import { Styles } from 'reactxp'; -import { colors } from '../config'; +import { colors } from '../../config'; export default { select_location: Styles.createViewStyle({ diff --git a/app/components/Settings.js b/gui/packages/desktop/src/renderer/components/Settings.js index 7c7099a3ed..7c7099a3ed 100644 --- a/app/components/Settings.js +++ b/gui/packages/desktop/src/renderer/components/Settings.js diff --git a/app/components/SettingsHeader.js b/gui/packages/desktop/src/renderer/components/SettingsHeader.js index c1791d6fc0..fdd982922f 100644 --- a/app/components/SettingsHeader.js +++ b/gui/packages/desktop/src/renderer/components/SettingsHeader.js @@ -2,7 +2,7 @@ import * as React from 'react'; import { Component, Text, View, Styles } from 'reactxp'; -import { colors } from '../config'; +import { colors } from '../../config'; const styles = { header: { diff --git a/app/components/SettingsStyles.js b/gui/packages/desktop/src/renderer/components/SettingsStyles.js index be2491bec4..3f63d96b0f 100644 --- a/app/components/SettingsStyles.js +++ b/gui/packages/desktop/src/renderer/components/SettingsStyles.js @@ -1,7 +1,7 @@ // @flow import { Styles } from 'reactxp'; -import { colors } from '../config'; +import { colors } from '../../config'; export default { settings: Styles.createViewStyle({ diff --git a/app/components/Support.js b/gui/packages/desktop/src/renderer/components/Support.js index 2552a0e432..2552a0e432 100644 --- a/app/components/Support.js +++ b/gui/packages/desktop/src/renderer/components/Support.js diff --git a/app/components/SupportStyles.js b/gui/packages/desktop/src/renderer/components/SupportStyles.js index 718659157a..499ca2aa9c 100644 --- a/app/components/SupportStyles.js +++ b/gui/packages/desktop/src/renderer/components/SupportStyles.js @@ -1,7 +1,7 @@ // @flow import { Styles } from 'reactxp'; -import { colors } from '../config'; +import { colors } from '../../config'; export default { support: Styles.createViewStyle({ diff --git a/app/components/SvgMap.js b/gui/packages/desktop/src/renderer/components/SvgMap.js index 43f1e2ef71..1fcd99850e 100644 --- a/app/components/SvgMap.js +++ b/gui/packages/desktop/src/renderer/components/SvgMap.js @@ -13,13 +13,13 @@ import { import { geoTimes } from 'd3-geo-projection'; import rbush from 'rbush'; -import geographyData from '../assets/geo/geometry.json'; -import statesProvincesLinesData from '../assets/geo/states-provinces-lines.json'; +import geographyData from '../../assets/geo/geometry.json'; +import statesProvincesLinesData from '../../assets/geo/states-provinces-lines.json'; -import countryTreeData from '../assets/geo/countries.rbush.json'; -import cityTreeData from '../assets/geo/cities.rbush.json'; -import geometryTreeData from '../assets/geo/geometry.rbush.json'; -import statesProvincesLinesTreeData from '../assets/geo/states-provinces-lines.rbush.json'; +import countryTreeData from '../../assets/geo/countries.rbush.json'; +import cityTreeData from '../../assets/geo/cities.rbush.json'; +import geometryTreeData from '../../assets/geo/geometry.rbush.json'; +import statesProvincesLinesTreeData from '../../assets/geo/states-provinces-lines.rbush.json'; const countryTree = rbush().fromJSON(countryTreeData); const cityTree = rbush().fromJSON(cityTreeData); diff --git a/app/components/Switch.css b/gui/packages/desktop/src/renderer/components/Switch.css index aaa3821c34..22cc3360c8 100644 --- a/app/components/Switch.css +++ b/gui/packages/desktop/src/renderer/components/Switch.css @@ -23,7 +23,7 @@ width: 24px; height: 24px; border-radius: 24px; - background-color: #D0021B; + background-color: #d0021b; transition: 200ms ease-in-out all; transform: translate3d(0, 0, 0); } @@ -38,7 +38,7 @@ } .switch:checked::after { - background-color: #44AD4D; + background-color: #44ad4d; transform: translate3d(0, 0, 0); left: 22px; -}
\ No newline at end of file +} diff --git a/app/components/Switch.js b/gui/packages/desktop/src/renderer/components/Switch.js index 4abb4a247f..4abb4a247f 100644 --- a/app/components/Switch.js +++ b/gui/packages/desktop/src/renderer/components/Switch.js diff --git a/app/components/TransitionContainer.js b/gui/packages/desktop/src/renderer/components/TransitionContainer.js index 2c1fb09995..2c1fb09995 100644 --- a/app/components/TransitionContainer.js +++ b/gui/packages/desktop/src/renderer/components/TransitionContainer.js diff --git a/app/components/TransitionContainerStyles.js b/gui/packages/desktop/src/renderer/components/TransitionContainerStyles.js index ca95cabfee..ca95cabfee 100644 --- a/app/components/TransitionContainerStyles.js +++ b/gui/packages/desktop/src/renderer/components/TransitionContainerStyles.js diff --git a/app/containers/AccountPage.js b/gui/packages/desktop/src/renderer/containers/AccountPage.js index 712466f191..1928d48e89 100644 --- a/app/containers/AccountPage.js +++ b/gui/packages/desktop/src/renderer/containers/AccountPage.js @@ -1,13 +1,12 @@ // @flow -import { remote } from 'electron'; +import { remote, shell } from 'electron'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import { goBack } from 'connected-react-router'; import Account from '../components/Account'; import accountActions from '../redux/account/actions'; -import { links } from '../config'; -import { openLink } from '../lib/platform'; +import { links } from '../../config'; import type { ReduxState, ReduxDispatch } from '../redux/store'; import type { SharedRouteProps } from '../routes'; @@ -29,7 +28,7 @@ const mapDispatchToProps = (dispatch: ReduxDispatch, props: SharedRouteProps) => onClose: () => { history.goBack(); }, - onBuyMore: () => openLink(links['purchase']), + onBuyMore: () => shell.openExternal(links['purchase']), }; }; diff --git a/app/containers/AdvancedSettingsPage.js b/gui/packages/desktop/src/renderer/containers/AdvancedSettingsPage.js index ce935a89e4..a5f0c4aaea 100644 --- a/app/containers/AdvancedSettingsPage.js +++ b/gui/packages/desktop/src/renderer/containers/AdvancedSettingsPage.js @@ -1,11 +1,11 @@ // @flow +import log from 'electron-log'; import { connect } from 'react-redux'; import { goBack } from 'connected-react-router'; import { bindActionCreators } from 'redux'; import { AdvancedSettings } from '../components/AdvancedSettings'; import RelaySettingsBuilder from '../lib/relay-settings-builder'; -import { log } from '../lib/platform'; import type { ReduxState, ReduxDispatch } from '../redux/store'; import type { RelaySettingsRedux } from '../redux/settings/reducers'; diff --git a/app/containers/ConnectPage.js b/gui/packages/desktop/src/renderer/containers/ConnectPage.js index 0ad43e9c0b..335e8ff236 100644 --- a/app/containers/ConnectPage.js +++ b/gui/packages/desktop/src/renderer/containers/ConnectPage.js @@ -1,12 +1,12 @@ // @flow - +import { shell } from 'electron'; +import log from 'electron-log'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import { push } from 'connected-react-router'; -import { links } from '../config'; +import { links } from '../../config'; import Connect from '../components/Connect'; import connectActions from '../redux/connection/actions'; -import { openLink, log } from '../lib/platform'; import type { ReduxState, ReduxDispatch } from '../redux/store'; import type { SharedRouteProps } from '../routes'; @@ -82,7 +82,7 @@ const mapDispatchToProps = (dispatch: ReduxDispatch, props: SharedRouteProps) => log.error(`Failed to disconnect the tunnel: ${error.message}`); } }, - onExternalLink: (type) => openLink(links[type]), + onExternalLink: (type) => shell.openExternal(links[type]), updateAccountExpiry: () => props.app.updateAccountExpiry(), }; }; diff --git a/app/containers/LaunchPage.js b/gui/packages/desktop/src/renderer/containers/LaunchPage.js index 3ab740897d..3ab740897d 100644 --- a/app/containers/LaunchPage.js +++ b/gui/packages/desktop/src/renderer/containers/LaunchPage.js diff --git a/app/containers/LoginPage.js b/gui/packages/desktop/src/renderer/containers/LoginPage.js index 539f05c5ac..afdd79caa6 100644 --- a/app/containers/LoginPage.js +++ b/gui/packages/desktop/src/renderer/containers/LoginPage.js @@ -1,12 +1,11 @@ // @flow - +import { shell } from 'electron'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import { push } from 'connected-react-router'; import Login from '../components/Login'; import accountActions from '../redux/account/actions'; -import { links } from '../config'; -import { openLink } from '../lib/platform'; +import { links } from '../../config'; import type { ReduxState, ReduxDispatch } from '../redux/store'; import type { SharedRouteProps } from '../routes'; @@ -33,7 +32,7 @@ const mapDispatchToProps = (dispatch: ReduxDispatch, props: SharedRouteProps) => resetLoginError: () => { resetLoginError(); }, - openExternalLink: (type) => openLink(links[type]), + openExternalLink: (type) => shell.openExternal(links[type]), updateAccountToken: updateAccountToken, removeAccountTokenFromHistory: (token) => props.app.removeAccountFromHistory(token), }; diff --git a/app/containers/PreferencesPage.js b/gui/packages/desktop/src/renderer/containers/PreferencesPage.js index ee2709c767..b70d1ea172 100644 --- a/app/containers/PreferencesPage.js +++ b/gui/packages/desktop/src/renderer/containers/PreferencesPage.js @@ -1,10 +1,11 @@ // @flow +import log from 'electron-log'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import { goBack } from 'connected-react-router'; import Preferences from '../components/Preferences'; -import { log, getOpenAtLogin, setOpenAtLogin } from '../lib/platform'; +import { getOpenAtLogin, setOpenAtLogin } from '../lib/autostart'; import type { ReduxState, ReduxDispatch } from '../redux/store'; import type { SharedRouteProps } from '../routes'; diff --git a/app/containers/SelectLocationPage.js b/gui/packages/desktop/src/renderer/containers/SelectLocationPage.js index 037dd67a0b..c4a09f0e6f 100644 --- a/app/containers/SelectLocationPage.js +++ b/gui/packages/desktop/src/renderer/containers/SelectLocationPage.js @@ -1,11 +1,11 @@ // @flow +import log from 'electron-log'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import { goBack } from 'connected-react-router'; import SelectLocation from '../components/SelectLocation'; import RelaySettingsBuilder from '../lib/relay-settings-builder'; -import { log } from '../lib/platform'; import type { ReduxState, ReduxDispatch } from '../redux/store'; import type { SharedRouteProps } from '../routes'; diff --git a/app/containers/SettingsPage.js b/gui/packages/desktop/src/renderer/containers/SettingsPage.js index 06c0cd6060..68fc929342 100644 --- a/app/containers/SettingsPage.js +++ b/gui/packages/desktop/src/renderer/containers/SettingsPage.js @@ -1,11 +1,11 @@ // @flow +import { remote, shell } from 'electron'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import { push, goBack } from 'connected-react-router'; import Settings from '../components/Settings'; -import { links } from '../config'; -import { getAppVersion, openLink, exit } from '../lib/platform'; +import { links } from '../../config'; import type { ReduxState, ReduxDispatch } from '../redux/store'; import type { SharedRouteProps } from '../routes'; @@ -13,18 +13,18 @@ import type { SharedRouteProps } from '../routes'; const mapStateToProps = (state: ReduxState) => ({ loginState: state.account.status, accountExpiry: state.account.expiry, - appVersion: getAppVersion(), + appVersion: remote.app.getVersion(), }); const mapDispatchToProps = (dispatch: ReduxDispatch, props: SharedRouteProps) => { const history = bindActionCreators({ push, goBack }, dispatch); return { - onQuit: () => exit(), + onQuit: () => remote.app.quit(), onClose: () => history.goBack(), onViewAccount: () => history.push('/settings/account'), onViewSupport: () => history.push('/settings/support'), onViewPreferences: () => history.push('/settings/preferences'), onViewAdvancedSettings: () => history.push('/settings/advanced'), - onExternalLink: (type) => openLink(links[type]), + onExternalLink: (type) => shell.openExternal(links[type]), updateAccountExpiry: () => props.app.updateAccountExpiry(), }; }; diff --git a/app/containers/SupportPage.js b/gui/packages/desktop/src/renderer/containers/SupportPage.js index b9e3f426bf..4bc21800cd 100644 --- a/app/containers/SupportPage.js +++ b/gui/packages/desktop/src/renderer/containers/SupportPage.js @@ -1,10 +1,10 @@ // @flow +import { shell } from 'electron'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import { goBack } from 'connected-react-router'; import Support from '../components/Support'; -import { openItem } from '../lib/platform'; import { collectProblemReport, sendProblemReport } from '../lib/problem-report'; import type { ReduxState, ReduxDispatch } from '../redux/store'; @@ -23,7 +23,7 @@ const mapDispatchToProps = (dispatch: ReduxDispatch, _props: SharedRouteProps) = return { onClose: () => history.goBack(), - viewLog: (path) => openItem(path), + viewLog: (path) => shell.openItem(path), saveReportForm, clearReportForm, collectProblemReport, diff --git a/app/errors.js b/gui/packages/desktop/src/renderer/errors.js index 7464851a1f..7464851a1f 100644 --- a/app/errors.js +++ b/gui/packages/desktop/src/renderer/errors.js diff --git a/app/index.html b/gui/packages/desktop/src/renderer/index.html index e56209a20f..ab6ad159f5 100644 --- a/app/index.html +++ b/gui/packages/desktop/src/renderer/index.html @@ -2,7 +2,7 @@ <html> <head> <title>Mullvad VPN</title> - <link rel="stylesheet" href="./assets/css/style.css" /> + <link rel="stylesheet" href="../assets/css/style.css" /> </head> <body> <div id="app" class="app-container"></div> diff --git a/app/index.js b/gui/packages/desktop/src/renderer/index.js index 39553123fc..39553123fc 100644 --- a/app/index.js +++ b/gui/packages/desktop/src/renderer/index.js diff --git a/app/lib/platform.js b/gui/packages/desktop/src/renderer/lib/autostart.js index cabb4951d9..35c74b1dd2 100644 --- a/app/lib/platform.js +++ b/gui/packages/desktop/src/renderer/lib/autostart.js @@ -1,11 +1,11 @@ // @flow import fs from 'fs'; -import { remote, shell } from 'electron'; -import electronLog from 'electron-log'; -import { execFile } from 'child_process'; import path from 'path'; +import { execFile } from 'child_process'; import { promisify } from 'util'; +import { remote } from 'electron'; +import log from 'electron-log'; const DESKTOP_FILE_NAME = 'mullvad-vpn.desktop'; @@ -15,13 +15,7 @@ const statAsync = promisify(fs.stat); const symlinkAsync = promisify(fs.symlink); const unlinkAsync = promisify(fs.unlink); -const log = electronLog; - -const getAppVersion = () => { - return remote.app.getVersion(); -}; - -const getOpenAtLogin = (): boolean => { +export function getOpenAtLogin() { if (process.platform === 'linux') { try { const autostartDir = path.join(remote.app.getPath('appData'), 'autostart'); @@ -37,9 +31,9 @@ const getOpenAtLogin = (): boolean => { } else { return remote.app.getLoginItemSettings().openAtLogin; } -}; +} -const setOpenAtLogin = async (openAtLogin: boolean) => { +export async function setOpenAtLogin(openAtLogin: boolean) { // setLoginItemSettings is broken on macOS and cannot delete login items. // Issue: https://github.com/electron/electron/issues/10880 if (process.platform === 'darwin') { @@ -79,7 +73,7 @@ const setOpenAtLogin = async (openAtLogin: boolean) => { } else { remote.app.setLoginItemSettings({ openAtLogin }); } -}; +} const createDirIfNecessary = async (directory: string) => { let stat; @@ -102,17 +96,3 @@ const createDirIfNecessary = async (directory: string) => { return mkdirAsync(directory); } }; - -const exit = () => { - remote.app.quit(); -}; - -const openLink = (link: string) => { - shell.openExternal(link); -}; - -const openItem = (path: string) => { - shell.openItem(path); -}; - -export { log, exit, openLink, openItem, getAppVersion, getOpenAtLogin, setOpenAtLogin }; diff --git a/app/lib/daemon-rpc.js b/gui/packages/desktop/src/renderer/lib/daemon-rpc.js index 8e2925f83e..8e2925f83e 100644 --- a/app/lib/daemon-rpc.js +++ b/gui/packages/desktop/src/renderer/lib/daemon-rpc.js diff --git a/app/lib/jsonrpc-transport.js b/gui/packages/desktop/src/renderer/lib/jsonrpc-transport.js index cbf1e7dce8..e5c81e6b0f 100644 --- a/app/lib/jsonrpc-transport.js +++ b/gui/packages/desktop/src/renderer/lib/jsonrpc-transport.js @@ -1,9 +1,9 @@ // @flow import { EventEmitter } from 'events'; +import log from 'electron-log'; import jsonrpc from 'jsonrpc-lite'; import uuid from 'uuid'; -import { log } from '../lib/platform'; export type UnansweredRequest = { resolve: (mixed) => void, diff --git a/app/notification-controller.js b/gui/packages/desktop/src/renderer/lib/notification-controller.js index 1d6138d404..1d6138d404 100644 --- a/app/notification-controller.js +++ b/gui/packages/desktop/src/renderer/lib/notification-controller.js diff --git a/app/lib/problem-report.js b/gui/packages/desktop/src/renderer/lib/problem-report.js index 19d24f3e0f..19d24f3e0f 100644 --- a/app/lib/problem-report.js +++ b/gui/packages/desktop/src/renderer/lib/problem-report.js diff --git a/app/lib/reconnection-backoff.js b/gui/packages/desktop/src/renderer/lib/reconnection-backoff.js index d777e86e57..d777e86e57 100644 --- a/app/lib/reconnection-backoff.js +++ b/gui/packages/desktop/src/renderer/lib/reconnection-backoff.js diff --git a/app/lib/relay-settings-builder.js b/gui/packages/desktop/src/renderer/lib/relay-settings-builder.js index 5f6c279e3f..5f6c279e3f 100644 --- a/app/lib/relay-settings-builder.js +++ b/gui/packages/desktop/src/renderer/lib/relay-settings-builder.js diff --git a/gui/packages/desktop/src/renderer/lib/shutdown-handler.js b/gui/packages/desktop/src/renderer/lib/shutdown-handler.js new file mode 100644 index 0000000000..5570d24d28 --- /dev/null +++ b/gui/packages/desktop/src/renderer/lib/shutdown-handler.js @@ -0,0 +1,21 @@ +// @flow +import log from 'electron-log'; +import { ipcRenderer } from 'electron'; + +/** + * Executes the provided closure when application is about to quit. + * It works in tandem with ShutdownCoordinator and can only be used in renderer process. + * The shutdown will be postponed until the Promise returned from closure is resolved. + * ShutdownCoordinator will force the shutdown if the returned Promise is not resolved within + * the allocated time (see SHUTDOWN_TIMEOUT). + */ +export default function setShutdownHandler(handler: () => Promise<void>) { + ipcRenderer.once('app-shutdown', async (event) => { + try { + await handler(); + } catch (error) { + log.warn(`An error occurred in shutdown handler: ${error.message}`); + } + event.sender.send('app-shutdown-reply'); + }); +} diff --git a/app/lib/transition-rule.js b/gui/packages/desktop/src/renderer/lib/transition-rule.js index dfb56b02ce..dfb56b02ce 100644 --- a/app/lib/transition-rule.js +++ b/gui/packages/desktop/src/renderer/lib/transition-rule.js diff --git a/app/lib/window-state-observer.js b/gui/packages/desktop/src/renderer/lib/window-state-observer.js index 67252d8f6a..67252d8f6a 100644 --- a/app/lib/window-state-observer.js +++ b/gui/packages/desktop/src/renderer/lib/window-state-observer.js diff --git a/app/redux/account/actions.js b/gui/packages/desktop/src/renderer/redux/account/actions.js index ae42d91b6c..ae42d91b6c 100644 --- a/app/redux/account/actions.js +++ b/gui/packages/desktop/src/renderer/redux/account/actions.js diff --git a/app/redux/account/reducers.js b/gui/packages/desktop/src/renderer/redux/account/reducers.js index 7263b51166..7263b51166 100644 --- a/app/redux/account/reducers.js +++ b/gui/packages/desktop/src/renderer/redux/account/reducers.js diff --git a/app/redux/connection/actions.js b/gui/packages/desktop/src/renderer/redux/connection/actions.js index 915eedd273..915eedd273 100644 --- a/app/redux/connection/actions.js +++ b/gui/packages/desktop/src/renderer/redux/connection/actions.js diff --git a/app/redux/connection/reducers.js b/gui/packages/desktop/src/renderer/redux/connection/reducers.js index c75d0f2a8f..c75d0f2a8f 100644 --- a/app/redux/connection/reducers.js +++ b/gui/packages/desktop/src/renderer/redux/connection/reducers.js diff --git a/app/redux/daemon/actions.js b/gui/packages/desktop/src/renderer/redux/daemon/actions.js index 904cb3bd61..904cb3bd61 100644 --- a/app/redux/daemon/actions.js +++ b/gui/packages/desktop/src/renderer/redux/daemon/actions.js diff --git a/app/redux/daemon/reducers.js b/gui/packages/desktop/src/renderer/redux/daemon/reducers.js index 5e9e707ff6..5e9e707ff6 100644 --- a/app/redux/daemon/reducers.js +++ b/gui/packages/desktop/src/renderer/redux/daemon/reducers.js diff --git a/app/redux/settings/actions.js b/gui/packages/desktop/src/renderer/redux/settings/actions.js index 2c7efdf554..2c7efdf554 100644 --- a/app/redux/settings/actions.js +++ b/gui/packages/desktop/src/renderer/redux/settings/actions.js diff --git a/app/redux/settings/reducers.js b/gui/packages/desktop/src/renderer/redux/settings/reducers.js index 9870066edc..9870066edc 100644 --- a/app/redux/settings/reducers.js +++ b/gui/packages/desktop/src/renderer/redux/settings/reducers.js diff --git a/app/redux/store.js b/gui/packages/desktop/src/renderer/redux/store.js index 119e594a27..119e594a27 100644 --- a/app/redux/store.js +++ b/gui/packages/desktop/src/renderer/redux/store.js diff --git a/app/redux/support/actions.js b/gui/packages/desktop/src/renderer/redux/support/actions.js index d81fd19c0d..d81fd19c0d 100644 --- a/app/redux/support/actions.js +++ b/gui/packages/desktop/src/renderer/redux/support/actions.js diff --git a/app/redux/support/reducers.js b/gui/packages/desktop/src/renderer/redux/support/reducers.js index f885f22dd5..f885f22dd5 100644 --- a/app/redux/support/reducers.js +++ b/gui/packages/desktop/src/renderer/redux/support/reducers.js diff --git a/app/routes.js b/gui/packages/desktop/src/renderer/routes.js index 107ee616be..107ee616be 100644 --- a/app/routes.js +++ b/gui/packages/desktop/src/renderer/routes.js diff --git a/app/transitions.js b/gui/packages/desktop/src/renderer/transitions.js index 56769f6877..56769f6877 100644 --- a/app/transitions.js +++ b/gui/packages/desktop/src/renderer/transitions.js diff --git a/test/.eslintrc b/gui/packages/desktop/test/.eslintrc index 00c8d44bb9..b68ec7a83e 100644 --- a/test/.eslintrc +++ b/gui/packages/desktop/test/.eslintrc @@ -4,10 +4,11 @@ "react/no-render-return-value": "off" }, "env": { + "browser": true, "mocha": true }, "globals": { "expect": true, "spy": true } -}
\ No newline at end of file +} diff --git a/test/components/Account.spec.js b/gui/packages/desktop/test/components/Account.spec.js index 703ce3d27f..c1b81c1b1c 100644 --- a/test/components/Account.spec.js +++ b/gui/packages/desktop/test/components/Account.spec.js @@ -2,8 +2,8 @@ import * as React from 'react'; import { shallow } from 'enzyme'; -import Account from '../../app/components/Account'; -import { BackBarItem } from '../../app/components/NavigationBar'; +import Account from '../../src/renderer/components/Account'; +import { BackBarItem } from '../../src/renderer/components/NavigationBar'; type AccountProps = React.ElementProps<typeof Account>; diff --git a/test/components/Connect.spec.js b/gui/packages/desktop/test/components/Connect.spec.js index e445b2c788..2902dd9f9a 100644 --- a/test/components/Connect.spec.js +++ b/gui/packages/desktop/test/components/Connect.spec.js @@ -3,7 +3,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; -import Connect from '../../app/components/Connect'; +import Connect from '../../src/renderer/components/Connect'; type ConnectProps = React.ElementProps<typeof Connect>; diff --git a/test/components/Login.spec.js b/gui/packages/desktop/test/components/Login.spec.js index 2767d37068..79ccc7850f 100644 --- a/test/components/Login.spec.js +++ b/gui/packages/desktop/test/components/Login.spec.js @@ -2,7 +2,7 @@ import * as React from 'react'; import { shallow } from 'enzyme'; -import Login from '../../app/components/Login'; +import Login from '../../src/renderer/components/Login'; describe('components/Login', () => { it('does not show the footer when logging in', () => { diff --git a/test/components/Preferences.spec.js b/gui/packages/desktop/test/components/Preferences.spec.js index 51be0dc473..dc1836b4a3 100644 --- a/test/components/Preferences.spec.js +++ b/gui/packages/desktop/test/components/Preferences.spec.js @@ -2,8 +2,8 @@ import * as React from 'react'; import { shallow } from 'enzyme'; -import Preferences from '../../app/components/Preferences'; -import { BackBarItem } from '../../app/components/NavigationBar'; +import Preferences from '../../src/renderer/components/Preferences'; +import { BackBarItem } from '../../src/renderer/components/NavigationBar'; describe('components/Preferences', () => { it('Should call close handler', (done) => { diff --git a/test/components/SelectLocation.spec.js b/gui/packages/desktop/test/components/SelectLocation.spec.js index 8db9c99602..cd45ff2e76 100644 --- a/test/components/SelectLocation.spec.js +++ b/gui/packages/desktop/test/components/SelectLocation.spec.js @@ -2,11 +2,11 @@ import * as React from 'react'; import { shallow } from 'enzyme'; -import { CloseBarItem } from '../../app/components/NavigationBar'; -import SelectLocation from '../../app/components/SelectLocation'; +import { CloseBarItem } from '../../src/renderer/components/NavigationBar'; +import SelectLocation from '../../src/renderer/components/SelectLocation'; -import type { SettingsReduxState } from '../../app/redux/settings/reducers'; -import type { SelectLocationProps } from '../../app/components/SelectLocation'; +import type { SettingsReduxState } from '../../src/renderer/redux/settings/reducers'; +import type { SelectLocationProps } from '../../src/renderer/components/SelectLocation'; describe('components/SelectLocation', () => { const state: SettingsReduxState = { diff --git a/test/components/Settings.spec.js b/gui/packages/desktop/test/components/Settings.spec.js index a9302a9ea7..251bd15855 100644 --- a/test/components/Settings.spec.js +++ b/gui/packages/desktop/test/components/Settings.spec.js @@ -2,8 +2,8 @@ import * as React from 'react'; import { shallow } from 'enzyme'; -import Settings from '../../app/components/Settings'; -import { CloseBarItem } from '../../app/components/NavigationBar'; +import Settings from '../../src/renderer/components/Settings'; +import { CloseBarItem } from '../../src/renderer/components/NavigationBar'; type SettingsProps = React.ElementProps<typeof Settings>; diff --git a/test/components/Support.spec.js b/gui/packages/desktop/test/components/Support.spec.js index 23172d3403..00da33c634 100644 --- a/test/components/Support.spec.js +++ b/gui/packages/desktop/test/components/Support.spec.js @@ -1,10 +1,10 @@ // @flow import * as React from 'react'; -import Support from '../../app/components/Support'; import { shallow } from 'enzyme'; -import type { SupportProps } from '../../app/components/Support'; -import { BackBarItem } from '../../app/components/NavigationBar'; +import Support from '../../src/renderer/components/Support'; +import type { SupportProps } from '../../src/renderer/components/Support'; +import { BackBarItem } from '../../src/renderer/components/NavigationBar'; describe('components/Support', () => { it('should call close callback', () => { diff --git a/test/components/Switch.spec.js b/gui/packages/desktop/test/components/Switch.spec.js index 44794d9bba..cacbddb771 100644 --- a/test/components/Switch.spec.js +++ b/gui/packages/desktop/test/components/Switch.spec.js @@ -3,7 +3,7 @@ import * as React from 'react'; import ReactDOM from 'react-dom'; import ReactTestUtils, { Simulate } from 'react-dom/test-utils'; -import Switch from '../../app/components/Switch'; +import Switch from '../../src/renderer/components/Switch'; describe('components/Switch', () => { let container: ?HTMLElement; diff --git a/test/jsonrpc-transport.spec.js b/gui/packages/desktop/test/jsonrpc-transport.spec.js index ca66514192..5e600f2204 100644 --- a/test/jsonrpc-transport.spec.js +++ b/gui/packages/desktop/test/jsonrpc-transport.spec.js @@ -1,8 +1,7 @@ // @flow - import jsonrpc from 'jsonrpc-lite'; import { Server, WebSocket as MockWebSocket } from 'mock-socket'; -import JsonRpcTransport, { TimeOutError } from '../app/lib/jsonrpc-transport'; +import JsonRpcTransport, { TimeOutError } from '../src/renderer/lib/jsonrpc-transport'; describe('JSON RPC transport', () => { const WEBSOCKET_URL = 'ws://localhost:8080'; diff --git a/test/keyframe-animation.spec.js b/gui/packages/desktop/test/keyframe-animation.spec.js index 08a177ea79..84bfb51277 100644 --- a/test/keyframe-animation.spec.js +++ b/gui/packages/desktop/test/keyframe-animation.spec.js @@ -1,6 +1,6 @@ // @flow -import KeyframeAnimation from '../app/lib/keyframe-animation'; +import KeyframeAnimation from '../src/main/keyframe-animation'; import { nativeImage } from 'electron'; describe('lib/keyframe-animation', function() { diff --git a/test/relay-settings-builder.spec.js b/gui/packages/desktop/test/relay-settings-builder.spec.js index ace01a978c..3230861e0a 100644 --- a/test/relay-settings-builder.spec.js +++ b/gui/packages/desktop/test/relay-settings-builder.spec.js @@ -1,6 +1,6 @@ // @flow -import RelaySettingsBuilder from '../app/lib/relay-settings-builder'; +import RelaySettingsBuilder from '../src/renderer/lib/relay-settings-builder'; describe('Relay settings builder', () => { it('should set location to any', () => { diff --git a/test/setup/main.js b/gui/packages/desktop/test/setup/main.js index dd458a30b6..dd458a30b6 100644 --- a/test/setup/main.js +++ b/gui/packages/desktop/test/setup/main.js diff --git a/test/setup/renderer.js b/gui/packages/desktop/test/setup/renderer.js index a1bd11a4d8..a1bd11a4d8 100644 --- a/test/setup/renderer.js +++ b/gui/packages/desktop/test/setup/renderer.js diff --git a/test/transition-rule.spec.js b/gui/packages/desktop/test/transition-rule.spec.js index f36c44182e..b6b2da4be4 100644 --- a/test/transition-rule.spec.js +++ b/gui/packages/desktop/test/transition-rule.spec.js @@ -1,6 +1,6 @@ // @flow -import TransitionRule from '../app/lib/transition-rule'; +import TransitionRule from '../src/renderer/lib/transition-rule'; describe('TransitionRule', () => { const testTransition = { diff --git a/gui/packages/mobile/.babelrc b/gui/packages/mobile/.babelrc new file mode 100644 index 0000000000..a9ce1369e6 --- /dev/null +++ b/gui/packages/mobile/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["react-native"] +} diff --git a/gui/packages/mobile/.flowconfig b/gui/packages/mobile/.flowconfig new file mode 100644 index 0000000000..fc7e2123ad --- /dev/null +++ b/gui/packages/mobile/.flowconfig @@ -0,0 +1,67 @@ +[ignore] +; We fork some components by platform +.*/*[.]android.js + +; Ignore "BUCK" generated dirs +<PROJECT_ROOT>/\.buckd/ + +; Ignore unexpected extra "@providesModule" +.*/node_modules/.*/node_modules/fbjs/.* + +; Ignore duplicate module providers +; For RN Apps installed via npm, "Libraries" folder is inside +; "node_modules/react-native" but in the source repo it is in the root +.*/Libraries/react-native/React.js + +; Ignore polyfills +.*/Libraries/polyfills/.* + +; Ignore metro +.*/node_modules/metro/.* + +[include] + +[libs] +node_modules/react-native/Libraries/react-native/react-native-interface.js +node_modules/react-native/flow/ +node_modules/react-native/flow-github/ + +[options] +emoji=true + +module.system=hastez +module.system.haste.use_name_reducers=true +# get basename +module.system.haste.name_reducers='^.*/\([a-zA-Z0-9$_.-]+\.js\(\.flow\)?\)$' -> '\1' +# strip .js or .js.flow suffix +module.system.haste.name_reducers='^\(.*\)\.js\(\.flow\)?$' -> '\1' +# strip .ios suffix +module.system.haste.name_reducers='^\(.*\)\.ios$' -> '\1' +module.system.haste.name_reducers='^\(.*\)\.android$' -> '\1' +module.system.haste.name_reducers='^\(.*\)\.native$' -> '\1' +module.system.haste.paths.blacklist=.*/__tests__/.* +module.system.haste.paths.blacklist=.*/__mocks__/.* +module.system.haste.paths.blacklist=<PROJECT_ROOT>/node_modules/react-native/Libraries/Animated/src/polyfills/.* +module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/Libraries/.* + +munge_underscores=true + +module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub' + +module.file_ext=.js +module.file_ext=.jsx +module.file_ext=.json +module.file_ext=.native.js + +suppress_type=$FlowIssue +suppress_type=$FlowFixMe +suppress_type=$FlowFixMeProps +suppress_type=$FlowFixMeState + +suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) +suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ +suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy +suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError + +[version] +^0.75.0 diff --git a/gui/packages/mobile/.gitattributes b/gui/packages/mobile/.gitattributes new file mode 100644 index 0000000000..d42ff18354 --- /dev/null +++ b/gui/packages/mobile/.gitattributes @@ -0,0 +1 @@ +*.pbxproj -text diff --git a/gui/packages/mobile/.gitignore b/gui/packages/mobile/.gitignore new file mode 100644 index 0000000000..5d647565fa --- /dev/null +++ b/gui/packages/mobile/.gitignore @@ -0,0 +1,56 @@ +# OSX +# +.DS_Store + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +project.xcworkspace + +# Android/IntelliJ +# +build/ +.idea +.gradle +local.properties +*.iml + +# node.js +# +node_modules/ +npm-debug.log +yarn-error.log + +# BUCK +buck-out/ +\.buckd/ +*.keystore + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/ + +*/fastlane/report.xml +*/fastlane/Preview.html +*/fastlane/screenshots + +# Bundle artifact +*.jsbundle diff --git a/gui/packages/mobile/App.js b/gui/packages/mobile/App.js new file mode 100644 index 0000000000..b697fb660d --- /dev/null +++ b/gui/packages/mobile/App.js @@ -0,0 +1,41 @@ +// @flow + +import * as React from 'react'; +import { Component, Text, View, Platform, Styles } from 'reactxp'; + +const instructions = Platform.select({ + ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu', + android: 'Double tap R on your keyboard to reload,\n' + 'Shake or press menu button for dev menu', +}); + +type Props = {}; +export default class App extends Component<Props> { + render() { + return ( + <View style={styles.container}> + <Text style={styles.welcome}>Welcome to React Native!</Text> + <Text style={styles.instructions}>To get started, edit App.js</Text> + <Text style={styles.instructions}>{instructions}</Text> + </View> + ); + } +} + +const styles = { + container: Styles.createViewStyle({ + flex: 1, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: '#F5FCFF', + }), + welcome: Styles.createTextStyle({ + fontSize: 20, + textAlign: 'center', + margin: 10, + }), + instructions: Styles.createTextStyle({ + textAlign: 'center', + color: '#333333', + marginBottom: 5, + }), +}; diff --git a/gui/packages/mobile/app.json b/gui/packages/mobile/app.json new file mode 100644 index 0000000000..c6b64bcd1b --- /dev/null +++ b/gui/packages/mobile/app.json @@ -0,0 +1,4 @@ +{ + "name": "RXApp", + "displayName": "Mullvad VPN" +} diff --git a/app/index.android.js b/gui/packages/mobile/index.js index c17bd40f9e..c6546b4989 100644 --- a/app/index.android.js +++ b/gui/packages/mobile/index.js @@ -1,6 +1,6 @@ // @flow -import React from 'react'; +import * as React from 'react'; import RX from 'reactxp'; import App from './App'; diff --git a/gui/packages/mobile/package.json b/gui/packages/mobile/package.json new file mode 100644 index 0000000000..16fdfad070 --- /dev/null +++ b/gui/packages/mobile/package.json @@ -0,0 +1,31 @@ +{ + "name": "mobile", + "version": "0.1.0", + "private": true, + "productName": "Mullvad VPN", + "description": "Mullvad VPN client", + "author": { + "name": "Mullvad VPN", + "email": "support@mullvad.net" + }, + "repository": "https://github.com/mullvad/mullvadvpn-app", + "license": "GPL-3.0", + "dependencies": { + "@mullvad/components": "0.1.0", + "react": "^16.0.0", + "react-native": "^0.56", + "reactxp": "^1.3.3" + }, + "devDependencies": { + "@babel/cli": "7.0.0-beta.47", + "@babel/core": "7.0.0-beta.47", + "babel-preset-react-native": "^5" + }, + "scripts": { + "postinstall": "node ./postinstall.js", + "eject": "react-native eject", + "develop:android": "react-native run-android --simulator", + "develop:ios": "react-native run-ios --simulator", + "test": "echo '1' ; exit 1" + } +} diff --git a/gui/packages/mobile/postinstall.js b/gui/packages/mobile/postinstall.js new file mode 100644 index 0000000000..50234eae67 --- /dev/null +++ b/gui/packages/mobile/postinstall.js @@ -0,0 +1,29 @@ +// +// React-native CLI doesn't function properly in workspace configuration. +// +// Symlinking `/gui/node_modules/react-native` to `/gui/packages/mobile/node_modules/react-native` +// solves this. See rn-cli.config.js for project roots override. +// + +const path = require('path'); +const fs = require('fs'); + +const sourcePath = path.resolve(path.join(__dirname, '../../node_modules/react-native')); +const symlinkPath = path.join(__dirname, 'node_modules/react-native'); + +try { + console.log('Removing a symlink to react-native'); + fs.unlinkSync(symlinkPath); +} catch (error) { + if (error.code !== 'ENOENT') { + throw error; + } +} + +try { + console.log('Adding a symlink to react-native'); + fs.symlinkSync(sourcePath, symlinkPath); + console.log('Done'); +} catch (error) { + console.error('Cannot symlink react-native: ' + error.message); +} diff --git a/gui/rn-cli.config.js b/gui/rn-cli.config.js new file mode 100644 index 0000000000..dd126ee7ca --- /dev/null +++ b/gui/rn-cli.config.js @@ -0,0 +1,14 @@ +const path = require('path'); + +console.log('React-native CLI is running at: ', __dirname); + +module.exports = { + getProjectRoots() { + return [ + path.resolve(__dirname, 'packages/mobile'), + path.resolve(__dirname, 'packages/components/'), + path.resolve(__dirname, 'packages/mobile/node_modules'), + path.resolve(__dirname, 'node_modules'), + ]; + } +} diff --git a/yarn.lock b/gui/yarn.lock index d882450a94..e2344e3585 100644 --- a/yarn.lock +++ b/gui/yarn.lock @@ -10,12 +10,53 @@ version "0.0.6" resolved "https://registry.yarnpkg.com/7zip/-/7zip-0.0.6.tgz#9cafb171af82329490353b4816f03347aa150a30" +"@babel/cli@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.0.0-beta.47.tgz#e00cc40ffd9084a5243c8fbded3f5049bc970e4c" + dependencies: + commander "^2.8.1" + convert-source-map "^1.1.0" + fs-readdir-recursive "^1.0.0" + glob "^7.0.0" + lodash "^4.17.5" + output-file-sync "^2.0.0" + slash "^1.0.0" + source-map "^0.5.0" + optionalDependencies: + chokidar "^2.0.3" + "@babel/code-frame@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz#2a02643368de80916162be70865c97774f3adbd9" dependencies: "@babel/highlight" "7.0.0-beta.44" +"@babel/code-frame@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz#d18c2f4c4ba8d093a2bcfab5616593bfe2441a27" + dependencies: + "@babel/highlight" "7.0.0-beta.47" + +"@babel/core@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0-beta.47.tgz#b9c164fb9a1e1083f067c236a9da1d7a7d759271" + dependencies: + "@babel/code-frame" "7.0.0-beta.47" + "@babel/generator" "7.0.0-beta.47" + "@babel/helpers" "7.0.0-beta.47" + "@babel/template" "7.0.0-beta.47" + "@babel/traverse" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + babylon "7.0.0-beta.47" + convert-source-map "^1.1.0" + debug "^3.1.0" + json5 "^0.5.0" + lodash "^4.17.5" + micromatch "^2.3.11" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/generator@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.44.tgz#c7e67b9b5284afcf69b309b50d7d37f3e5033d42" @@ -26,6 +67,59 @@ source-map "^0.5.0" trim-right "^1.0.1" +"@babel/generator@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.47.tgz#1835709f377cc4d2a4affee6d9258a10bbf3b9d1" + dependencies: + "@babel/types" "7.0.0-beta.47" + jsesc "^2.5.1" + lodash "^4.17.5" + source-map "^0.5.0" + trim-right "^1.0.1" + +"@babel/helper-annotate-as-pure@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.47.tgz#354fb596055d9db369211bf075f0d5e93904d6f6" + dependencies: + "@babel/types" "7.0.0-beta.47" + +"@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.47.tgz#d5917c29ee3d68abc2c72f604bc043f6e056e907" + dependencies: + "@babel/helper-explode-assignable-expression" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + +"@babel/helper-builder-react-jsx@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.47.tgz#e39bbce315743044c0d64b31f82f20600f761729" + dependencies: + "@babel/types" "7.0.0-beta.47" + esutils "^2.0.0" + +"@babel/helper-call-delegate@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.47.tgz#96b7804397075f722a4030d3876f51ec19d8829b" + dependencies: + "@babel/helper-hoist-variables" "7.0.0-beta.47" + "@babel/traverse" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + +"@babel/helper-define-map@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.47.tgz#43a9def87c5166dc29630d51b3da9cc4320c131c" + dependencies: + "@babel/helper-function-name" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + lodash "^4.17.5" + +"@babel/helper-explode-assignable-expression@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.47.tgz#56b688e282a698f4d1cf135453a11ae8af870a19" + dependencies: + "@babel/traverse" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + "@babel/helper-function-name@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz#e18552aaae2231100a6e485e03854bc3532d44dd" @@ -34,18 +128,128 @@ "@babel/template" "7.0.0-beta.44" "@babel/types" "7.0.0-beta.44" +"@babel/helper-function-name@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.47.tgz#8057d63e951e85c57c02cdfe55ad7608d73ffb7d" + dependencies: + "@babel/helper-get-function-arity" "7.0.0-beta.47" + "@babel/template" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + "@babel/helper-get-function-arity@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz#d03ca6dd2b9f7b0b1e6b32c56c72836140db3a15" dependencies: "@babel/types" "7.0.0-beta.44" +"@babel/helper-get-function-arity@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.47.tgz#2de04f97c14b094b55899d3fa83144a16d207510" + dependencies: + "@babel/types" "7.0.0-beta.47" + +"@babel/helper-hoist-variables@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.47.tgz#ce295d1d723fe22b2820eaec748ed701aa5ae3d0" + dependencies: + "@babel/types" "7.0.0-beta.47" + +"@babel/helper-member-expression-to-functions@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.47.tgz#35bfcf1d16dce481ef3dec66d5a1ae6a7d80bb45" + dependencies: + "@babel/types" "7.0.0-beta.47" + +"@babel/helper-module-imports@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.47.tgz#5af072029ffcfbece6ffbaf5d9984c75580f3f04" + dependencies: + "@babel/types" "7.0.0-beta.47" + lodash "^4.17.5" + +"@babel/helper-module-transforms@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.47.tgz#7eff91fc96873bd7b8d816698f1a69bbc01f3c38" + dependencies: + "@babel/helper-module-imports" "7.0.0-beta.47" + "@babel/helper-simple-access" "7.0.0-beta.47" + "@babel/helper-split-export-declaration" "7.0.0-beta.47" + "@babel/template" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + lodash "^4.17.5" + +"@babel/helper-optimise-call-expression@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.47.tgz#085d864d0613c5813c1b7c71b61bea36f195929e" + dependencies: + "@babel/types" "7.0.0-beta.47" + +"@babel/helper-plugin-utils@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.47.tgz#4f564117ec39f96cf60fafcde35c9ddce0e008fd" + +"@babel/helper-regex@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0-beta.47.tgz#b8e3b53132c4edbb04804242c02ffe4d60316971" + dependencies: + lodash "^4.17.5" + +"@babel/helper-remap-async-to-generator@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.47.tgz#444dc362f61470bd61a745ebb364431d9ca186c2" + dependencies: + "@babel/helper-annotate-as-pure" "7.0.0-beta.47" + "@babel/helper-wrap-function" "7.0.0-beta.47" + "@babel/template" "7.0.0-beta.47" + "@babel/traverse" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + +"@babel/helper-replace-supers@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.47.tgz#310b206a302868a792b659455ceba27db686cbb7" + dependencies: + "@babel/helper-member-expression-to-functions" "7.0.0-beta.47" + "@babel/helper-optimise-call-expression" "7.0.0-beta.47" + "@babel/traverse" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + +"@babel/helper-simple-access@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.47.tgz#234d754acbda9251a10db697ef50181eab125042" + dependencies: + "@babel/template" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + lodash "^4.17.5" + "@babel/helper-split-export-declaration@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz#c0b351735e0fbcb3822c8ad8db4e583b05ebd9dc" dependencies: "@babel/types" "7.0.0-beta.44" +"@babel/helper-split-export-declaration@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.47.tgz#e11277855472d8d83baf22f2d0186c4a2059b09a" + dependencies: + "@babel/types" "7.0.0-beta.47" + +"@babel/helper-wrap-function@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.47.tgz#6528b44a3ccb4f3aeeb79add0a88192f7eb81161" + dependencies: + "@babel/helper-function-name" "7.0.0-beta.47" + "@babel/template" "7.0.0-beta.47" + "@babel/traverse" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + +"@babel/helpers@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.0.0-beta.47.tgz#f9b42ed2e4d5f75ec0fb2e792c173e451e8d40fd" + dependencies: + "@babel/template" "7.0.0-beta.47" + "@babel/traverse" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + "@babel/highlight@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.44.tgz#18c94ce543916a80553edcdcf681890b200747d5" @@ -54,6 +258,259 @@ esutils "^2.0.2" js-tokens "^3.0.0" +"@babel/highlight@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.47.tgz#8fbc83fb2a21f0bd2b95cdbeb238cf9689cad494" + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + +"@babel/plugin-external-helpers@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-external-helpers/-/plugin-external-helpers-7.0.0-beta.47.tgz#b348b80da9b5fa3acebbe21979aa3839f6f7b875" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-proposal-class-properties@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.47.tgz#08c1a1dfc92d0f5c37b39096c6fb883e1ca4b0f5" + dependencies: + "@babel/helper-function-name" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-replace-supers" "7.0.0-beta.47" + "@babel/plugin-syntax-class-properties" "7.0.0-beta.47" + +"@babel/plugin-proposal-object-rest-spread@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.47.tgz#e1529fddc88e948868ee1d0edaa27ebd9502322d" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.47" + +"@babel/plugin-proposal-optional-chaining@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0-beta.47.tgz#099e5720121f91eb36544575f98d44cd57865ea5" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/plugin-syntax-optional-chaining" "7.0.0-beta.47" + +"@babel/plugin-syntax-class-properties@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.47.tgz#de52bed12fd472c848e1562f57dd4a202fe27f11" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-syntax-dynamic-import@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.47.tgz#ee964915014a687701ee8e15c289e31a7c899e60" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-syntax-flow@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.47.tgz#9d0b09b9af6fec87a7b22e406bf948089d58c188" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-syntax-jsx@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.47.tgz#f3849d94288695d724bd205b4f6c3c99e4ec24a4" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-syntax-nullish-coalescing-operator@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.0.0-beta.47.tgz#24043fa9b2cdd980d4ff18b9d451569565725ebf" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-syntax-object-rest-spread@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.47.tgz#21da514d94c138b2261ca09f0dec9abadce16185" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-syntax-optional-chaining@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0-beta.47.tgz#f1febe859d9dde26f2b2e1f20cf679925d1fab23" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-arrow-functions@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.47.tgz#d6eecda4c652b909e3088f0983ebaf8ec292984b" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-async-to-generator@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.47.tgz#5723816ea1e91fa313a84e6ee9cc12ff31d46610" + dependencies: + "@babel/helper-module-imports" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-remap-async-to-generator" "7.0.0-beta.47" + +"@babel/plugin-transform-block-scoping@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.47.tgz#b737cc58a81bea57efd5bda0baef9a43a25859ad" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + lodash "^4.17.5" + +"@babel/plugin-transform-classes@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.47.tgz#7aff9cbe7b26fd94d7a9f97fa90135ef20c93fb6" + dependencies: + "@babel/helper-annotate-as-pure" "7.0.0-beta.47" + "@babel/helper-define-map" "7.0.0-beta.47" + "@babel/helper-function-name" "7.0.0-beta.47" + "@babel/helper-optimise-call-expression" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-replace-supers" "7.0.0-beta.47" + "@babel/helper-split-export-declaration" "7.0.0-beta.47" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.47.tgz#56ef2a021769a2b65e90a3e12fd10b791da9f3e0" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-destructuring@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.47.tgz#452b607775fd1c4d10621997837189efc0a6d428" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-exponentiation-operator@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.47.tgz#930e1abf5db9f4db5b63dbf97f3581ad0be1e907" + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-flow-strip-types@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.47.tgz#fa45811094c10d70c84efdd0eac62ebd2a634bf7" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/plugin-syntax-flow" "7.0.0-beta.47" + +"@babel/plugin-transform-for-of@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.47.tgz#527d5dc24e4a4ad0fc1d0a3990d29968cb984e76" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-function-name@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.47.tgz#fb443c81cc77f3206a863b730b35c8c553ce5041" + dependencies: + "@babel/helper-function-name" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-literals@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.47.tgz#448fad196f062163684a38f10f14e83315892e9c" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-modules-commonjs@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.47.tgz#dfe5c6d867aa9614e55f7616736073edb3aab887" + dependencies: + "@babel/helper-module-transforms" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-simple-access" "7.0.0-beta.47" + +"@babel/plugin-transform-object-assign@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.0.0-beta.47.tgz#aaf0e4593c1e9b1ceb48fc8770736a029b17ed64" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-parameters@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.47.tgz#46a4236040a6552a5f165fb3ddd60368954b0ddd" + dependencies: + "@babel/helper-call-delegate" "7.0.0-beta.47" + "@babel/helper-get-function-arity" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-react-display-name@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.47.tgz#7a45c1703b8b33f252148ecf1b50dd54809de952" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-react-jsx-source@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.47.tgz#da8c01704b896409eae168a15045216e72d278dc" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/plugin-syntax-jsx" "7.0.0-beta.47" + +"@babel/plugin-transform-react-jsx@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.47.tgz#98c99a69be748d966c0aea08b5ca942ba3fc9ed1" + dependencies: + "@babel/helper-builder-react-jsx" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/plugin-syntax-jsx" "7.0.0-beta.47" + +"@babel/plugin-transform-regenerator@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.47.tgz#86500e1c404055fb98fc82b73b09bd053cacb516" + dependencies: + regenerator-transform "^0.12.3" + +"@babel/plugin-transform-shorthand-properties@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.47.tgz#00be44c4fad8fe2c00ed18ea15ea3c88dd519dbb" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-spread@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.47.tgz#3feadb02292ed1e9b75090d651b9df88a7ab5c50" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-sticky-regex@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.47.tgz#c0aa347d76b5dc87d3b37ac016ada3f950605131" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-regex" "7.0.0-beta.47" + +"@babel/plugin-transform-template-literals@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.47.tgz#5f7b5badf64c4c5da79026aeab03001e62a6ee5f" + dependencies: + "@babel/helper-annotate-as-pure" "7.0.0-beta.47" + "@babel/helper-plugin-utils" "7.0.0-beta.47" + +"@babel/plugin-transform-unicode-regex@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.47.tgz#efed0b2f1dfbf28283502234a95b4be88f7fdcb6" + dependencies: + "@babel/helper-plugin-utils" "7.0.0-beta.47" + "@babel/helper-regex" "7.0.0-beta.47" + regexpu-core "^4.1.3" + +"@babel/register@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0-beta.47.tgz#ac53bc357ca59979db0e306aa5d3121aa612a7a2" + dependencies: + core-js "^2.5.3" + find-cache-dir "^1.0.0" + home-or-tmp "^3.0.0" + lodash "^4.17.5" + mkdirp "^0.5.1" + pirates "^3.0.1" + source-map-support "^0.4.2" + "@babel/template@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f" @@ -63,6 +520,15 @@ babylon "7.0.0-beta.44" lodash "^4.2.0" +"@babel/template@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.47.tgz#0473970a7c0bee7a1a18c1ca999d3ba5e5bad83d" + dependencies: + "@babel/code-frame" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + babylon "7.0.0-beta.47" + lodash "^4.17.5" + "@babel/traverse@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.44.tgz#a970a2c45477ad18017e2e465a0606feee0d2966" @@ -78,6 +544,21 @@ invariant "^2.2.0" lodash "^4.2.0" +"@babel/traverse@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.47.tgz#0e57fdbb9ff3a909188b6ebf1e529c641e6c82a4" + dependencies: + "@babel/code-frame" "7.0.0-beta.47" + "@babel/generator" "7.0.0-beta.47" + "@babel/helper-function-name" "7.0.0-beta.47" + "@babel/helper-split-export-declaration" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" + babylon "7.0.0-beta.47" + debug "^3.1.0" + globals "^11.1.0" + invariant "^2.2.0" + lodash "^4.17.5" + "@babel/types@7.0.0-beta.44": version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.44.tgz#6b1b164591f77dec0a0342aca995f2d046b3a757" @@ -86,9 +567,17 @@ lodash "^4.2.0" to-fast-properties "^2.0.0" +"@babel/types@7.0.0-beta.47": + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.47.tgz#e6fcc1a691459002c2671d558a586706dddaeef8" + dependencies: + esutils "^2.0.2" + lodash "^4.17.5" + to-fast-properties "^2.0.0" + "@octokit/rest@^15.2.6": - version "15.9.5" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-15.9.5.tgz#e356d202bd0b517e381f705ad77d98ccb84e0c65" + version "15.9.4" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-15.9.4.tgz#c6cf0f483275d9c798b18419b7c9d417493bb70f" dependencies: before-after-hook "^1.1.0" btoa-lite "^1.0.0" @@ -104,16 +593,16 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.110.tgz#fb07498f84152947f30ea09d89207ca07123461e" "@types/lodash@^4.14.64": - version "4.14.91" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.91.tgz#794611b28056d16b5436059c6d800b39d573cd3a" + version "4.14.115" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.115.tgz#54d171b2ce12c058742443b5f6754760f701b8f9" "@types/node@*": - version "8.5.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.2.tgz#83b8103fa9a2c2e83d78f701a9aa7c9539739aa5" + version "10.5.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.5.4.tgz#6eccc158504357d1da91434d75e86acde94bb10b" "@types/node@^8.0.24": - version "8.9.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.9.4.tgz#dfd327582a06c114eb6e0441fa3d6fab35edad48" + version "8.10.22" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.22.tgz#c095d7c668908d48b95ae11fcc4a6d6b1c116a35" "@types/react-dom@16.0.6": version "16.0.6" @@ -129,13 +618,23 @@ "@types/react" "*" "@types/react@*": - version "16.0.31" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.0.31.tgz#5285da62f3ac62b797f6d0729a1d6181f3180c3e" + version "16.4.7" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.4.7.tgz#f33f6d759a7e1833befa15224d68942d178a5a3f" + dependencies: + csstype "^2.2.0" "@types/react@16.0.36": version "16.0.36" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.0.36.tgz#ceb5639013bdb92a94147883052e69bb2c22c69b" +abab@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" + +abab@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" + abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -144,38 +643,26 @@ absolute-path@^0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/absolute-path/-/absolute-path-0.0.0.tgz#a78762fbdadfb5297be99b15d35a785b2f095bf7" -accepts@1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" +accepts@~1.3.3, accepts@~1.3.4, accepts@~1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" dependencies: - mime-types "~2.1.11" + mime-types "~2.1.18" negotiator "0.6.1" -accepts@~1.2.12, accepts@~1.2.13: - version "1.2.13" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.2.13.tgz#e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea" - dependencies: - mime-types "~2.1.6" - negotiator "0.5.3" - -accepts@~1.3.0, accepts@~1.3.3: - version "1.3.4" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" +acorn-globals@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538" dependencies: - mime-types "~2.1.16" - negotiator "0.6.1" + acorn "^5.0.0" -acorn-jsx@^3.0.0, acorn-jsx@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" +acorn-jsx@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.1.1.tgz#e8e41e48ea2fe0c896740610ab6a4ffd8add225e" dependencies: - acorn "^3.0.4" - -acorn@^3.0.4: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + acorn "^5.0.3" -acorn@^5.5.0: +acorn@^5.0.0, acorn@^5.0.3, acorn@^5.5.3, acorn@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8" @@ -189,22 +676,11 @@ agent-base@4, agent-base@^4.1.0: dependencies: es6-promisify "^5.0.0" -ajv-keywords@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" - -ajv-keywords@^3.2.0: +ajv-keywords@^3.0.0, ajv-keywords@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" -ajv@^4.9.1: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: +ajv@^5.1.0, ajv@^5.3.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" dependencies: @@ -213,7 +689,7 @@ ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" -ajv@^6.5.2: +ajv@^6.0.1, ajv@^6.5.0, ajv@^6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.2.tgz#678495f9b82f7cca6be248dd92f59bff5e1f4360" dependencies: @@ -222,23 +698,27 @@ ajv@^6.5.2: json-schema-traverse "^0.4.1" uri-js "^4.2.1" -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - ansi-align@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" dependencies: string-width "^2.0.0" -ansi-escapes@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" +ansi-colors@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" + dependencies: + ansi-wrap "^0.1.0" + +ansi-cyan@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873" + dependencies: + ansi-wrap "0.1.0" ansi-escapes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" + version "3.1.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" ansi-gray@^0.1.1: version "0.1.1" @@ -246,6 +726,12 @@ ansi-gray@^0.1.1: dependencies: ansi-wrap "0.1.0" +ansi-red@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" + dependencies: + ansi-wrap "0.1.0" + ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -258,19 +744,13 @@ ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" -ansi-styles@^3.1.0, ansi-styles@^3.2.1: +ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" dependencies: color-convert "^1.9.0" -ansi-styles@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" - dependencies: - color-convert "^1.9.0" - -ansi-wrap@0.1.0: +ansi-wrap@0.1.0, ansi-wrap@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" @@ -285,20 +765,50 @@ anymatch@^1.3.0: micromatch "^2.1.5" normalize-path "^2.0.0" -app-builder-bin@1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-1.11.1.tgz#33741167f2873cf76805c9557b62caac8ede017b" +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +app-builder-bin@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-2.1.1.tgz#02c6adfbfa3c09404a23ff7874d2cab5a8fcb9ca" + +app-builder-lib@20.27.1, app-builder-lib@~20.27.0: + version "20.27.1" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-20.27.1.tgz#02d5da95cc68256ec3812999e9686d7f6dfdfcc1" + dependencies: + "7zip-bin" "~4.0.2" + app-builder-bin "2.1.1" + async-exit-hook "^2.0.1" + bluebird-lst "^1.0.5" + builder-util "6.0.0" + builder-util-runtime "4.4.1" + chromium-pickle-js "^0.2.0" + debug "^3.1.0" + ejs "^2.6.1" + electron-osx-sign "0.4.10" + electron-publish "20.27.0" + fs-extra-p "^4.6.1" + hosted-git-info "^2.7.1" + is-ci "^1.1.0" + isbinaryfile "^3.0.3" + js-yaml "^3.12.0" + lazy-val "^1.0.3" + minimatch "^3.0.4" + normalize-package-data "^2.4.0" + plist "^3.0.1" + read-config-file "3.1.0" + sanitize-filename "^1.6.1" + semver "^5.5.0" + temp-file "^3.1.3" aproba@^1.0.3: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" -archive-type@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/archive-type/-/archive-type-3.2.0.tgz#9cd9c006957ebe95fadad5bd6098942a813737f6" - dependencies: - file-type "^3.1.0" - are-we-there-yet@~1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" @@ -307,24 +817,43 @@ are-we-there-yet@~1.1.2: readable-stream "^2.0.6" argparse@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" dependencies: sprintf-js "~1.0.2" +arr-diff@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a" + dependencies: + arr-flatten "^1.0.1" + array-slice "^0.2.3" + arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" dependencies: arr-flatten "^1.0.1" -arr-flatten@^1.0.1: +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" -array-differ@^1.0.0: +arr-union@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + +array-equal@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" array-filter@~0.0.0: version "0.0.1" @@ -349,13 +878,17 @@ array-reduce@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" +array-slice@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" + array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" dependencies: array-uniq "^1.0.1" -array-uniq@^1.0.1, array-uniq@^1.0.2: +array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -363,6 +896,10 @@ array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + arraybuffer.slice@~0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" @@ -372,8 +909,8 @@ arrify@^1.0.0: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" art@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/art/-/art-0.10.1.tgz#38541883e399225c5e193ff246e8f157cf7b2146" + version "0.10.3" + resolved "https://registry.yarnpkg.com/art/-/art-0.10.3.tgz#b01d84a968ccce6208df55a733838c96caeeaea2" asap@~2.0.3: version "2.0.6" @@ -387,10 +924,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - assert@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -401,15 +934,9 @@ assertion-error@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" -ast-query@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ast-query/-/ast-query-2.0.0.tgz#3588e79ad8de07ce50df1e781cc2bda1fd69a453" - dependencies: - acorn-jsx "^3.0.1" - class-extend "^0.1.1" - escodegen-wallaby "^1.6.7" - lodash "^4.6.1" - traverse "^0.6.6" +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" async-each-series@0.1.1: version "0.1.1" @@ -427,37 +954,44 @@ async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" -async@1.5.2, async@^1.4.2: +async@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" async@^2.4.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" + version "2.6.1" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" dependencies: - lodash "^4.14.0" + lodash "^4.17.10" asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" +atob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" -aws4@^1.2.1: +aws4@^1.6.0: version "1.7.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" -aws4@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" -babel-cli@^6.22.2: +axios@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.17.1.tgz#2d8e3e5d0bdbd7327f91bc814f5c57660f81824d" + dependencies: + follow-redirects "^1.2.5" + is-buffer "^1.1.5" + +babel-cli@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" dependencies: @@ -478,7 +1012,7 @@ babel-cli@^6.22.2: optionalDependencies: chokidar "^1.6.1" -babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: +babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" dependencies: @@ -486,31 +1020,7 @@ babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-core@^6.24.1, babel-core@^6.7.2: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" - dependencies: - babel-code-frame "^6.26.0" - babel-generator "^6.26.0" - babel-helpers "^6.24.1" - babel-messages "^6.23.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - convert-source-map "^1.5.0" - debug "^2.6.8" - json5 "^0.5.1" - lodash "^4.17.4" - minimatch "^3.0.4" - path-is-absolute "^1.0.1" - private "^0.1.7" - slash "^1.0.0" - source-map "^0.5.6" - -babel-core@^6.25.0, babel-core@^6.26.0: +babel-core@^6.24.1, babel-core@^6.26.0, babel-core@^6.26.3, babel-core@^6.7.2: version "6.26.3" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" dependencies: @@ -534,15 +1044,15 @@ babel-core@^6.25.0, babel-core@^6.26.0: slash "^1.0.0" source-map "^0.5.7" -babel-eslint@^8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.3.tgz#1a2e6681cc9bc4473c32899e59915e19cd6733cf" +babel-eslint@^8.2.6: + version "8.2.6" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.6.tgz#6270d0c73205628067c0f7ae1693a9e797acefd9" dependencies: "@babel/code-frame" "7.0.0-beta.44" "@babel/traverse" "7.0.0-beta.44" "@babel/types" "7.0.0-beta.44" babylon "7.0.0-beta.44" - eslint-scope "~3.7.1" + eslint-scope "3.7.1" eslint-visitor-keys "^1.0.0" babel-generator@^6.26.0: @@ -639,7 +1149,7 @@ babel-helper-regex@^6.24.1: babel-types "^6.26.0" lodash "^4.17.4" -babel-helper-remap-async-to-generator@^6.16.0, babel-helper-remap-async-to-generator@^6.24.1: +babel-helper-remap-async-to-generator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" dependencies: @@ -673,45 +1183,35 @@ babel-messages@^6.23.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-check-es2015-constants@^6.22.0, babel-plugin-check-es2015-constants@^6.5.0, babel-plugin-check-es2015-constants@^6.8.0: +babel-plugin-check-es2015-constants@^6.22.0, babel-plugin-check-es2015-constants@^6.8.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" dependencies: babel-runtime "^6.22.0" -babel-plugin-external-helpers@^6.18.0: +babel-plugin-external-helpers@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz#2285f48b02bd5dede85175caf8c62e86adccefa1" dependencies: babel-runtime "^6.22.0" -babel-plugin-react-transform@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-react-transform/-/babel-plugin-react-transform-3.0.0.tgz#402f25137b7bb66e9b54ead75557dfbc7ecaaa74" - dependencies: - lodash "^4.6.1" - -babel-plugin-syntax-async-functions@^6.5.0, babel-plugin-syntax-async-functions@^6.8.0: +babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" -babel-plugin-syntax-class-properties@^6.5.0, babel-plugin-syntax-class-properties@^6.8.0: +babel-plugin-syntax-class-properties@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" -babel-plugin-syntax-dynamic-import@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" - babel-plugin-syntax-exponentiation-operator@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" -babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.5.0, babel-plugin-syntax-flow@^6.8.0: +babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.8.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" -babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.5.0, babel-plugin-syntax-jsx@^6.8.0: +babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" @@ -719,18 +1219,10 @@ babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" -babel-plugin-syntax-trailing-function-commas@^6.20.0, babel-plugin-syntax-trailing-function-commas@^6.22.0, babel-plugin-syntax-trailing-function-commas@^6.5.0, babel-plugin-syntax-trailing-function-commas@^6.8.0: +babel-plugin-syntax-trailing-function-commas@^6.22.0, babel-plugin-syntax-trailing-function-commas@^6.8.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" -babel-plugin-transform-async-to-generator@6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999" - dependencies: - 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-async-to-generator@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" @@ -746,7 +1238,7 @@ babel-plugin-transform-builtin-extend@^1.1.2: babel-runtime "^6.2.0" babel-template "^6.3.0" -babel-plugin-transform-class-properties@^6.18.0, babel-plugin-transform-class-properties@^6.24.1, babel-plugin-transform-class-properties@^6.5.0, babel-plugin-transform-class-properties@^6.8.0: +babel-plugin-transform-class-properties@^6.24.1, babel-plugin-transform-class-properties@^6.8.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" dependencies: @@ -755,7 +1247,7 @@ babel-plugin-transform-class-properties@^6.18.0, babel-plugin-transform-class-pr babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-arrow-functions@^6.22.0, babel-plugin-transform-es2015-arrow-functions@^6.5.0, babel-plugin-transform-es2015-arrow-functions@^6.8.0: +babel-plugin-transform-es2015-arrow-functions@^6.22.0, babel-plugin-transform-es2015-arrow-functions@^6.8.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" dependencies: @@ -767,7 +1259,7 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.22.0, babel-plugin-trans dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.5.0, babel-plugin-transform-es2015-block-scoping@^6.8.0: +babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.8.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" dependencies: @@ -777,7 +1269,7 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es20 babel-types "^6.26.0" lodash "^4.17.4" -babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.5.0, babel-plugin-transform-es2015-classes@^6.8.0: +babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.8.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" dependencies: @@ -791,14 +1283,14 @@ babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-cla babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.5.0, babel-plugin-transform-es2015-computed-properties@^6.8.0: +babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.8.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-destructuring@6.x, babel-plugin-transform-es2015-destructuring@^6.23.0, babel-plugin-transform-es2015-destructuring@^6.5.0, babel-plugin-transform-es2015-destructuring@^6.8.0: +babel-plugin-transform-es2015-destructuring@6.x, babel-plugin-transform-es2015-destructuring@^6.23.0, babel-plugin-transform-es2015-destructuring@^6.8.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" dependencies: @@ -811,13 +1303,13 @@ babel-plugin-transform-es2015-duplicate-keys@^6.22.0: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-for-of@^6.23.0, babel-plugin-transform-es2015-for-of@^6.5.0, babel-plugin-transform-es2015-for-of@^6.8.0: +babel-plugin-transform-es2015-for-of@^6.23.0, babel-plugin-transform-es2015-for-of@^6.8.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-function-name@6.x, babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.5.0, babel-plugin-transform-es2015-function-name@^6.8.0: +babel-plugin-transform-es2015-function-name@6.x, babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.8.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" dependencies: @@ -825,7 +1317,7 @@ babel-plugin-transform-es2015-function-name@6.x, babel-plugin-transform-es2015-f babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-literals@^6.22.0, babel-plugin-transform-es2015-literals@^6.5.0, babel-plugin-transform-es2015-literals@^6.8.0: +babel-plugin-transform-es2015-literals@^6.22.0, babel-plugin-transform-es2015-literals@^6.8.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" dependencies: @@ -839,16 +1331,7 @@ babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015 babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-commonjs@6.x, babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.5.0, babel-plugin-transform-es2015-modules-commonjs@^6.8.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" - dependencies: - babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-types "^6.26.0" - -babel-plugin-transform-es2015-modules-commonjs@^6.23.0: +babel-plugin-transform-es2015-modules-commonjs@6.x, babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.8.0: version "6.26.2" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" dependencies: @@ -880,7 +1363,7 @@ babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es201 babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" -babel-plugin-transform-es2015-parameters@6.x, babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.5.0, babel-plugin-transform-es2015-parameters@^6.8.0: +babel-plugin-transform-es2015-parameters@6.x, babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.8.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" dependencies: @@ -891,14 +1374,14 @@ babel-plugin-transform-es2015-parameters@6.x, babel-plugin-transform-es2015-para babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-shorthand-properties@6.x, babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.5.0, babel-plugin-transform-es2015-shorthand-properties@^6.8.0: +babel-plugin-transform-es2015-shorthand-properties@6.x, babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.8.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-spread@6.x, babel-plugin-transform-es2015-spread@^6.22.0, babel-plugin-transform-es2015-spread@^6.5.0, babel-plugin-transform-es2015-spread@^6.8.0: +babel-plugin-transform-es2015-spread@6.x, babel-plugin-transform-es2015-spread@^6.22.0, babel-plugin-transform-es2015-spread@^6.8.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" dependencies: @@ -912,7 +1395,7 @@ babel-plugin-transform-es2015-sticky-regex@6.x, babel-plugin-transform-es2015-st babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-template-literals@^6.22.0, babel-plugin-transform-es2015-template-literals@^6.5.0, babel-plugin-transform-es2015-template-literals@^6.8.0: +babel-plugin-transform-es2015-template-literals@^6.22.0, babel-plugin-transform-es2015-template-literals@^6.8.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" dependencies: @@ -944,7 +1427,7 @@ babel-plugin-transform-es3-property-literals@^6.8.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-exponentiation-operator@^6.5.0: +babel-plugin-transform-exponentiation-operator@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" dependencies: @@ -952,27 +1435,21 @@ babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-e babel-plugin-syntax-exponentiation-operator "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-flow-strip-types@^6.21.0, babel-plugin-transform-flow-strip-types@^6.22.0, babel-plugin-transform-flow-strip-types@^6.5.0, babel-plugin-transform-flow-strip-types@^6.8.0: +babel-plugin-transform-flow-strip-types@^6.21.0, babel-plugin-transform-flow-strip-types@^6.22.0, babel-plugin-transform-flow-strip-types@^6.8.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" dependencies: babel-plugin-syntax-flow "^6.18.0" babel-runtime "^6.22.0" -babel-plugin-transform-object-assign@^6.5.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-assign/-/babel-plugin-transform-object-assign-6.22.0.tgz#f99d2f66f1a0b0d498e346c5359684740caa20ba" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-object-rest-spread@^6.20.2, babel-plugin-transform-object-rest-spread@^6.26.0, babel-plugin-transform-object-rest-spread@^6.5.0, babel-plugin-transform-object-rest-spread@^6.8.0: +babel-plugin-transform-object-rest-spread@^6.26.0, babel-plugin-transform-object-rest-spread@^6.8.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" dependencies: babel-plugin-syntax-object-rest-spread "^6.8.0" babel-runtime "^6.26.0" -babel-plugin-transform-react-display-name@^6.23.0, babel-plugin-transform-react-display-name@^6.5.0, babel-plugin-transform-react-display-name@^6.8.0: +babel-plugin-transform-react-display-name@^6.23.0, babel-plugin-transform-react-display-name@^6.8.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1" dependencies: @@ -985,14 +1462,14 @@ babel-plugin-transform-react-jsx-self@^6.22.0: babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-react-jsx-source@^6.22.0, babel-plugin-transform-react-jsx-source@^6.5.0: +babel-plugin-transform-react-jsx-source@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" dependencies: babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-react-jsx@^6.24.1, babel-plugin-transform-react-jsx@^6.5.0, babel-plugin-transform-react-jsx@^6.8.0: +babel-plugin-transform-react-jsx@^6.24.1, babel-plugin-transform-react-jsx@^6.8.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" dependencies: @@ -1000,7 +1477,7 @@ babel-plugin-transform-react-jsx@^6.24.1, babel-plugin-transform-react-jsx@^6.5. babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.5.0: +babel-plugin-transform-regenerator@^6.22.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" dependencies: @@ -1071,8 +1548,8 @@ babel-preset-es2015-node@^6.1.1: semver "5.x" babel-preset-fbjs@^2.1.2, babel-preset-fbjs@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-2.1.4.tgz#22f358e6654073acf61e47a052a777d7bccf03af" + version "2.2.0" + resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-2.2.0.tgz#c25b879a914feefd964052b1bce4c90ee915023a" dependencies: babel-plugin-check-es2015-constants "^6.8.0" babel-plugin-syntax-class-properties "^6.8.0" @@ -1109,43 +1586,39 @@ babel-preset-flow@^6.23.0: dependencies: babel-plugin-transform-flow-strip-types "^6.22.0" -babel-preset-react-native@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-4.0.0.tgz#3df80dd33a453888cdd33bdb87224d17a5d73959" +babel-preset-react-native@^5, babel-preset-react-native@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-5.0.2.tgz#dfed62379712a9c017ff99ce4fbeac1e11d42285" dependencies: - babel-plugin-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/plugin-proposal-class-properties" "7.0.0-beta.47" + "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.47" + "@babel/plugin-proposal-optional-chaining" "7.0.0-beta.47" + "@babel/plugin-transform-arrow-functions" "7.0.0-beta.47" + "@babel/plugin-transform-block-scoping" "7.0.0-beta.47" + "@babel/plugin-transform-classes" "7.0.0-beta.47" + "@babel/plugin-transform-computed-properties" "7.0.0-beta.47" + "@babel/plugin-transform-destructuring" "7.0.0-beta.47" + "@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.47" + "@babel/plugin-transform-flow-strip-types" "7.0.0-beta.47" + "@babel/plugin-transform-for-of" "7.0.0-beta.47" + "@babel/plugin-transform-function-name" "7.0.0-beta.47" + "@babel/plugin-transform-literals" "7.0.0-beta.47" + "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.47" + "@babel/plugin-transform-object-assign" "7.0.0-beta.47" + "@babel/plugin-transform-parameters" "7.0.0-beta.47" + "@babel/plugin-transform-react-display-name" "7.0.0-beta.47" + "@babel/plugin-transform-react-jsx" "7.0.0-beta.47" + "@babel/plugin-transform-react-jsx-source" "7.0.0-beta.47" + "@babel/plugin-transform-regenerator" "7.0.0-beta.47" + "@babel/plugin-transform-shorthand-properties" "7.0.0-beta.47" + "@babel/plugin-transform-spread" "7.0.0-beta.47" + "@babel/plugin-transform-sticky-regex" "7.0.0-beta.47" + "@babel/plugin-transform-template-literals" "7.0.0-beta.47" + "@babel/plugin-transform-unicode-regex" "7.0.0-beta.47" + "@babel/template" "7.0.0-beta.47" + metro-babel7-plugin-react-transform "^0.39.1" -babel-preset-react@^6.22.0: +babel-preset-react@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380" dependencies: @@ -1168,7 +1641,7 @@ babel-register@^6.24.1, babel-register@^6.26.0: mkdirp "^0.5.1" source-map-support "^0.4.15" -babel-runtime@^6.0.0, babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: +babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" dependencies: @@ -1212,6 +1685,10 @@ babylon@7.0.0-beta.44: version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d" +babylon@7.0.0-beta.47: + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.47.tgz#6d1fa44f0abec41ab7c780481e62fd9aafbdea80" + babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -1228,10 +1705,6 @@ base64-arraybuffer@0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" -base64-js@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" - base64-js@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.1.2.tgz#d6400cac1c4c660976d90d07a04351d89395f5e8" @@ -1240,44 +1713,42 @@ base64-js@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" -base64-js@^1.1.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" - -base64-js@^1.2.3: +base64-js@^1.1.2, base64-js@^1.2.3: version "1.3.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" -base64-url@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/base64-url/-/base64-url-1.2.1.tgz#199fd661702a0e7b7dcae6e0698bb089c52f6d78" - base64id@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" -basic-auth-connect@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz#fdb0b43962ca7b40456a7c2bb48fe173da2d2122" +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" -basic-auth@~1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.0.4.tgz#030935b01de7c9b94a824b29f3fccb750d3a5290" +basic-auth@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.0.tgz#015db3f353e02e56377755f962742e8981e7bbba" + dependencies: + safe-buffer "5.1.1" -batch@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464" +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" dependencies: tweetnacl "^0.14.3" -beeper@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" - before-after-hook@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-1.1.0.tgz#83165e15a59460d13702cb8febd6a1807896db5a" @@ -1288,13 +1759,9 @@ better-assert@~1.0.0: dependencies: callsite "1.0.0" -big-integer@^1.6.17: - version "1.6.31" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.31.tgz#6d7852486e67c642502dcc03f7225a245c9fc7fa" - -big-integer@^1.6.7: - version "1.6.26" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.26.tgz#3af1672fa62daf2d5ecafacf6e5aa0d25e02c1c8" +big-integer@^1.6.17, big-integer@^1.6.7: + version "1.6.32" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.32.tgz#5867458b25ecd5bcb36b627c30bb501a13c07e89" binary-extensions@^1.0.0: version "1.11.0" @@ -1307,26 +1774,10 @@ binary@~0.3.0: buffers "~0.1.1" chainsaw "~0.1.0" -binaryextensions@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-1.0.1.tgz#1e637488b35b58bda5f4774bf96a5212a8c90755" - -bl@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e" - dependencies: - readable-stream "^2.0.5" - blob@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - bluebird-lst@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.5.tgz#bebc83026b7e92a72871a3dc599e219cbfb002a9" @@ -1341,43 +1792,10 @@ bluebird@~3.4.1: version "3.4.7" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" -body-parser@~1.13.3: - version "1.13.3" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.13.3.tgz#c08cf330c3358e151016a05746f13f029c97fa97" - dependencies: - bytes "2.1.0" - content-type "~1.0.1" - debug "~2.2.0" - depd "~1.0.1" - http-errors "~1.3.1" - iconv-lite "0.4.11" - on-finished "~2.3.0" - qs "4.0.0" - raw-body "~2.1.2" - type-is "~1.6.6" - boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - -boom@4.x.x: - version "4.3.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" - dependencies: - hoek "4.x.x" - -boom@5.x.x: - version "5.2.0" - resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" - dependencies: - hoek "4.x.x" - boxen@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" @@ -1417,6 +1835,25 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" +braces@^2.3.0, braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +browser-process-hrtime@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" + browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" @@ -1433,35 +1870,35 @@ browser-sync-ui@v1.0.1: stream-throttle "^0.1.3" browser-sync@^2.23.6: - version "2.23.6" - resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.23.6.tgz#ed0721c92e5b98c71b7bf839b39092ac9f220650" + version "2.24.6" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.24.6.tgz#dacb9b2d8f985cfc4e55b9ca881f5a5970617ee8" dependencies: browser-sync-ui v1.0.1 bs-recipes "1.3.4" chokidar "1.7.0" - connect "3.5.0" + connect "3.6.6" connect-history-api-fallback "^1.5.0" dev-ip "^1.0.1" easy-extender "2.3.2" eazy-logger "3.0.2" - emitter-steward "^1.0.0" etag "^1.8.1" fresh "^0.5.2" fs-extra "3.0.1" http-proxy "1.15.2" immutable "3.8.2" - localtunnel "1.8.3" + localtunnel "1.9.0" micromatch "2.3.11" opn "4.0.2" portscanner "2.1.1" - qs "6.2.1" + qs "6.2.3" + raw-body "^2.3.2" resp-modifier "6.0.2" rx "4.1.0" - serve-index "1.8.0" - serve-static "1.12.2" + serve-index "1.9.1" + serve-static "1.13.2" server-destroy "1.0.1" - socket.io "2.0.4" - ua-parser-js "0.7.12" + socket.io "2.1.1" + ua-parser-js "0.7.17" yargs "6.4.0" browserslist@^3.2.6: @@ -1485,9 +1922,20 @@ btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" buffer-from@^1.0.0: version "1.1.0" @@ -1501,36 +1949,27 @@ buffer-shims@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" -buffer-to-vinyl@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz#00f15faee3ab7a1dda2cde6d9121bffdd07b2262" - dependencies: - file-type "^3.1.0" - readable-stream "^2.0.2" - uuid "^2.0.1" - vinyl "^1.0.0" - buffers@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" -builder-util-runtime@4.4.0, builder-util-runtime@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-4.4.0.tgz#1f486819df12a04abfa128fe082e7c54edda0ef7" +builder-util-runtime@4.4.1, builder-util-runtime@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-4.4.1.tgz#2770d03241e51fde46acacc7ed3ed8a9f45f02cb" dependencies: bluebird-lst "^1.0.5" debug "^3.1.0" fs-extra-p "^4.6.1" sax "^1.2.4" -builder-util@5.16.0, builder-util@^5.14.0, builder-util@~5.16.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-5.16.0.tgz#8b9aabe15a1a5c4ffa8ebc511049248918f717df" +builder-util@6.0.0, builder-util@~6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-6.0.0.tgz#5f4941c096778758d8c186ef95eaa0e8b536cab8" dependencies: "7zip-bin" "~4.0.2" - app-builder-bin "1.11.1" + app-builder-bin "2.1.1" bluebird-lst "^1.0.5" - builder-util-runtime "^4.4.0" + builder-util-runtime "^4.4.1" chalk "^2.4.1" debug "^3.1.0" fs-extra-p "^4.6.1" @@ -1546,13 +1985,23 @@ builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" -bytes@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.1.0.tgz#ac93c410e2ffc9cc7cf4b464b38289067f5e47b4" +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" -bytes@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" caller-path@^0.1.0: version "0.1.0" @@ -1575,10 +2024,6 @@ camelcase-keys@^2.0.0: camelcase "^2.0.0" map-obj "^1.0.0" -camelcase@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -1592,8 +2037,14 @@ camelcase@^4.0.0, camelcase@^4.1.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" caniuse-lite@^1.0.30000844: - version "1.0.30000852" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000852.tgz#8b7510cec030cac7842e52beca2bf292af65f935" + version "1.0.30000865" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000865.tgz#70026616e8afe6e1442f8bb4e1092987d81a2f25" + +capture-exit@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" + dependencies: + rsvp "^3.3.3" capture-stack-trace@^1.0.0: version "1.0.0" @@ -1603,15 +2054,6 @@ caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" -caw@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/caw/-/caw-1.2.0.tgz#ffb226fe7efc547288dc62ee3e97073c212d1034" - dependencies: - get-proxy "^1.0.1" - is-obj "^1.0.0" - object-assign "^3.0.0" - tunnel-agent "^0.4.0" - chai-as-promised@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0" @@ -1622,7 +2064,7 @@ chai-spies@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/chai-spies/-/chai-spies-1.0.0.tgz#d16b39336fb316d03abf8c375feb23c0c8bb163d" -chai@^4.1.0: +chai@^4.1.0, chai@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c" dependencies: @@ -1639,7 +2081,7 @@ chainsaw@~0.1.0: dependencies: traverse ">=0.3.0 <0.4" -chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1649,23 +2091,7 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^2.0.1, chalk@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - -chalk@^2.4.1: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" dependencies: @@ -1685,16 +2111,6 @@ check-error@^1.0.1, check-error@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" -cheerio@^0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.19.0.tgz#772e7015f2ee29965096d71ea4175b75ab354925" - dependencies: - css-select "~1.0.0" - dom-serializer "~0.1.0" - entities "~1.1.1" - htmlparser2 "~3.8.1" - lodash "^3.2.0" - cheerio@^1.0.0-rc.2: version "1.0.0-rc.2" resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.2.tgz#4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db" @@ -1721,6 +2137,25 @@ chokidar@1.7.0, chokidar@^1.6.1: optionalDependencies: fsevents "^1.0.0" +chokidar@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" + dependencies: + anymatch "^2.0.0" + async-each "^1.0.0" + braces "^2.3.0" + glob-parent "^3.1.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + lodash.debounce "^4.0.8" + normalize-path "^2.1.1" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + upath "^1.0.5" + optionalDependencies: + fsevents "^1.2.2" + chownr@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" @@ -1730,50 +2165,37 @@ chromium-pickle-js@^0.2.0: resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" ci-info@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4" + version "1.1.3" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.3.tgz#710193264bb05c77b8c90d02f5aaf22216a667b2" circular-json@^0.3.1: version "0.3.3" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" -class-extend@^0.1.0, class-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/class-extend/-/class-extend-0.1.2.tgz#8057a82b00f53f82a5d62c50ef8cffdec6fabc34" +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" dependencies: - object-assign "^2.0.0" + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" cli-boxes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" -cli-cursor@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" dependencies: restore-cursor "^2.0.0" -cli-table@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" - dependencies: - colors "1.0.3" - -cli-width@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-1.1.1.tgz#a4d293ef67ebb7b88d4a4d42c0ccf00c4d1e366d" - cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" -cliui@^3.0.3, cliui@^3.2.0: +cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" dependencies: @@ -1782,29 +2204,13 @@ cliui@^3.0.3, cliui@^3.2.0: wrap-ansi "^2.0.0" cliui@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc" + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" wrap-ansi "^2.0.0" -clone-stats@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" - -clone@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" - -clone@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f" - -co@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78" - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -1813,19 +2219,26 @@ code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + color-convert@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" + version "1.9.2" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147" dependencies: - color-name "^1.1.1" + color-name "1.1.1" color-convert@~0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" -color-name@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" +color-name@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" color-support@^1.1.3: version "1.1.3" @@ -1835,48 +2248,32 @@ colors@0.5.x: version "0.5.1" resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774" -colors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - colors@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + version "1.3.1" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.1.tgz#4accdb89cf2cabc7f982771925e9468784f32f3d" -combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: +combined-stream@1.0.6, combined-stream@~1.0.5, combined-stream@~1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" dependencies: delayed-stream "~1.0.0" -commander@2: - version "2.14.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" +commander@2, commander@^2.11.0, commander@^2.15.1, commander@^2.2.0, commander@^2.9.0: + version "2.16.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50" -commander@2.15.1, commander@^2.15.1, commander@^2.9.0: +commander@2.15.1: version "2.15.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" -commander@^2.11.0: - version "2.12.2" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" - -commander@^2.2.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - dependencies: - graceful-readlink ">= 1.0.0" +commander@^2.8.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" -commander@~2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" - dependencies: - graceful-readlink ">= 1.0.0" - commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -1889,7 +2286,7 @@ component-bind@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" -component-emitter@1.2.1: +component-emitter@1.2.1, component-emitter@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" @@ -1897,46 +2294,40 @@ component-inherit@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" -compressible@~2.0.5: - version "2.0.12" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.12.tgz#c59a5c99db76767e9876500e271ef63b3493bd66" +compressible@~2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.14.tgz#326c5f507fbb055f54116782b969a81b67a29da7" dependencies: - mime-db ">= 1.30.0 < 2" + mime-db ">= 1.34.0 < 2" -compression@~1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.5.2.tgz#b03b8d86e6f8ad29683cba8df91ddc6ffc77b395" +compression@^1.7.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz#27e0e176aaf260f7f2c2813c3e440adb9f1993db" dependencies: - accepts "~1.2.12" - bytes "2.1.0" - compressible "~2.0.5" - debug "~2.2.0" - on-headers "~1.0.0" - vary "~1.0.1" + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.14" + debug "2.6.9" + on-headers "~1.0.1" + safe-buffer "5.1.2" + vary "~1.1.2" concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@1.6.0, concat-stream@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -concat-stream@^1.4.6, concat-stream@^1.4.7: - version "1.6.1" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.1.tgz#261b8f518301f1d834e36342b9fea095d2620a26" +concat-stream@1.6.2, concat-stream@^1.6.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" dependencies: + buffer-from "^1.0.0" inherits "^2.0.3" readable-stream "^2.2.2" typedarray "^0.0.6" configstore@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90" + version "3.1.2" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" dependencies: dot-prop "^4.1.0" graceful-fs "^4.1.2" @@ -1949,66 +2340,12 @@ connect-history-api-fallback@^1.1.0, connect-history-api-fallback@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" -connect-timeout@~1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/connect-timeout/-/connect-timeout-1.6.2.tgz#de9a5ec61e33a12b6edaab7b5f062e98c599b88e" - dependencies: - debug "~2.2.0" - http-errors "~1.3.1" - ms "0.7.1" - on-headers "~1.0.0" - -connect@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.5.0.tgz#b357525a0b4c1f50599cd983e1d9efeea9677198" - dependencies: - debug "~2.2.0" - finalhandler "0.5.0" - parseurl "~1.3.1" - utils-merge "1.0.0" - -connect@^2.8.3: - version "2.30.2" - resolved "https://registry.yarnpkg.com/connect/-/connect-2.30.2.tgz#8da9bcbe8a054d3d318d74dfec903b5c39a1b609" - dependencies: - basic-auth-connect "1.0.0" - body-parser "~1.13.3" - bytes "2.1.0" - compression "~1.5.2" - connect-timeout "~1.6.2" - content-type "~1.0.1" - cookie "0.1.3" - cookie-parser "~1.3.5" - cookie-signature "1.0.6" - csurf "~1.8.3" - debug "~2.2.0" - depd "~1.0.1" - errorhandler "~1.4.2" - express-session "~1.11.3" - finalhandler "0.4.0" - fresh "0.3.0" - http-errors "~1.3.1" - method-override "~2.3.5" - morgan "~1.6.1" - multiparty "3.3.2" - on-headers "~1.0.0" - parseurl "~1.3.0" - pause "0.1.0" - qs "4.0.0" - response-time "~2.3.1" - serve-favicon "~2.3.0" - serve-index "~1.7.2" - serve-static "~1.10.0" - type-is "~1.6.6" - utils-merge "1.0.0" - vhost "~3.0.1" - -connect@^3.6.5: - version "3.6.5" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.5.tgz#fb8dde7ba0763877d0ec9df9dac0b4b40e72c7da" +connect@3.6.6, connect@^3.6.5: + version "3.6.6" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz#09eff6c55af7236e137135a72574858b6786f524" dependencies: debug "2.6.9" - finalhandler "1.0.6" + finalhandler "1.1.0" parseurl "~1.3.2" utils-merge "1.0.1" @@ -2023,50 +2360,23 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" -content-type@~1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - -convert-source-map@^1.1.1, convert-source-map@^1.5.0, convert-source-map@^1.5.1: +convert-source-map@^1.1.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" -cookie-parser@~1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.3.5.tgz#9d755570fb5d17890771227a02314d9be7cf8356" - dependencies: - cookie "0.1.3" - cookie-signature "1.0.6" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - -cookie@0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.1.3.tgz#e734a5c1417fce472d5aef82c381cabb64d1a435" - cookie@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" -copy-paste@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/copy-paste/-/copy-paste-1.3.0.tgz#a7e6c4a1c28fdedf2b081e72b97df2ef95f471ed" - dependencies: - iconv-lite "^0.4.8" - optionalDependencies: - sync-exec "~0.6.x" +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" -core-js@^2.2.2, core-js@^2.4.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" - -core-js@^2.4.0, core-js@^2.5.0: +core-js@^2.2.2, core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.5.3: version "2.5.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" @@ -2074,45 +2384,27 @@ core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" -crc@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.3.0.tgz#fa622e1bc388bf257309082d6b65200ce67090ba" - -create-error-class@^3.0.0, create-error-class@^3.0.1: +create-error-class@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" dependencies: capture-stack-trace "^1.0.0" -create-react-class@^15.5.2: - version "15.6.2" - resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.2.tgz#cf1ed15f12aad7f14ef5f2dfe05e6c42f91ef02a" +create-react-class@^15.6.3: + version "15.6.3" + resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" dependencies: fbjs "^0.8.9" loose-envify "^1.3.1" object-assign "^4.1.1" cross-env@^5.1.3: - version "5.1.6" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.6.tgz#0dc05caf945b24e4b9e3b12871fe0e858d08b38d" + version "5.2.0" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz#6ecd4c015d5773e614039ee529076669b9d126f2" dependencies: - cross-spawn "^5.1.0" + cross-spawn "^6.0.5" is-windows "^1.0.0" -cross-spawn-async@^2.2.2: - version "2.2.5" - resolved "https://registry.yarnpkg.com/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc" - dependencies: - lru-cache "^4.0.0" - which "^1.2.8" - -cross-spawn@^2.0.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-2.2.3.tgz#fac56202dfd3d0dd861778f2da203bf434bb821c" - dependencies: - cross-spawn-async "^2.2.2" - spawn-sync "^1.0.15" - cross-spawn@^5.0.1, cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" @@ -2121,6 +2413,16 @@ cross-spawn@^5.0.1, cross-spawn@^5.1.0: shebang-command "^1.2.0" which "^1.2.9" +cross-spawn@^6.0.4, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + cross-unzip@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/cross-unzip/-/cross-unzip-0.0.2.tgz#5183bc47a09559befcf98cc4657964999359372f" @@ -2129,39 +2431,10 @@ crypt@~0.0.1: version "0.0.2" resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - -cryptiles@3.x.x: - version "3.1.2" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" - dependencies: - boom "5.x.x" - crypto-random-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" -csrf@~3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/csrf/-/csrf-3.0.6.tgz#b61120ddceeafc91e76ed5313bb5c0b2667b710a" - dependencies: - rndm "1.2.0" - tsscmp "1.0.5" - uid-safe "2.1.4" - -css-select@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.0.0.tgz#b1121ca51848dd264e2244d058cee254deeb44b0" - dependencies: - boolbase "~1.0.0" - css-what "1.0" - domutils "1.4" - nth-check "~1.0.0" - css-select@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -2171,22 +2444,23 @@ css-select@~1.2.0: domutils "1.5.1" nth-check "~1.0.1" -css-what@1.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-1.0.0.tgz#d7cc2df45180666f99d2b14462639469e00f736c" - css-what@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" -csurf@~1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/csurf/-/csurf-1.8.3.tgz#23f2a13bf1d8fce1d0c996588394442cba86a56a" +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": + version "0.3.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797" + +cssstyle@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.0.0.tgz#79b16d51ec5591faec60e688891f15d2a5705129" dependencies: - cookie "0.1.3" - cookie-signature "1.0.6" - csrf "~3.0.0" - http-errors "~1.3.1" + cssom "0.3.x" + +csstype@^2.2.0: + version "2.5.6" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.5.6.tgz#2ae1db2319642d8b80a668d2d025c6196071e788" currently-unhandled@^0.4.1: version "0.4.1" @@ -2211,12 +2485,12 @@ d3-geo-projection@1.2.2: d3-geo "^1.1.0" d3-geo-projection@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/d3-geo-projection/-/d3-geo-projection-2.3.2.tgz#72e559dc05d97fa9f218ccc9c537d329f4cfc474" + version "2.4.0" + resolved "https://registry.yarnpkg.com/d3-geo-projection/-/d3-geo-projection-2.4.0.tgz#52a114561a589f211cd212d5b19d9c330cce15d7" dependencies: commander "2" d3-array "1" - d3-geo "^1.7.1" + d3-geo "^1.10.0" d3-geo@1.6.3: version "1.6.3" @@ -2224,40 +2498,25 @@ d3-geo@1.6.3: dependencies: d3-array "1" -d3-geo@^1.1.0, d3-geo@^1.7.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.9.1.tgz#157e3b0f917379d0f73bebfff3be537f49fa7356" +d3-geo@^1.1.0, d3-geo@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.10.0.tgz#2972d18014f1e38fc1f8bb6d545377bdfb00c9ab" dependencies: d3-array "1" -dargs@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" - dependencies: - number-is-nan "^1.0.0" - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" dependencies: assert-plus "^1.0.0" -dateformat@^1.0.11: - version "1.0.12" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" - dependencies: - get-stdin "^4.0.1" - meow "^3.3.0" - -dateformat@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" - -debug@2.6.4: - version "2.6.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.4.tgz#7586a9b3c39741c0282ae33445c4e8ac74734fe0" +data-urls@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.0.0.tgz#24802de4e81c298ea8a9388bb0d8e461c774684f" dependencies: - ms "0.7.3" + abab "^1.0.4" + whatwg-mimetype "^2.0.0" + whatwg-url "^6.4.0" debug@2.6.8: version "2.6.8" @@ -2265,25 +2524,19 @@ debug@2.6.8: dependencies: ms "2.0.0" -debug@2.6.9, debug@^2.0.0, debug@^2.1.0, debug@^2.1.2, debug@^2.1.3, debug@^2.2.0, debug@^2.6.8, debug@^2.6.9, debug@~2.6.4, debug@~2.6.6, debug@~2.6.9: +debug@2.6.9, debug@^2.1.2, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9, debug@~2.6.4: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: ms "2.0.0" -debug@3.1.0, debug@^3.1.0: +debug@3.1.0, debug@^3.1.0, debug@~3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" dependencies: ms "2.0.0" -debug@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" - dependencies: - ms "0.7.1" - -decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: +decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -2293,82 +2546,22 @@ decamelize@^2.0.0: dependencies: xregexp "4.0.0" +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + decompress-response@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" dependencies: mimic-response "^1.0.0" -decompress-tar@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-3.1.0.tgz#217c789f9b94450efaadc5c5e537978fc333c466" - dependencies: - is-tar "^1.0.0" - object-assign "^2.0.0" - strip-dirs "^1.0.0" - tar-stream "^1.1.1" - through2 "^0.6.1" - vinyl "^0.4.3" - -decompress-tarbz2@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz#8b23935681355f9f189d87256a0f8bdd96d9666d" - dependencies: - is-bzip2 "^1.0.0" - object-assign "^2.0.0" - seek-bzip "^1.0.3" - strip-dirs "^1.0.0" - tar-stream "^1.1.1" - through2 "^0.6.1" - vinyl "^0.4.3" - -decompress-targz@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-3.1.0.tgz#b2c13df98166268991b715d6447f642e9696f5a0" - dependencies: - is-gzip "^1.0.0" - object-assign "^2.0.0" - strip-dirs "^1.0.0" - tar-stream "^1.1.1" - through2 "^0.6.1" - vinyl "^0.4.3" - -decompress-unzip@^3.0.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-3.4.0.tgz#61475b4152066bbe3fee12f9d629d15fe6478eeb" - dependencies: - is-zip "^1.0.0" - read-all-stream "^3.0.0" - stat-mode "^0.2.0" - strip-dirs "^1.0.0" - through2 "^2.0.0" - vinyl "^1.0.0" - yauzl "^2.2.1" - -decompress@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/decompress/-/decompress-3.0.0.tgz#af1dd50d06e3bfc432461d37de11b38c0d991bed" - dependencies: - buffer-to-vinyl "^1.0.0" - concat-stream "^1.4.6" - decompress-tar "^3.0.0" - decompress-tarbz2 "^3.0.0" - decompress-targz "^3.0.0" - decompress-unzip "^3.0.0" - stream-combiner2 "^1.1.1" - vinyl-assign "^1.0.1" - vinyl-fs "^2.2.0" - deep-eql@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" dependencies: type-detect "^4.0.0" -deep-extend@^0.4.0, deep-extend@~0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" - deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -2384,6 +2577,25 @@ define-properties@^1.1.2: foreach "^2.0.5" object-keys "^1.0.8" +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + del@^2.0.2: version "2.2.2" resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" @@ -2408,22 +2620,14 @@ denodeify@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" -depd@1.1.1, depd@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" - -depd@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.0.1.tgz#80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa" +depd@~1.1.1, depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" -detect-conflict@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/detect-conflict/-/detect-conflict-1.0.1.tgz#088657a66a961c05019db7c4230883b1c6b4176e" - detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" @@ -2434,13 +2638,6 @@ detect-libc@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" -detect-newline@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-1.0.3.tgz#e97b1003877d70c09af1af35bfadff168de4920d" - dependencies: - get-stdin "^4.0.1" - minimist "^1.1.0" - detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" @@ -2453,21 +2650,17 @@ diff@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" -diff@^2.1.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99" - discontinuous-range@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" -dmg-builder@4.14.0: - version "4.14.0" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-4.14.0.tgz#6d19922a82cee78cc13557ab0cbc16047864002a" +dmg-builder@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-5.2.0.tgz#93d0c327fdd536794d8b7cf4fb16d1748ed8d9cf" dependencies: + app-builder-lib "~20.27.0" bluebird-lst "^1.0.5" - builder-util "~5.16.0" - electron-builder-lib "~20.20.4" + builder-util "~6.0.0" fs-extra-p "^4.6.1" iconv-lite "^0.4.23" js-yaml "^3.12.0" @@ -2499,25 +2692,19 @@ domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" -domhandler@2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" dependencies: - domelementtype "1" + webidl-conversions "^4.0.2" domhandler@^2.3.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" dependencies: domelementtype "1" -domutils@1.4: - version "1.4.3" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.4.3.tgz#0865513796c6b306031850e175516baf80b72a6f" - dependencies: - domelementtype "1" - -domutils@1.5, domutils@1.5.1: +domutils@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" dependencies: @@ -2525,8 +2712,8 @@ domutils@1.5, domutils@1.5.1: domelementtype "1" domutils@^1.5.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" dependencies: dom-serializer "0" domelementtype "1" @@ -2545,33 +2732,7 @@ dotenv@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.0.0.tgz#24e37c041741c5f4b25324958ebbc34bca965935" -download@^4.1.2: - version "4.4.3" - resolved "https://registry.yarnpkg.com/download/-/download-4.4.3.tgz#aa55fdad392d95d4b68e8c2be03e0c2aa21ba9ac" - dependencies: - caw "^1.0.1" - concat-stream "^1.4.7" - each-async "^1.0.0" - filenamify "^1.0.1" - got "^5.0.0" - gulp-decompress "^1.2.0" - gulp-rename "^1.2.0" - is-url "^1.2.0" - object-assign "^4.0.1" - read-all-stream "^3.0.0" - readable-stream "^2.0.2" - stream-combiner2 "^1.1.1" - vinyl "^1.0.0" - vinyl-fs "^2.2.0" - ware "^1.2.0" - -duplexer2@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" - dependencies: - readable-stream "~1.1.9" - -duplexer2@^0.1.4, duplexer2@~0.1.0, duplexer2@~0.1.4: +duplexer2@~0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" dependencies: @@ -2585,22 +2746,6 @@ duplexer@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" -duplexify@^3.2.0: - version "3.5.4" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.4.tgz#4bb46c1796eabebeec4ca9a2e66b808cb7a3d8b4" - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -each-async@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473" - dependencies: - onetime "^1.0.0" - set-immediate-shim "^1.0.0" - easy-extender@2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.2.tgz#3d3248febe2b159607316d8f9cf491c16648221d" @@ -2614,64 +2759,30 @@ eazy-logger@3.0.2: tfunk "^3.0.1" ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" dependencies: jsbn "~0.1.0" + safer-buffer "^2.1.0" ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" -ejs@^2.3.1: - version "2.5.7" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" - ejs@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" -electron-builder-lib@20.20.4, electron-builder-lib@~20.20.4: - version "20.20.4" - resolved "https://registry.yarnpkg.com/electron-builder-lib/-/electron-builder-lib-20.20.4.tgz#fd129ae85c5514f16f4f392218141ebe3dc8411d" +electron-builder@^20.27.1: + version "20.27.1" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-20.27.1.tgz#f3405280b5c5c5b2c7c0e8c6ac4c0d6b63375573" dependencies: - "7zip-bin" "~4.0.2" - app-builder-bin "1.11.1" - async-exit-hook "^2.0.1" + app-builder-lib "20.27.1" bluebird-lst "^1.0.5" - builder-util "5.16.0" - builder-util-runtime "4.4.0" - chromium-pickle-js "^0.2.0" - debug "^3.1.0" - ejs "^2.6.1" - electron-osx-sign "0.4.10" - electron-publish "20.22.0" - env-paths "^1.0.0" - fs-extra-p "^4.6.1" - hosted-git-info "^2.7.1" - is-ci "^1.1.0" - isbinaryfile "^3.0.2" - js-yaml "^3.12.0" - lazy-val "^1.0.3" - minimatch "^3.0.4" - normalize-package-data "^2.4.0" - plist "^3.0.1" - read-config-file "3.1.0" - sanitize-filename "^1.6.1" - semver "^5.5.0" - sumchecker "^2.0.2" - temp-file "^3.1.3" - -electron-builder@^20.20.4: - version "20.20.4" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-20.20.4.tgz#09d879c6551df801444a153dc7b159a304e1d55d" - dependencies: - bluebird-lst "^1.0.5" - builder-util "5.16.0" - builder-util-runtime "4.4.0" + builder-util "6.0.0" + builder-util-runtime "4.4.1" chalk "^2.4.1" - dmg-builder "4.14.0" - electron-builder-lib "20.20.4" + dmg-builder "5.2.0" fs-extra-p "^4.6.1" is-ci "^1.1.0" lazy-val "^1.0.3" @@ -2704,8 +2815,8 @@ electron-download@^3.0.1: sumchecker "^1.2.0" electron-log@^2.2.8: - version "2.2.14" - resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-2.2.14.tgz#2123319ccb8d70b0db07f0eda57d5823cb42b4b0" + version "2.2.16" + resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-2.2.16.tgz#c44ffdea51ae90cbe851d25e7cd1bab56fdb328f" electron-mocha@^6.0.4: version "6.0.4" @@ -2728,21 +2839,21 @@ electron-osx-sign@0.4.10: minimist "^1.2.0" plist "^2.1.0" -electron-publish@20.22.0: - version "20.22.0" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.22.0.tgz#352f04fc4821176e0c40a16d64b1c94026e2441f" +electron-publish@20.27.0: + version "20.27.0" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.27.0.tgz#0f44befa800b94458c78a8f63a4bc9109c5b5b10" dependencies: bluebird-lst "^1.0.5" - builder-util "^5.14.0" - builder-util-runtime "^4.4.0" + builder-util "~6.0.0" + builder-util-runtime "^4.4.1" chalk "^2.4.1" fs-extra-p "^4.6.1" lazy-val "^1.0.3" mime "^2.3.1" electron-to-chromium@^1.3.47: - version "1.3.48" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz#d3b0d8593814044e092ece2108fc3ac9aea4b900" + version "1.3.52" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.52.tgz#d2d9f1270ba4a3b967b831c40ef71fb4d9ab5ce0" electron-window@^0.8.0: version "0.8.1" @@ -2751,20 +2862,16 @@ electron-window@^0.8.0: is-electron-renderer "^2.0.0" electron@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/electron/-/electron-2.0.2.tgz#b77e05f83419cc5ec921a2d21f35b55e4bfc3d68" + version "2.0.5" + resolved "https://registry.yarnpkg.com/electron/-/electron-2.0.5.tgz#6045db011e2547062a36e8c5da84d4982f434fc0" dependencies: "@types/node" "^8.0.24" electron-download "^3.0.1" extract-zip "^1.0.3" -emitter-steward@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/emitter-steward/-/emitter-steward-1.0.0.tgz#f3411ade9758a7565df848b2da0cbbd1b46cbd64" - -encodeurl@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" +encodeurl@~1.0.1, encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" encoding@^0.1.11: version "0.1.12" @@ -2772,19 +2879,29 @@ encoding@^0.1.11: dependencies: iconv-lite "~0.4.13" -end-of-stream@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" +engine.io-client@~3.1.0: + version "3.1.6" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.1.6.tgz#5bdeb130f8b94a50ac5cbeb72583e7a4a063ddfd" dependencies: - once "^1.4.0" + component-emitter "1.2.1" + component-inherit "0.0.3" + debug "~3.1.0" + engine.io-parser "~2.1.1" + has-cors "1.1.0" + indexof "0.0.1" + parseqs "0.0.5" + parseuri "0.0.5" + ws "~3.3.1" + xmlhttprequest-ssl "~1.5.4" + yeast "0.1.2" -engine.io-client@~3.1.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.1.4.tgz#4fcf1370b47163bd2ce9be2733972430350d4ea1" +engine.io-client@~3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.2.1.tgz#6f54c0475de487158a1a7c77d10178708b6add36" dependencies: component-emitter "1.2.1" component-inherit "0.0.3" - debug "~2.6.9" + debug "~3.1.0" engine.io-parser "~2.1.1" has-cors "1.1.0" indexof "0.0.1" @@ -2804,42 +2921,26 @@ engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: blob "0.0.4" has-binary2 "~1.0.2" -engine.io@~3.1.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.1.4.tgz#3d0211b70a552ce841ffc7da8627b301a9a4162e" +engine.io@~3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.2.0.tgz#54332506f42f2edc71690d2f2a42349359f3bf7d" dependencies: - accepts "1.3.3" + accepts "~1.3.4" base64id "1.0.0" cookie "0.3.1" - debug "~2.6.9" + debug "~3.1.0" engine.io-parser "~2.1.0" ws "~3.3.1" - optionalDependencies: - uws "~0.14.4" - -entities@1.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26" entities@^1.1.1, entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" -env-paths@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0" - -envinfo@^3.0.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-3.10.0.tgz#24b52a5c19af379dc32465d1909e37344dc41c20" - dependencies: - copy-paste "^1.3.0" - glob "^7.1.2" - minimist "^1.2.0" - os-name "^2.0.1" - which "^1.2.14" +envinfo@^5.7.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-5.10.0.tgz#503a9774ae15b93ea68bdfae2ccd6306624ea6df" -enzyme-adapter-react-16@^1.1.0: +enzyme-adapter-react-16@^1.1.0, enzyme-adapter-react-16@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.1.1.tgz#a8f4278b47e082fbca14f5bfb1ee50ee650717b4" dependencies: @@ -2852,14 +2953,13 @@ enzyme-adapter-react-16@^1.1.0: react-test-renderer "^16.0.0-0" enzyme-adapter-utils@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.3.0.tgz#d6c85756826c257a8544d362cc7a67e97ea698c7" + version "1.4.0" + resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.4.0.tgz#c403b81e8eb9953658569e539780964bdc98de62" dependencies: - lodash "^4.17.4" - object.assign "^4.0.4" + object.assign "^4.1.0" prop-types "^15.6.0" -enzyme@^3.2.0: +enzyme@^3.2.0, enzyme@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.3.0.tgz#0971abd167f2d4bf3f5bd508229e1c4b6dc50479" dependencies: @@ -2881,21 +2981,21 @@ enzyme@^3.2.0: rst-selector-parser "^2.2.3" error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" dependencies: is-arrayish "^0.2.1" -errorhandler@~1.4.2: - version "1.4.3" - resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.4.3.tgz#b7b70ed8f359e9db88092f2d20c0f831420ad83f" +errorhandler@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.5.0.tgz#eaba64ca5d542a311ac945f582defc336165d9f4" dependencies: - accepts "~1.3.0" + accepts "~1.3.3" escape-html "~1.0.3" -es-abstract@^1.4.3, es-abstract@^1.6.1, es-abstract@^1.7.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864" +es-abstract@^1.10.0, es-abstract@^1.4.3, es-abstract@^1.6.1, es-abstract@^1.7.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" dependencies: es-to-primitive "^1.1.1" function-bind "^1.1.1" @@ -2921,10 +3021,6 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -escape-html@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.2.tgz#d77d32fa98e38c2f41ae85e9278e0e0e6ba1022c" - escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -2933,16 +3029,16 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -escodegen-wallaby@^1.6.7: - version "1.6.18" - resolved "https://registry.yarnpkg.com/escodegen-wallaby/-/escodegen-wallaby-1.6.18.tgz#95a41e2fdc88687466e43550c7bf136386fd4363" +escodegen@^1.9.1: + version "1.11.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589" dependencies: - esprima "^2.7.1" - estraverse "^1.9.1" + esprima "^3.1.3" + estraverse "^4.2.0" esutils "^2.0.2" optionator "^0.8.1" optionalDependencies: - source-map "~0.2.0" + source-map "~0.6.1" eslint-config-prettier@^2.9.0: version "2.9.0" @@ -2969,78 +3065,90 @@ eslint-plugin-react@^7.10.0: jsx-ast-utils "^2.0.1" prop-types "^15.6.2" -eslint-scope@^3.7.1, eslint-scope@~3.7.1: +eslint-scope@3.7.1: version "3.7.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-scope@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-utils@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" + eslint-visitor-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" -eslint@^4.19.1: - version "4.19.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300" +eslint@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.2.0.tgz#3901ae249195d473e633c4acbc370068b1c964dc" dependencies: - ajv "^5.3.0" - babel-code-frame "^6.22.0" + ajv "^6.5.0" + babel-code-frame "^6.26.0" chalk "^2.1.0" - concat-stream "^1.6.0" - cross-spawn "^5.1.0" + cross-spawn "^6.0.5" debug "^3.1.0" doctrine "^2.1.0" - eslint-scope "^3.7.1" + eslint-scope "^4.0.0" + eslint-utils "^1.3.1" eslint-visitor-keys "^1.0.0" - espree "^3.5.4" - esquery "^1.0.0" + espree "^4.0.0" + esquery "^1.0.1" esutils "^2.0.2" file-entry-cache "^2.0.0" functional-red-black-tree "^1.0.1" glob "^7.1.2" - globals "^11.0.1" - ignore "^3.3.3" + globals "^11.7.0" + ignore "^4.0.2" imurmurhash "^0.1.4" - inquirer "^3.0.6" - is-resolvable "^1.0.0" - js-yaml "^3.9.1" + inquirer "^5.2.0" + is-resolvable "^1.1.0" + js-yaml "^3.11.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" + lodash "^4.17.5" + minimatch "^3.0.4" mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" path-is-inside "^1.0.2" pluralize "^7.0.0" progress "^2.0.0" - regexpp "^1.0.1" + regexpp "^1.1.0" require-uncached "^1.0.3" - semver "^5.3.0" + semver "^5.5.0" + string.prototype.matchall "^2.0.0" strip-ansi "^4.0.0" - strip-json-comments "~2.0.1" - table "4.0.2" - text-table "~0.2.0" + strip-json-comments "^2.0.1" + table "^4.0.3" + text-table "^0.2.0" -espree@^3.5.4: - version "3.5.4" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" +espree@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-4.0.0.tgz#253998f20a0f82db5d866385799d912a83a36634" dependencies: - acorn "^5.5.0" - acorn-jsx "^3.0.0" + acorn "^5.6.0" + acorn-jsx "^4.1.1" -esprima@^2.7.1: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" +esprima@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" esprima@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" -esquery@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" +esquery@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" dependencies: estraverse "^4.0.0" @@ -3050,29 +3158,21 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" -estraverse@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" - -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" -esutils@^2.0.2: +esutils@^2.0.0, esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -etag@^1.8.1, etag@~1.8.0: +etag@^1.8.1, etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" -etag@~1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" - event-stream@~3.3.0: version "3.3.4" - resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" + resolved "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" dependencies: duplexer "~0.1.1" from "~0" @@ -3091,14 +3191,14 @@ eventemitter3@1.x.x: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" eventemitter3@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.0.0.tgz#fc29ecf233bd19fbd527bb4089bbf665dc90c1e3" + version "3.1.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" exec-sh@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38" + version "0.2.2" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" dependencies: - merge "^1.1.3" + merge "^1.2.0" execa@^0.7.0: version "0.7.0" @@ -3112,35 +3212,35 @@ execa@^0.7.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" dependencies: is-posix-bracket "^0.1.0" +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + expand-range@^1.8.1: version "1.8.2" resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" dependencies: fill-range "^2.1.0" -express-session@~1.11.3: - version "1.11.3" - resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.11.3.tgz#5cc98f3f5ff84ed835f91cbf0aabd0c7107400af" +extend-shallow@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071" dependencies: - cookie "0.1.3" - cookie-signature "1.0.6" - crc "3.3.0" - debug "~2.2.0" - depd "~1.0.1" - on-headers "~1.0.0" - parseurl "~1.3.0" - uid-safe "~2.0.0" - utils-merge "1.0.0" + kind-of "^1.1.0" extend-shallow@^2.0.1: version "2.0.1" @@ -3148,21 +3248,20 @@ extend-shallow@^2.0.1: dependencies: is-extendable "^0.1.0" -extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -external-editor@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b" +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" dependencies: - extend "^3.0.0" - spawn-sync "^1.0.15" - tmp "^0.0.29" + assign-symbols "^1.0.0" + is-extendable "^1.0.1" -external-editor@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48" +extend@~3.0.1, extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + +external-editor@^2.0.4, external-editor@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" dependencies: chardet "^0.4.0" iconv-lite "^0.4.17" @@ -3174,13 +3273,26 @@ extglob@^0.3.1: dependencies: is-extglob "^1.0.0" +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + extract-zip@^1.0.3: - version "1.6.6" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.6.tgz#1290ede8d20d0872b429fd3f351ca128ec5ef85c" + version "1.6.7" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9" dependencies: - concat-stream "1.6.0" + concat-stream "1.6.2" debug "2.6.9" - mkdirp "0.5.0" + mkdirp "0.5.1" yauzl "2.4.1" extsprintf@1.3.0: @@ -3191,7 +3303,7 @@ extsprintf@^1.2.0: version "1.4.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" -fancy-log@^1.1.0: +fancy-log@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.2.tgz#f41125e3d84f2e7d89a43d06d958c8f78be16be1" dependencies: @@ -3222,19 +3334,21 @@ fb-watchman@^2.0.0: bser "^2.0.0" fbjs-scripts@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/fbjs-scripts/-/fbjs-scripts-0.8.1.tgz#c1c6efbecb7f008478468976b783880c2f669765" + version "0.8.3" + resolved "https://registry.yarnpkg.com/fbjs-scripts/-/fbjs-scripts-0.8.3.tgz#b854de7a11e62a37f72dab9aaf4d9b53c4a03174" dependencies: + ansi-colors "^1.0.1" babel-core "^6.7.2" babel-preset-fbjs "^2.1.2" core-js "^2.4.1" cross-spawn "^5.1.0" - gulp-util "^3.0.4" + fancy-log "^1.3.2" object-assign "^4.0.1" + plugin-error "^0.1.2" semver "^5.1.0" through2 "^2.0.0" -fbjs@^0.8.14, fbjs@^0.8.16: +fbjs@0.8.16: version "0.8.16" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" dependencies: @@ -3246,9 +3360,9 @@ fbjs@^0.8.14, fbjs@^0.8.16: setimmediate "^1.0.5" ua-parser-js "^0.7.9" -fbjs@^0.8.9: - version "0.8.12" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" +fbjs@^0.8.14, fbjs@^0.8.16, fbjs@^0.8.9: + version "0.8.17" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" dependencies: core-js "^1.0.0" isomorphic-fetch "^2.1.1" @@ -3256,7 +3370,7 @@ fbjs@^0.8.9: object-assign "^4.1.0" promise "^7.1.1" setimmediate "^1.0.5" - ua-parser-js "^0.7.9" + ua-parser-js "^0.7.18" fd-slicer@~1.0.1: version "1.0.1" @@ -3264,13 +3378,6 @@ fd-slicer@~1.0.1: dependencies: pend "~1.2.0" -figures@^1.3.5: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -3284,58 +3391,32 @@ file-entry-cache@^2.0.0: flat-cache "^1.2.1" object-assign "^4.0.1" -file-type@^3.1.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" - filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" -filename-reserved-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz#e61cf805f0de1c984567d0386dc5df50ee5af7e4" - -filenamify@^1.0.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5" - dependencies: - filename-reserved-regex "^1.0.0" - strip-outer "^1.0.0" - trim-repeated "^1.0.0" - fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" dependencies: is-number "^2.1.0" isobject "^2.0.0" - randomatic "^1.1.3" + randomatic "^3.0.0" repeat-element "^1.1.2" repeat-string "^1.5.2" -finalhandler@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.4.0.tgz#965a52d9e8d05d2b857548541fb89b53a2497d9b" - dependencies: - debug "~2.2.0" - escape-html "1.0.2" - on-finished "~2.3.0" - unpipe "~1.0.0" - -finalhandler@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" dependencies: - debug "~2.2.0" - escape-html "~1.0.3" - on-finished "~2.3.0" - statuses "~1.3.0" - unpipe "~1.0.0" + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" -finalhandler@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.6.tgz#007aea33d1a4d3e42017f624848ad58d212f814f" +finalhandler@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" dependencies: debug "2.6.9" encodeurl "~1.0.1" @@ -3345,6 +3426,14 @@ finalhandler@1.0.6: statuses "~1.3.1" unpipe "~1.0.0" +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" + dependencies: + commondir "^1.0.1" + make-dir "^1.0.0" + pkg-dir "^2.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -3352,7 +3441,7 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -find-up@^2.0.0: +find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" dependencies: @@ -3364,16 +3453,6 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -first-chunk-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" - -first-chunk-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" - dependencies: - readable-stream "^2.0.2" - flat-cache@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" @@ -3383,7 +3462,7 @@ flat-cache@^1.2.1: graceful-fs "^4.1.2" write "^0.2.1" -flow-bin@^0.78.0: +flow-bin@0.78: version "0.78.0" resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.78.0.tgz#df9fe7f9c9a2dfaff39083949fe2d831b41627b7" @@ -3407,7 +3486,13 @@ flow-typed@^2.5.1: which "^1.3.0" yargs "^4.2.0" -for-in@^1.0.1: +follow-redirects@^1.2.5: + version "1.5.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.1.tgz#67a8f14f5a1f67f962c2c46469c79eaec0a90291" + dependencies: + debug "^3.1.0" + +for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -3425,15 +3510,7 @@ forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -form-data@~2.3.1: +form-data@~2.3.1, form-data@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" dependencies: @@ -3441,21 +3518,13 @@ form-data@~2.3.1: combined-stream "1.0.6" mime-types "^2.1.12" -formatio@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/formatio/-/formatio-1.1.1.tgz#5ed3ccd636551097383465d996199100e86161e9" +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" dependencies: - samsam "~1.1" - -fresh@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" - -fresh@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" + map-cache "^0.2.2" -fresh@^0.5.2: +fresh@0.5.2, fresh@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" @@ -3526,22 +3595,14 @@ fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" -fsevents@^1.0.0, fsevents@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.39" - -fstream-ignore@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" +fsevents@^1.0.0, fsevents@^1.2.2, fsevents@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" + nan "^2.9.2" + node-pre-gyp "^0.10.0" -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2, fstream@~1.0.10: +fstream@~1.0.10: version "1.0.11" resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" dependencies: @@ -3590,19 +3651,13 @@ gauge@~2.7.3: wide-align "^1.1.0" get-caller-file@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" get-func-name@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" -get-proxy@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-1.1.0.tgz#894854491bc591b0f147d7ae570f5c678b7256eb" - dependencies: - rc "^1.1.2" - get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -3615,27 +3670,16 @@ get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" dependencies: assert-plus "^1.0.0" -gh-got@^2.2.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-2.4.0.tgz#aa51418911ca5e4f92437114cd1209383a4aa019" - dependencies: - got "^5.2.0" - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - -github-username@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/github-username/-/github-username-2.1.0.tgz#200e5a104af42ba08a54096c708d4b6ec2fa256b" - dependencies: - gh-got "^2.2.0" - meow "^3.5.0" - glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -3649,26 +3693,13 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob-parent@^3.0.0: +glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" dependencies: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-stream@^5.3.2: - version "5.3.5" - resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" - dependencies: - extend "^3.0.0" - glob "^5.0.3" - glob-parent "^3.0.0" - micromatch "^2.3.7" - ordered-read-streams "^0.3.0" - through2 "^0.6.0" - to-absolute-glob "^0.1.1" - unique-stream "^2.0.2" - glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" @@ -3680,26 +3711,6 @@ glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^5.0.3: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^6.0.1: - version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - global-dirs@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" @@ -3713,29 +3724,14 @@ global@^4.3.0: min-document "^2.19.0" process "~0.5.1" -globals@^11.0.1: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.1.0.tgz#632644457f5f0e3ae711807183700ebf2e4633e4" - -globals@^11.1.0: - version "11.3.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.3.0.tgz#e04fdb7b9796d8adac9c8f64c14837b2313378b0" +globals@^11.1.0, globals@^11.7.0: + version "11.7.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673" globals@^9.18.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" -globby@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8" - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^6.0.1" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - globby@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" @@ -3747,32 +3743,6 @@ globby@^5.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -glogg@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" - dependencies: - sparkles "^1.0.0" - -got@^5.0.0, got@^5.2.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" - dependencies: - create-error-class "^3.0.1" - duplexer2 "^0.1.4" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - node-status-codes "^1.0.0" - object-assign "^4.0.1" - parse-json "^2.1.0" - pinkie-promise "^2.0.0" - read-all-stream "^3.0.0" - readable-stream "^2.0.5" - timed-out "^3.0.0" - unzip-response "^1.0.2" - url-parse-lax "^1.0.0" - got@^6.7.1: version "6.7.1" resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" @@ -3808,20 +3778,10 @@ got@^7.1.0: url-parse-lax "^1.0.0" url-to-options "^1.0.1" -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - -grouped-queue@^0.3.0: - version "0.3.3" - resolved "https://registry.yarnpkg.com/grouped-queue/-/grouped-queue-0.3.3.tgz#c167d2a5319c5a0e0964ef6a25b7c2df8996c85c" - dependencies: - lodash "^4.17.2" - growl@1.10.5: version "1.10.5" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" @@ -3830,80 +3790,10 @@ growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" -gruntfile-editor@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/gruntfile-editor/-/gruntfile-editor-1.2.1.tgz#366fc1f93cbf045813e1448aef1da9f18289d5eb" - dependencies: - ast-query "^2.0.0" - lodash "^4.6.1" - -gulp-decompress@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/gulp-decompress/-/gulp-decompress-1.2.0.tgz#8eeb65a5e015f8ed8532cafe28454960626f0dc7" - dependencies: - archive-type "^3.0.0" - decompress "^3.0.0" - gulp-util "^3.0.1" - readable-stream "^2.0.2" - -gulp-rename@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817" - -gulp-sourcemaps@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c" - dependencies: - convert-source-map "^1.1.1" - graceful-fs "^4.1.2" - strip-bom "^2.0.0" - through2 "^2.0.0" - vinyl "^1.0.0" - -gulp-util@^3.0.1, gulp-util@^3.0.4: - version "3.0.8" - resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" - dependencies: - array-differ "^1.0.0" - array-uniq "^1.0.2" - beeper "^1.0.0" - chalk "^1.0.0" - dateformat "^2.0.0" - fancy-log "^1.1.0" - gulplog "^1.0.0" - has-gulplog "^0.1.0" - lodash._reescape "^3.0.0" - lodash._reevaluate "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.template "^3.0.0" - minimist "^1.1.0" - multipipe "^0.1.2" - object-assign "^3.0.0" - replace-ext "0.0.1" - through2 "^2.0.0" - vinyl "^0.5.0" - -gulplog@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" - dependencies: - glogg "^1.0.0" - -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" - dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" - har-validator@~5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" @@ -3911,6 +3801,13 @@ har-validator@~5.0.3: ajv "^5.1.0" har-schema "^2.0.0" +har-validator@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.0.tgz#44657f5688a22cfd4b72486e81b3a3fb11742c29" + dependencies: + ajv "^5.3.0" + har-schema "^2.0.0" + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -3918,8 +3815,8 @@ has-ansi@^2.0.0: ansi-regex "^2.0.0" has-binary2@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.2.tgz#e83dba49f0b9be4d026d27365350d9f03f54be98" + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" dependencies: isarray "2.0.1" @@ -3927,23 +3824,13 @@ has-cors@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" -has-gulplog@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" - dependencies: - sparkles "^1.0.0" - has-symbol-support-x@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz#66ec2e377e0c7d7ccedb07a3a84d77510ff1bc4c" + version "1.4.2" + resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" has-symbols@^1.0.0: version "1.0.0" @@ -3959,35 +3846,38 @@ has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" -has@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" dependencies: - function-bind "^1.0.2" + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" dependencies: - function-bind "^1.1.1" + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" -hawk@3.1.3, hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" + is-number "^3.0.0" + kind-of "^4.0.0" -hawk@~6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" +has@^1.0.1, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - sntp "2.x.x" + function-bind "^1.1.1" he@1.1.1: version "1.1.1" @@ -4003,18 +3893,6 @@ history@^4.6.1, history@^4.7.2: value-equal "^0.4.0" warning "^3.0.0" -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -hoek@4.x.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" - -hoist-non-react-statics@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz#343db84c6018c650778898240135a1420ee22ce0" - hoist-non-react-statics@^2.5.0: version "2.5.5" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" @@ -4026,24 +3904,23 @@ home-or-tmp@^2.0.0: os-homedir "^1.0.0" os-tmpdir "^1.0.1" -home-path@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.5.tgz#788b29815b12d53bacf575648476e6f9041d133f" +home-or-tmp@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-3.0.0.tgz#57a8fe24cf33cdd524860a15821ddc25c86671fb" -hosted-git-info@^2.1.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" +home-path@^1.0.1: + version "1.0.6" + resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.6.tgz#d549dc2465388a7f8667242c5b31588d29af29fc" -hosted-git-info@^2.7.1: +hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" -html-wiring@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/html-wiring/-/html-wiring-1.2.0.tgz#c5f90a776e0a27241dc6df9022c37186d0270f9e" +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" dependencies: - cheerio "^0.19.0" - detect-newline "^1.0.3" + whatwg-encoding "^1.0.1" htmlparser2@^3.9.1: version "3.9.2" @@ -4056,39 +3933,14 @@ htmlparser2@^3.9.1: inherits "^2.0.1" readable-stream "^2.0.2" -htmlparser2@~3.8.1: - version "3.8.3" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068" - dependencies: - domelementtype "1" - domhandler "2.3" - domutils "1.5" - entities "1.0" - readable-stream "1.1" - -http-errors@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" - dependencies: - inherits "~2.0.1" - statuses "1" - -http-errors@~1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" - dependencies: - inherits "2.0.3" - setprototypeof "1.0.2" - statuses ">= 1.3.1 < 2" - -http-errors@~1.6.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" +http-errors@1.6.3, http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" dependencies: - depd "1.1.1" + depd "~1.1.2" inherits "2.0.3" - setprototypeof "1.0.3" - statuses ">= 1.3.1 < 2" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" http-proxy-agent@^2.1.0: version "2.1.0" @@ -4104,14 +3956,6 @@ http-proxy@1.15.2: eventemitter3 "1.x.x" requires-port "1.x.x" -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -4127,19 +3971,11 @@ https-proxy-agent@^2.2.0: agent-base "^4.1.0" debug "^3.1.0" -iconv-lite@0.4.11: - version "0.4.11" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.11.tgz#2ecb42fd294744922209a2e7c404dac8793d8ade" - -iconv-lite@0.4.13: - version "0.4.13" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" - -iconv-lite@^0.4.17, iconv-lite@^0.4.8, iconv-lite@~0.4.13: +iconv-lite@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" -iconv-lite@^0.4.23, iconv-lite@^0.4.4: +iconv-lite@0.4.23, iconv-lite@^0.4.17, iconv-lite@^0.4.23, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.23" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" dependencies: @@ -4151,13 +3987,13 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -ignore@^3.3.3: - version "3.3.7" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" +ignore@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.3.tgz#e2d58c9654d75b542529fa28d80ac95b29e4f467" image-size@^0.6.0: - version "0.6.2" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.6.2.tgz#8ee316d4298b028b965091b673d5f1537adee5b4" + version "0.6.3" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.6.3.tgz#e7e5c65bb534bd7cdcedd6cb5166272a85f75fb2" immutable@3.8.2, immutable@^3.7.6, immutable@^3.8.1: version "3.8.2" @@ -4200,43 +4036,6 @@ ini@^1.3.4, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" -inquirer@^0.11.0: - version "0.11.4" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.11.4.tgz#81e3374e8361beaff2d97016206d359d0b32fa4d" - dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^1.0.1" - figures "^1.3.5" - lodash "^3.3.1" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - -inquirer@^1.0.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918" - dependencies: - ansi-escapes "^1.1.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - external-editor "^1.1.0" - figures "^1.3.5" - lodash "^4.3.0" - mute-stream "0.0.6" - pinkie-promise "^2.0.0" - run-async "^2.2.0" - rx "^4.1.0" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - inquirer@^3.0.6: version "3.3.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" @@ -4256,23 +4055,25 @@ inquirer@^3.0.6: strip-ansi "^4.0.0" through "^2.3.6" -interpret@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" - -invariant@^2.0.0, invariant@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" - dependencies: - loose-envify "^1.0.0" - -invariant@^2.2.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.3.tgz#1a827dfde7dcbd7c323f0ca826be8fa7c5e9d688" +inquirer@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-5.2.0.tgz#db350c2b73daca77ff1243962e9f22f099685726" dependencies: - loose-envify "^1.0.0" + 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" -invariant@^2.2.2, invariant@^2.2.4: +invariant@^2.0.0, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" dependencies: @@ -4282,11 +4083,17 @@ invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" -is-absolute@^0.1.5: - version "0.1.7" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.1.7.tgz#847491119fccb5fb436217cc737f7faad50f603f" +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" dependencies: - is-relative "^0.1.0" + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + dependencies: + kind-of "^6.0.0" is-arrayish@^0.2.1: version "0.2.1" @@ -4312,13 +4119,9 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" -is-bzip2@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-bzip2/-/is-bzip2-1.0.0.tgz#5ee58eaa5a2e9c80e21407bedf23ae5ac091b3fc" - is-callable@^1.1.1, is-callable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" is-ci@^1.0.10, is-ci@^1.1.0: version "1.1.0" @@ -4326,10 +4129,38 @@ is-ci@^1.0.10, is-ci@^1.1.0: dependencies: ci-info "^1.0.0" +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + dependencies: + kind-of "^6.0.0" + is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + is-dotfile@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" @@ -4348,11 +4179,17 @@ is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + dependencies: + is-plain-object "^2.0.4" + is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" -is-extglob@^2.1.0: +is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -4384,9 +4221,11 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-gzip@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" +is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + dependencies: + is-extglob "^2.1.1" is-installed-globally@^0.1.0: version "0.1.0" @@ -4395,10 +4234,6 @@ is-installed-globally@^0.1.0: global-dirs "^0.1.0" is-path-inside "^1.0.0" -is-natural-number@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-2.1.1.tgz#7d4c5728377ef386c3e194a9911bf57c6dc335e7" - is-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" @@ -4425,6 +4260,10 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" @@ -4438,8 +4277,8 @@ is-path-cwd@^1.0.0: resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" is-path-in-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" dependencies: is-path-inside "^1.0.0" @@ -4453,6 +4292,12 @@ is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + dependencies: + isobject "^3.0.1" + is-posix-bracket@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" @@ -4475,11 +4320,7 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" -is-relative@^0.1.0: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.1.3.tgz#905fee8ae86f45b3ec614bc3c15c869df0876e82" - -is-resolvable@^1.0.0: +is-resolvable@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" @@ -4503,34 +4344,18 @@ is-symbol@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" -is-tar@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-tar/-/is-tar-1.0.0.tgz#2f6b2e1792c1f5bb36519acaa9d65c0d26fe853d" - is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" -is-url@^1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.3.tgz#42f6487f61795154b098246954412048f7ab120b" - is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" -is-valid-glob@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe" - -is-windows@^1.0.0: +is-windows@^1.0.0, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" -is-zip@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-zip/-/is-zip-1.0.0.tgz#47b0a8ff4d38a76431ccfd99a8e15a4c86ba2325" - isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -4547,6 +4372,12 @@ isbinaryfile@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621" +isbinaryfile@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" + dependencies: + buffer-alloc "^1.2.0" + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -4557,6 +4388,10 @@ isobject@^2.0.0: dependencies: isarray "1.0.0" +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + isomorphic-fetch@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" @@ -4568,13 +4403,6 @@ isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -istextorbinary@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-1.0.2.tgz#ace19354d1a9a0173efeb1084ce0f87b0ad7decf" - dependencies: - binaryextensions "~1.0.0" - textextensions "~1.0.0" - isurl@^1.0.0-alpha5: version "1.0.0" resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" @@ -4582,26 +4410,43 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" -jest-docblock@22.1.0, jest-docblock@^22.1.0: - version "22.1.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.1.0.tgz#3fe5986d5444cbcb149746eb4b07c57c5a464dfd" +jest-docblock@23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.0.1.tgz#deddd18333be5dc2415260a04ef3fce9276b5725" + dependencies: + detect-newline "^2.1.0" + +jest-docblock@^23.0.1: + version "23.2.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7" dependencies: detect-newline "^2.1.0" -jest-haste-map@22.1.0: - version "22.1.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.1.0.tgz#1174c6ff393f9818ebf1163710d8868b5370da2a" +jest-haste-map@23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.1.0.tgz#18e6c7d5a8d27136f91b7d9852f85de0c7074c49" dependencies: fb-watchman "^2.0.0" graceful-fs "^4.1.11" - jest-docblock "^22.1.0" - jest-worker "^22.1.0" + jest-docblock "^23.0.1" + jest-serializer "^23.0.1" + jest-worker "^23.0.1" micromatch "^2.3.11" sane "^2.0.0" -jest-worker@22.1.0, jest-worker@^22.1.0: - version "22.1.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-22.1.0.tgz#0987832fe58fbdc205357f4c19b992446368cafb" +jest-serializer@23.0.1, jest-serializer@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" + +jest-worker@23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.0.1.tgz#9e649dd963ff4046026f91c4017f039a6aa4a7bc" + dependencies: + merge-stream "^1.0.1" + +jest-worker@^23.0.1: + version "23.2.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9" dependencies: merge-stream "^1.0.1" @@ -4609,24 +4454,52 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -js-yaml@^3.12.0: +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + +js-yaml@^3.11.0, js-yaml@^3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" dependencies: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.9.1: - version "3.10.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" +jsdom@^11.12.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" @@ -4640,8 +4513,8 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" json-parse-better-errors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz#50183cd1b2d25275de069e9e71b467ac9eab973a" + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" json-schema-traverse@^0.3.0: version "0.3.1" @@ -4659,7 +4532,7 @@ json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: +json-stable-stringify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: @@ -4673,7 +4546,7 @@ json5@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d" -json5@^0.5.1: +json5@^0.5.0, json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" @@ -4706,8 +4579,8 @@ jsonify@~0.0.0: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" jsonrpc-lite@^1.2.3: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsonrpc-lite/-/jsonrpc-lite-1.3.0.tgz#df177e81efa7f52d3f4170d833208fe39264afcb" + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonrpc-lite/-/jsonrpc-lite-1.3.1.tgz#5c33086071793a0806e6c96e7c1ae92f4460ac50" jsprim@^1.2.2: version "1.4.1" @@ -4724,7 +4597,11 @@ jsx-ast-utils@^2.0.1: dependencies: array-includes "^3.0.3" -kind-of@^3.0.2: +kind-of@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" dependencies: @@ -4736,6 +4613,14 @@ kind-of@^4.0.0: dependencies: is-buffer "^1.1.5" +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + klaw@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" @@ -4752,21 +4637,15 @@ lazy-val@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.3.tgz#bb97b200ef00801d94c317e29dc6ed39e31c5edc" -lazystream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" - dependencies: - readable-stream "^2.0.5" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" dependencies: invert-kv "^1.0.0" -left-pad@^1.1.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.2.0.tgz#d30a73c6b8201d8f7d8e7956ba9616087a68e0ee" +left-pad@^1.1.3, left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" levenshtein-edit-distance@^1.0.0: version "1.0.0" @@ -4780,8 +4659,8 @@ levn@^0.3.0, levn@~0.3.0: type-check "~0.3.2" limiter@^1.0.5: - version "1.1.2" - resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.2.tgz#229d8055891c8b11af9e0ee5200e8e09bb3dcbeb" + version "1.1.3" + resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.3.tgz#32e2eb55b2324076943e5d04c1185ffb387968ef" listenercount@~1.0.1: version "1.0.1" @@ -4815,14 +4694,14 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" -localtunnel@1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.8.3.tgz#dcc5922fd85651037d4bde24fd93248d0b24eb05" +localtunnel@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.9.0.tgz#8ffecdcf8c8a14f62df1056cf9d54acbb0bb9a8f" dependencies: + axios "0.17.1" debug "2.6.8" openurl "1.1.1" - request "2.81.0" - yargs "3.29.0" + yargs "6.6.0" locate-path@^2.0.0: version "2.0.0" @@ -4842,80 +4721,22 @@ lodash-es@^4.17.5: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz#62cd7104cdf5dd87f235a837f0ede0e8e5117e05" -lodash._basecopy@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" - -lodash._basetostring@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" - -lodash._basevalues@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" - -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - -lodash._isiterateecall@^3.0.0: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" - -lodash._reescape@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" - -lodash._reevaluate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - -lodash._root@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" - lodash.assign@^4.0.3, lodash.assign@^4.0.6: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" -lodash.escape@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" - dependencies: - lodash._root "^3.0.0" +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" lodash.flattendeep@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - -lodash.isequal@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - lodash.isfinite@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" -lodash.keys@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - lodash.pad@^4.1.0: version "4.5.1" resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" @@ -4928,62 +4749,27 @@ lodash.padstart@^4.1.0: version "4.6.1" resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" -lodash.restparam@^3.0.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" - -lodash.template@^3.0.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" - dependencies: - lodash._basecopy "^3.0.0" - lodash._basetostring "^3.0.0" - lodash._basevalues "^3.0.0" - lodash._isiterateecall "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" - lodash.keys "^3.0.0" - lodash.restparam "^3.0.0" - lodash.templatesettings "^3.0.0" +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" -lodash.templatesettings@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" -lodash@^3.1.0, lodash@^3.10.1, lodash@^3.2.0, lodash@^3.3.1, lodash@^3.5.0: +lodash@^3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" -lodash@^4.11.1, lodash@^4.17.2, lodash@^4.2.0: - version "4.17.5" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" - -lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.6, lodash@^4.3.0, lodash@^4.6.1: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5: +lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.6.1: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" -log-symbols@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" - dependencies: - chalk "^1.0.0" - -lolex@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-1.3.2.tgz#7c3da62ffcb30f0f5a80a2566ca24e45d8a01f31" - loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" dependencies: - js-tokens "^3.0.0" + js-tokens "^3.0.0 || ^4.0.0" loud-rejection@^1.0.0: version "1.6.0" @@ -4993,15 +4779,8 @@ loud-rejection@^1.0.0: signal-exit "^3.0.0" lowercase-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - -lru-cache@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.2.tgz#45234b2e6e2f2b33da125624c4664929a0224c3f" - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" lru-cache@^4.0.1: version "4.1.3" @@ -5010,13 +4789,9 @@ lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" -macos-release@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-1.1.0.tgz#831945e29365b470aa8724b0ab36c8f8959d10fb" - make-dir@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51" + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" dependencies: pify "^3.0.0" @@ -5026,6 +4801,10 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" @@ -5034,6 +4813,16 @@ map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + dependencies: + object-visit "^1.0.0" + +math-random@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" + md5@^2.1.0: version "2.2.1" resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" @@ -5042,33 +4831,6 @@ md5@^2.1.0: crypt "~0.0.1" is-buffer "~1.1.1" -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - -mem-fs-editor@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-2.3.0.tgz#42a0ae1f55e76fd03f09e7c7b15b6307bdf5cb13" - dependencies: - commondir "^1.0.1" - deep-extend "^0.4.0" - ejs "^2.3.1" - glob "^7.0.3" - globby "^4.0.0" - mkdirp "^0.5.0" - multimatch "^2.0.0" - rimraf "^2.2.8" - through2 "^2.0.0" - vinyl "^1.1.0" - -mem-fs@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/mem-fs/-/mem-fs-1.1.3.tgz#b8ae8d2e3fcb6f5d3f9165c12d4551a065d989cc" - dependencies: - through2 "^2.0.0" - vinyl "^1.1.0" - vinyl-file "^2.0.0" - mem@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" @@ -5079,7 +4841,7 @@ memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" -meow@^3.1.0, meow@^3.3.0, meow@^3.5.0: +meow@^3.1.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" dependencies: @@ -5094,59 +4856,135 @@ meow@^3.1.0, meow@^3.3.0, meow@^3.5.0: redent "^1.0.0" trim-newlines "^1.0.0" -merge-stream@^1.0.0, merge-stream@^1.0.1: +merge-stream@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" dependencies: readable-stream "^2.0.1" -merge@^1.1.3: +merge@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" -method-override@~2.3.5: - version "2.3.10" - resolved "https://registry.yarnpkg.com/method-override/-/method-override-2.3.10.tgz#e3daf8d5dee10dd2dce7d4ae88d62bbee77476b4" +metro-babel-register@0.38.3, metro-babel-register@^0.38.1: + version "0.38.3" + resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.38.3.tgz#9db0b312ea6480079af5a981d9a24fc578de25d6" dependencies: - debug "2.6.9" - methods "~1.1.2" - parseurl "~1.3.2" - vary "~1.1.2" + "@babel/plugin-proposal-class-properties" "7.0.0-beta.47" + "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.47" + "@babel/plugin-proposal-optional-chaining" "7.0.0-beta.47" + "@babel/plugin-transform-async-to-generator" "7.0.0-beta.47" + "@babel/plugin-transform-flow-strip-types" "7.0.0-beta.47" + "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.47" + "@babel/register" "7.0.0-beta.47" + core-js "^2.2.2" + escape-string-regexp "^1.0.5" -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" +metro-babel7-plugin-react-transform@0.38.3: + version "0.38.3" + resolved "https://registry.yarnpkg.com/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.38.3.tgz#c07742f31139415683a9ee95332f20967641b12f" + dependencies: + "@babel/helper-module-imports" "7.0.0-beta.47" + lodash "^4.17.5" + +metro-babel7-plugin-react-transform@^0.39.1: + version "0.39.1" + resolved "https://registry.yarnpkg.com/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.39.1.tgz#deb851fa6904ed5b9f4e38f69e3f318a0fb670e6" + dependencies: + "@babel/helper-module-imports" "7.0.0-beta.47" + lodash "^4.17.5" + +metro-cache@0.38.3: + version "0.38.3" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.38.3.tgz#8eec909d5959fedf592147c6c0067fc2a82f51ef" + dependencies: + jest-serializer "23.0.1" + metro-core "0.38.3" + mkdirp "^0.5.1" + rimraf "^2.5.4" -metro-core@0.24.6, metro-core@^0.24.3: - version "0.24.6" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.24.6.tgz#fe75f06bbb21d594f8eed75880fb5cc9e0ccddf7" +metro-core@0.38.3, metro-core@^0.38.1: + version "0.38.3" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.38.3.tgz#9690835b21cb9c4c623c72bd0a4634babb912d22" dependencies: - lodash "^4.16.6" + jest-haste-map "23.1.0" + lodash.throttle "^4.1.1" + metro-resolver "0.38.3" + wordwrap "^1.0.0" + +metro-memory-fs@^0.38.1: + version "0.38.3" + resolved "https://registry.yarnpkg.com/metro-memory-fs/-/metro-memory-fs-0.38.3.tgz#e7f80654e16e8ead63378ade1eecd27d3000dc1b" -metro-source-map@0.24.6: - version "0.24.6" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.24.6.tgz#6c64b958b47696e365aacf508e726ae5820959a4" +metro-minify-uglify@0.38.3: + version "0.38.3" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.38.3.tgz#0bedf37a2fdb98b7e56c3242e169481f3016afff" + dependencies: + uglify-es "^3.1.9" + +metro-resolver@0.38.3: + version "0.38.3" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.38.3.tgz#8f82dcbd6862759b352f14c976e23e768cc6ccfc" + dependencies: + absolute-path "^0.0.0" + +metro-source-map@0.38.3: + version "0.38.3" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.38.3.tgz#0d3d178a848a373d54ae90fe06eebe0e378eb1ef" dependencies: source-map "^0.5.6" -metro@^0.24.3: - version "0.24.6" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.24.6.tgz#a7b01c3c7d1d1868f232d2d92a8bc4ecc251e909" +metro@^0.38.1: + version "0.38.3" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.38.3.tgz#a03ac6c720c8e3c7441a32cd43fbf5aca8cfad25" dependencies: + "@babel/core" "7.0.0-beta.47" + "@babel/generator" "7.0.0-beta.47" + "@babel/helper-remap-async-to-generator" "7.0.0-beta.47" + "@babel/plugin-external-helpers" "7.0.0-beta.47" + "@babel/plugin-proposal-class-properties" "7.0.0-beta.47" + "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.47" + "@babel/plugin-syntax-dynamic-import" "7.0.0-beta.47" + "@babel/plugin-syntax-nullish-coalescing-operator" "7.0.0-beta.47" + "@babel/plugin-transform-arrow-functions" "7.0.0-beta.47" + "@babel/plugin-transform-async-to-generator" "7.0.0-beta.47" + "@babel/plugin-transform-block-scoping" "7.0.0-beta.47" + "@babel/plugin-transform-classes" "7.0.0-beta.47" + "@babel/plugin-transform-computed-properties" "7.0.0-beta.47" + "@babel/plugin-transform-destructuring" "7.0.0-beta.47" + "@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.47" + "@babel/plugin-transform-flow-strip-types" "7.0.0-beta.47" + "@babel/plugin-transform-for-of" "7.0.0-beta.47" + "@babel/plugin-transform-function-name" "7.0.0-beta.47" + "@babel/plugin-transform-literals" "7.0.0-beta.47" + "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.47" + "@babel/plugin-transform-object-assign" "7.0.0-beta.47" + "@babel/plugin-transform-parameters" "7.0.0-beta.47" + "@babel/plugin-transform-react-display-name" "7.0.0-beta.47" + "@babel/plugin-transform-react-jsx" "7.0.0-beta.47" + "@babel/plugin-transform-react-jsx-source" "7.0.0-beta.47" + "@babel/plugin-transform-regenerator" "7.0.0-beta.47" + "@babel/plugin-transform-shorthand-properties" "7.0.0-beta.47" + "@babel/plugin-transform-spread" "7.0.0-beta.47" + "@babel/plugin-transform-template-literals" "7.0.0-beta.47" + "@babel/plugin-transform-unicode-regex" "7.0.0-beta.47" + "@babel/register" "7.0.0-beta.47" + "@babel/template" "7.0.0-beta.47" + "@babel/traverse" "7.0.0-beta.47" + "@babel/types" "7.0.0-beta.47" absolute-path "^0.0.0" async "^2.4.0" babel-core "^6.24.1" - babel-generator "^6.26.0" - babel-plugin-external-helpers "^6.18.0" + babel-plugin-external-helpers "^6.22.0" + babel-plugin-transform-flow-strip-types "^6.21.0" babel-preset-es2015-node "^6.1.1" babel-preset-fbjs "^2.1.4" - babel-preset-react-native "^4.0.0" + babel-preset-react-native "^5.0.0" babel-register "^6.24.1" - babylon "^6.18.0" + babylon "7.0.0-beta.47" 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" @@ -5154,32 +4992,38 @@ metro@^0.24.3: fs-extra "^1.0.0" graceful-fs "^4.1.3" image-size "^0.6.0" - jest-docblock "22.1.0" - jest-haste-map "22.1.0" - jest-worker "22.1.0" + jest-docblock "23.0.1" + jest-haste-map "23.1.0" + jest-worker "23.0.1" json-stable-stringify "^1.0.1" json5 "^0.4.0" left-pad "^1.1.3" - lodash "^4.16.6" + lodash.throttle "^4.1.1" merge-stream "^1.0.1" - metro-core "0.24.6" - metro-source-map "0.24.6" + metro-babel-register "0.38.3" + metro-babel7-plugin-react-transform "0.38.3" + metro-cache "0.38.3" + metro-core "0.38.3" + metro-minify-uglify "0.38.3" + metro-resolver "0.38.3" + metro-source-map "0.38.3" mime-types "2.1.11" mkdirp "^0.5.1" - request "^2.79.0" + node-fetch "^1.3.3" + react-transform-hmr "^1.0.4" + resolve "^1.5.0" rimraf "^2.5.4" serialize-error "^2.1.0" source-map "^0.5.6" temp "0.8.3" throat "^4.1.0" - uglify-es "^3.1.9" wordwrap "^1.0.0" write-file-atomic "^1.2.0" ws "^1.1.0" xpipe "^1.0.5" yargs "^9.0.0" -micromatch@2.3.11, micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.7: +micromatch@2.3.11, micromatch@^2.1.5, micromatch@^2.3.11: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" dependencies: @@ -5197,43 +5041,47 @@ micromatch@2.3.11, micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.7: parse-glob "^3.0.4" regex-cache "^0.4.2" -"mime-db@>= 1.30.0 < 2": - version "1.32.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.32.0.tgz#485b3848b01a3cda5f968b4882c0771e58e09414" +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +"mime-db@>= 1.34.0 < 2", mime-db@~1.35.0: + version "1.35.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.35.0.tgz#0569d657466491283709663ad379a99b90d9ab47" mime-db@~1.23.0: version "1.23.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.23.0.tgz#a31b4070adaea27d732ea333740a64d0ec9a6659" -mime-db@~1.30.0: - version "1.30.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" - -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" - mime-types@2.1.11: version "2.1.11" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.11.tgz#c259c471bda808a85d6cd193b430a5fae4473b3c" dependencies: mime-db "~1.23.0" -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.7: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" - dependencies: - mime-db "~1.33.0" - -mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.6, mime-types@~2.1.9: - version "2.1.17" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.19: + version "2.1.19" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.19.tgz#71e464537a7ef81c15f2db9d97e913fc0ff606f0" dependencies: - mime-db "~1.30.0" + mime-db "~1.35.0" -mime@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" mime@^1.3.4: version "1.6.0" @@ -5244,12 +5092,12 @@ mime@^2.3.1: resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369" mimic-fn@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" mimic-response@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.0.tgz#df3d3652a73fded6b9b0b24146e6fd052353458e" + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" min-document@^2.19.0: version "2.19.0" @@ -5257,7 +5105,7 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -5288,11 +5136,12 @@ minizlib@^1.1.0: dependencies: minipass "^2.2.1" -mkdirp@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12" +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" dependencies: - minimist "0.0.8" + for-in "^1.0.2" + is-extendable "^1.0.1" mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.1" @@ -5323,90 +5172,66 @@ mock-socket@^8.0.2: url-parse "^1.2.0" moment@^2.20.1: - version "2.20.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.20.1.tgz#d6eb1a46cbcc14a2b2f9434112c1ff8907f313fd" + version "2.22.2" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66" -morgan@~1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.6.1.tgz#5fd818398c6819cba28a7cd6664f292fe1c0bbf2" +moo@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz#3f847a26f31cf625a956a87f2b10fbc013bfd10e" + +morgan@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.0.tgz#d01fa6c65859b76fcf31b3cb53a3821a311d8051" dependencies: - basic-auth "~1.0.3" - debug "~2.2.0" - depd "~1.0.1" + basic-auth "~2.0.0" + debug "2.6.9" + depd "~1.1.1" on-finished "~2.3.0" - on-headers "~1.0.0" - -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - -ms@0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" - -ms@0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" - -ms@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-1.0.0.tgz#59adcd22edc543f7b5381862d31387b1f4bc9473" + on-headers "~1.0.1" ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" -multimatch@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" - dependencies: - array-differ "^1.0.0" - array-union "^1.0.1" - arrify "^1.0.0" - minimatch "^3.0.0" - -multiparty@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/multiparty/-/multiparty-3.3.2.tgz#35de6804dc19643e5249f3d3e3bdc6c8ce301d3f" - dependencies: - readable-stream "~1.1.9" - stream-counter "~0.2.0" - -multipipe@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" - dependencies: - duplexer2 "0.0.2" - -mute-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" - -mute-stream@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" -nan@^2.3.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" +nan@^2.9.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" nearley@^2.7.10: - version "2.11.0" - resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.11.0.tgz#5e626c79a6cd2f6ab9e7e5d5805e7668967757ae" + version "2.15.0" + resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.15.0.tgz#d1ff5406a58064615fe6eafb429cf06fbb1b7eab" dependencies: + moo "^0.4.3" nomnom "~1.6.2" railroad-diagrams "^1.0.0" - randexp "^0.4.2" + randexp "0.4.6" + semver "^5.4.1" -needle@^2.2.0: +needle@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d" dependencies: @@ -5414,14 +5239,14 @@ needle@^2.2.0: iconv-lite "^0.4.4" sax "^1.2.4" -negotiator@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.5.3.tgz#269d5c476810ec92edbe7b6c2f28316384f9a7e8" - negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" +nice-try@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.4.tgz#d93962f6c52f2c1558c0fbda6d512819f1efe1c4" + node-fetch@^1.0.1, node-fetch@^1.3.3: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -5437,50 +5262,34 @@ node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" -node-notifier@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.1.2.tgz#2fa9e12605fa10009d44549d6fcd8a63dde0e4ff" +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + +node-notifier@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.2.1.tgz#fa313dd08f5517db0e2502e5758d664ac69f9dea" dependencies: growly "^1.3.0" - semver "^5.3.0" - shellwords "^0.1.0" - which "^1.2.12" + semver "^5.4.1" + shellwords "^0.1.1" + which "^1.3.0" node-pre-gyp@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz#6e4ef5bb5c5203c6552448828c852c40111aac46" + version "0.10.3" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" dependencies: detect-libc "^1.0.2" mkdirp "^0.5.1" - needle "^2.2.0" + needle "^2.2.1" nopt "^4.0.1" npm-packlist "^1.1.6" npmlog "^4.0.2" - rc "^1.1.7" + rc "^1.2.7" rimraf "^2.6.1" semver "^5.3.0" tar "^4" -node-pre-gyp@^0.6.39: - version "0.6.39" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" - dependencies: - detect-libc "^1.0.2" - hawk "3.1.3" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.0.2" - rc "^1.1.7" - request "2.81.0" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" - -node-status-codes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" - nomnom@~1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.6.2.tgz#84a66a260174408fc5b77a18f888eccc44fb6971" @@ -5488,12 +5297,6 @@ nomnom@~1.6.2: colors "0.5.x" underscore "~1.4.4" -nopt@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -5510,7 +5313,7 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package- semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^2.0.0, normalize-path@^2.0.1: +normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" dependencies: @@ -5521,19 +5324,19 @@ npm-bundled@^1.0.1: resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308" npm-packlist@^1.1.6: - version "1.1.10" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a" + version "1.1.11" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.11.tgz#84e8c683cbe7867d34b1d357d893ce29e28a02de" dependencies: ignore-walk "^3.0.1" npm-bundled "^1.0.1" -npm-run-all@^4.0.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.2.tgz#90d62d078792d20669139e718621186656cea056" +npm-run-all@^4.0.1, npm-run-all@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.3.tgz#49f15b55a66bb4101664ce270cb18e7103f8f185" dependencies: ansi-styles "^3.2.0" chalk "^2.1.0" - cross-spawn "^5.1.0" + cross-spawn "^6.0.4" memorystream "^0.3.1" minimatch "^3.0.4" ps-tree "^1.1.0" @@ -5570,7 +5373,7 @@ npmlog@^4.0.2: dependencies: node-pre-gyp "^0.10.0" -nth-check@~1.0.0, nth-check@~1.0.1: +nth-check@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" dependencies: @@ -5592,19 +5395,19 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" -oauth-sign@~0.8.1, oauth-sign@~0.8.2: +nwsapi@^2.0.7: + version "2.0.8" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.8.tgz#e3603579b7e162b3dbedae4fb24e46f771d8fa24" + +oauth-sign@~0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" -object-assign@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" - -object-assign@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" -object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -5612,17 +5415,25 @@ object-component@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + object-inspect@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.5.0.tgz#9d876c11e40f485c79215670281b767488f9bfe3" + version "1.6.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" object-is@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" object-keys@^1.0.11, object-keys@^1.0.8: - version "1.0.11" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + version "1.0.12" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" object-keys@~0.4.0: version "0.4.0" @@ -5632,6 +5443,12 @@ object-path@^0.9.0: version "0.9.2" resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5" +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + dependencies: + isobject "^3.0.0" + object.assign@^4.0.4, object.assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" @@ -5657,6 +5474,12 @@ object.omit@^2.0.0: for-own "^0.1.4" is-extendable "^0.1.1" +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + dependencies: + isobject "^3.0.1" + object.values@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a" @@ -5672,20 +5495,16 @@ on-finished@~2.3.0: dependencies: ee-first "1.1.1" -on-headers@~1.0.0, on-headers@~1.0.1: +on-headers@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" -once@^1.3.0, once@^1.3.3, once@^1.4.0: +once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: wrappy "1" -onetime@^1.0.0: - version "1.1.0" - resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" @@ -5731,13 +5550,6 @@ options@>=0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" -ordered-read-streams@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b" - dependencies: - is-stream "^1.0.1" - readable-stream "^2.0.1" - os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -5756,18 +5568,7 @@ os-locale@^2.0.0: lcid "^1.0.0" mem "^1.1.0" -os-name@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/os-name/-/os-name-2.0.1.tgz#b9a386361c17ae3a21736ef0599405c9a8c5dc5e" - dependencies: - macos-release "^1.0.0" - win-release "^1.0.0" - -os-shim@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" - -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -5786,6 +5587,14 @@ output-file-sync@^1.1.2: mkdirp "^0.5.1" object-assign "^4.1.0" +output-file-sync@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-2.0.1.tgz#f53118282f5f553c2799541792b723a4c71430c0" + dependencies: + graceful-fs "^4.1.11" + is-plain-obj "^1.1.0" + mkdirp "^0.5.1" + p-cancelable@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" @@ -5795,8 +5604,10 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" p-limit@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + dependencies: + p-try "^1.0.0" p-limit@^2.0.0: version "2.0.0" @@ -5822,6 +5633,10 @@ p-timeout@^1.1.1: dependencies: p-finally "^1.0.0" +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + p-try@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" @@ -5850,7 +5665,7 @@ parse-glob@^3.0.4: is-extglob "^1.0.0" is-glob "^2.0.0" -parse-json@^2.1.0, parse-json@^2.2.0: +parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" dependencies: @@ -5863,6 +5678,10 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + parse5@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" @@ -5881,10 +5700,14 @@ parseuri@0.0.5: dependencies: better-assert "~1.0.0" -parseurl@~1.3.0, parseurl@~1.3.1, parseurl@~1.3.2: +parseurl@~1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" @@ -5907,7 +5730,7 @@ path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" -path-key@^2.0.0: +path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" @@ -5951,10 +5774,6 @@ pause-stream@0.0.11: dependencies: through "~2.3" -pause@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/pause/-/pause-0.1.0.tgz#ebc8a4a8619ff0b8a81ac1513c3434ff469fdb74" - pegjs@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/pegjs/-/pegjs-0.10.0.tgz#cf8bafae6eddff4b5a7efb185269eaaf4610ddbd" @@ -5963,15 +5782,11 @@ pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" -pify@^2.0.0, pify@^2.3.0: +pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -5989,6 +5804,18 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" +pirates@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-3.0.2.tgz#7e6f85413fd9161ab4e12b539b06010d85954bb9" + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + dependencies: + find-up "^2.1.0" + plist@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/plist/-/plist-2.0.1.tgz#0a32ca9481b1c364e92e18dc55c876de9d01da8b" @@ -5997,15 +5824,6 @@ plist@2.0.1: xmlbuilder "8.2.2" xmldom "0.1.x" -plist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/plist/-/plist-1.2.0.tgz#084b5093ddc92506e259f874b8d9b1afb8c79593" - dependencies: - base64-js "0.0.8" - util-deprecate "1.0.2" - xmlbuilder "4.0.0" - xmldom "0.1.x" - plist@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/plist/-/plist-2.1.0.tgz#57ccdb7a0821df21831217a3cad54e3e146a1025" @@ -6014,7 +5832,7 @@ plist@^2.1.0: xmlbuilder "8.2.2" xmldom "0.1.x" -plist@^3.0.1: +plist@^3.0.0, plist@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c" dependencies: @@ -6022,10 +5840,24 @@ plist@^3.0.1: xmlbuilder "^9.0.7" xmldom "0.1.x" +plugin-error@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace" + dependencies: + ansi-cyan "^0.1.1" + ansi-red "^0.1.1" + arr-diff "^1.0.1" + arr-union "^2.0.1" + extend-shallow "^1.1.2" + pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + portscanner@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.1.1.tgz#eabb409e4de24950f5a2a516d35ae769343fbb96" @@ -6033,6 +5865,10 @@ portscanner@2.1.1: async "1.5.2" is-number-like "^1.0.3" +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -6045,9 +5881,9 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@1.14.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.14.0.tgz#847c235522035fd988100f1f43cf20a7d24f9372" +prettier@1.13.7: + version "1.13.7" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.7.tgz#850f3b8af784a49a6ea2d2eaa7ed1428a34b7281" pretty-bytes@^1.0.2: version "1.0.4" @@ -6056,19 +5892,11 @@ pretty-bytes@^1.0.2: get-stdin "^4.0.1" meow "^3.1.0" -pretty-bytes@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-2.0.1.tgz#155ec4d0036f41391e7045d6dbe4963d525d264f" - dependencies: - get-stdin "^4.0.1" - meow "^3.1.0" - number-is-nan "^1.0.0" - pretty-format@^4.2.1: version "4.3.1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-4.3.1.tgz#530be5c42b3c05b36414a7a2a4337aa80acd0e8d" -private@^0.1.6, private@^0.1.7, private@^0.1.8: +private@^0.1.6, private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -6101,23 +5929,7 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -prop-types@^15.5.4, prop-types@^15.5.8, prop-types@^15.6.0: - version "15.6.0" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856" - dependencies: - fbjs "^0.8.16" - loose-envify "^1.3.1" - object-assign "^4.1.1" - -prop-types@^15.6.1: - version "15.6.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca" - dependencies: - fbjs "^0.8.16" - loose-envify "^1.3.1" - object-assign "^4.1.1" - -prop-types@^15.6.2: +prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2: version "15.6.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102" dependencies: @@ -6134,6 +5946,10 @@ pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" +psl@^1.1.24: + version "1.1.29" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67" + punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -6142,29 +5958,21 @@ punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" -qs@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-4.0.0.tgz#c31d9b74ec27df75e543a86c78728ed8d4623607" - -qs@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" - -qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" +qs@6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" -qs@~6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" +qs@~6.5.1, qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" querystringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755" quickselect@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-1.0.1.tgz#1e6ceaa9db1ca7c75aafcc863c7bef2037ca62a1" + version "1.1.1" + resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-1.1.1.tgz#852e412ce418f237ad5b660d70cffac647ae94c2" raf@^3.4.0: version "3.4.0" @@ -6176,38 +5984,32 @@ railroad-diagrams@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e" -randexp@^0.4.2: +randexp@0.4.6: version "0.4.6" resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3" dependencies: discontinuous-range "1.0.0" ret "~0.1.10" -random-bytes@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" - -randomatic@^1.1.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" +randomatic@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923" dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -range-parser@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.0.3.tgz#6872823535c692e2c2a0103826afd82c2e0ff175" + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" -raw-body@~2.1.2: - version "2.1.7" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774" +raw-body@^2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" dependencies: - bytes "2.4.0" - iconv-lite "0.4.13" + bytes "3.0.0" + http-errors "1.6.3" + iconv-lite "0.4.23" unpipe "1.0.0" rbush@^2.0.2: @@ -6216,25 +6018,7 @@ rbush@^2.0.2: dependencies: quickselect "^1.0.1" -rc@^1.0.1, rc@^1.1.6: - version "1.2.2" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -rc@^1.1.2: - version "1.2.5" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.5.tgz#275cd687f6e3b36cc756baa26dfee80a790301fd" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -rc@^1.1.7: +rc@^1.0.1, rc@^1.1.2, rc@^1.1.6, rc@^1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" dependencies: @@ -6251,89 +6035,77 @@ react-deep-force-update@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz#bcd31478027b64b3339f108921ab520b4313dc2c" -react-devtools-core@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-3.0.0.tgz#f683e19f0311108f97dbb5b29d948323a1bf7c03" +react-devtools-core@^3.2.2: + version "3.2.3" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-3.2.3.tgz#a37e199d94865e2cbb616b97be8f5820674e6abd" dependencies: shell-quote "^1.6.1" - ws "^2.0.3" + ws "^3.3.1" react-dom@^16.0.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.2.0.tgz#69003178601c0ca19b709b33a83369fe6124c044" + version "16.4.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.4.1.tgz#7f8b0223b3a5fbe205116c56deb85de32685dad6" dependencies: fbjs "^0.8.16" loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.0" -react-native-windows@^0.51.0-rc.1: - version "0.51.0-rc.4" - resolved "https://registry.yarnpkg.com/react-native-windows/-/react-native-windows-0.51.0-rc.4.tgz#0877e25b769820664a891b155761f2bbe10b0a14" - dependencies: - chalk "^1.1.3" - glob "^7.1.2" - shelljs "^0.7.8" - username "^3.0.0" - uuid "^2.0.1" - xml-parser "^1.2.1" - yeoman-environment "^1.5.3" - yeoman-generator "^0.21.2" +react-is@^16.4.1: + version "16.4.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.4.1.tgz#d624c4650d2c65dbd52c72622bbf389435d9776e" -react-native@^0.53.3: - version "0.53.3" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.53.3.tgz#930d1de5d68866f32a4b55112fc0228e29784e8f" +react-native@^0.56: + version "0.56.0" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.56.0.tgz#66686f781ec39a44376aadd4bbc55c8573ab61e5" dependencies: absolute-path "^0.0.0" art "^0.10.0" - 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" - connect "^2.8.3" - create-react-class "^15.5.2" + compression "^1.7.1" + connect "^3.6.5" + 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" + escape-string-regexp "^1.0.5" event-target-shim "^1.0.5" - fbjs "^0.8.14" + fbjs "0.8.16" fbjs-scripts "^0.8.1" fs-extra "^1.0.0" glob "^7.1.1" graceful-fs "^4.1.3" inquirer "^3.0.6" - lodash "^4.16.6" - metro "^0.24.3" - metro-core "^0.24.3" + lodash "^4.17.5" + metro "^0.38.1" + metro-babel-register "^0.38.1" + metro-core "^0.38.1" + metro-memory-fs "^0.38.1" mime "^1.3.4" minimist "^1.2.0" mkdirp "^0.5.1" + morgan "^1.9.0" node-fetch "^1.3.3" - node-notifier "^5.1.2" + 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.0.0" + react-devtools-core "^3.2.2" react-timer-mixin "^0.13.2" regenerator-runtime "^0.11.0" rimraf "^2.5.4" semver "^5.0.3" + serve-static "^1.13.1" shell-quote "1.6.1" stacktrace-parser "^0.1.3" - whatwg-fetch "^1.0.0" ws "^1.1.0" xcode "^0.9.1" xmldoc "^0.4.0" @@ -6366,19 +6138,7 @@ react-redux@^5.0.7: loose-envify "^1.1.0" prop-types "^15.6.0" -react-router@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.2.0.tgz#61f7b3e3770daeb24062dae3eedef1b054155986" - dependencies: - history "^4.7.2" - hoist-non-react-statics "^2.3.0" - invariant "^2.2.2" - loose-envify "^1.3.1" - path-to-regexp "^1.7.0" - prop-types "^15.5.4" - warning "^3.0.0" - -react-router@^4.3.1: +react-router@^4.2.0, react-router@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz#aada4aef14c809cb2e686b05cee4742234506c4e" dependencies: @@ -6399,16 +6159,17 @@ react-simple-maps@^0.10.1: topojson-client "2.1.0" react-test-renderer@^16.0.0-0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.2.0.tgz#bddf259a6b8fcd8555f012afc8eacc238872a211" + version "16.4.1" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.4.1.tgz#f2fb30c2c7b517db6e5b10ed20bb6b0a7ccd8d70" dependencies: fbjs "^0.8.16" object-assign "^4.1.1" prop-types "^15.6.0" + react-is "^16.4.1" react-timer-mixin@^0.13.2: - version "0.13.3" - resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.3.tgz#0da8b9f807ec07dc3e854d082c737c65605b3d22" + version "0.13.4" + resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz#75a00c3c94c13abe29b43d63b4c65a88fc8264d3" react-transform-hmr@^1.0.4: version "1.0.4" @@ -6418,8 +6179,8 @@ react-transform-hmr@^1.0.4: react-proxy "^1.1.7" react@^16.0.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.2.0.tgz#a31bd2dab89bff65d42134fa187f24d054c273ba" + version "16.4.1" + resolved "https://registry.yarnpkg.com/react/-/react-16.4.1.tgz#de51ba5764b5dbcd1f9079037b862bd26b82fe32" dependencies: fbjs "^0.8.16" loose-envify "^1.1.0" @@ -6441,17 +6202,6 @@ reactxp@^1.3.3: subscribableevent "^1.0.0" synctasks "^0.3.3" -read-all-stream@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" - dependencies: - pinkie-promise "^2.0.0" - readable-stream "^2.0.0" - -read-chunk@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-1.0.1.tgz#5f68cab307e663f19993527d9b589cace4661194" - read-config-file@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-3.1.0.tgz#d433283c76f32204d6995542e4a04723db9e8308" @@ -6504,49 +6254,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -readable-stream@1.1: - version "1.1.13" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -"readable-stream@>=1.0.33-1 <1.1.0-0": - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.0, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.2.2: - version "2.3.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5: - version "2.3.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - -readable-stream@^2.0.6, readable-stream@^2.1.4: +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" dependencies: @@ -6558,7 +6266,7 @@ readable-stream@^2.0.6, readable-stream@^2.1.4: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@~1.1.8, readable-stream@~1.1.9: +readable-stream@~1.1.9: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" dependencies: @@ -6588,24 +6296,10 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" -readline2@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" - rebound@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/rebound/-/rebound-0.1.0.tgz#0638c61a93666bb515a58a03e1cfb34021e88b72" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" @@ -6624,9 +6318,15 @@ redux@^4.0.0: loose-envify "^1.1.0" symbol-observable "^1.2.0" -regenerate@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" +regenerate-unicode-properties@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" + dependencies: + regenerate "^1.4.0" + +regenerate@^1.2.1, regenerate@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" regenerator-runtime@^0.10.5: version "0.10.5" @@ -6644,13 +6344,32 @@ regenerator-transform@^0.10.0: babel-types "^6.19.0" private "^0.1.6" +regenerator-transform@^0.12.3: + version "0.12.4" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.12.4.tgz#aa9b6c59f4b97be080e972506c560b3bccbfcff0" + dependencies: + private "^0.1.6" + regex-cache@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" dependencies: is-equal-shallow "^0.1.3" -regexpp@^1.0.1: +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c" + dependencies: + define-properties "^1.1.2" + +regexpp@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" @@ -6662,9 +6381,20 @@ regexpu-core@^2.0.0: regjsgen "^0.2.0" regjsparser "^0.1.4" +regexpu-core@^4.1.3: + version "4.2.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.2.0.tgz#a3744fa03806cffe146dea4421a3e73bdcc47b1d" + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^7.0.0" + regjsgen "^0.4.0" + regjsparser "^0.3.0" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.0.2" + registry-auth-token@^3.0.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006" + version "3.3.2" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" dependencies: rc "^1.1.6" safe-buffer "^5.0.1" @@ -6679,12 +6409,22 @@ regjsgen@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" +regjsgen@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.4.0.tgz#c1eb4c89a209263f8717c782591523913ede2561" + regjsparser@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" dependencies: jsesc "~0.5.0" +regjsparser@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.3.0.tgz#3c326da7fcfd69fa0d332575a41c8c0cdf588c96" + dependencies: + jsesc "~0.5.0" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -6693,7 +6433,7 @@ repeat-element@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" -repeat-string@^1.5.2: +repeat-string@^1.5.2, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" @@ -6703,40 +6443,23 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -replace-ext@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" +request-promise-core@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + dependencies: + lodash "^4.13.1" -request@2.81.0: - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" +request-promise-native@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" + request-promise-core "1.1.1" + stealthy-require "^1.1.0" + tough-cookie ">=2.3.3" -request@^2.45.0, request@^2.79.0: - version "2.83.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" +request@^2.45.0: + version "2.87.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" dependencies: aws-sign2 "~0.7.0" aws4 "^1.6.0" @@ -6746,7 +6469,6 @@ request@^2.45.0, request@^2.79.0: forever-agent "~0.6.1" form-data "~2.3.1" har-validator "~5.0.3" - hawk "~6.0.2" http-signature "~1.2.0" is-typedarray "~1.0.0" isstream "~0.1.2" @@ -6756,11 +6478,35 @@ request@^2.45.0, request@^2.79.0: performance-now "^2.1.0" qs "~6.5.1" safe-buffer "^5.1.1" - stringstream "~0.0.5" tough-cookie "~2.3.3" tunnel-agent "^0.6.0" uuid "^3.1.0" +request@^2.87.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + 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.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -6788,9 +6534,13 @@ resolve-pathname@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" -resolve@^1.1.6: - version "1.6.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.6.0.tgz#0fbd21278b27b4004481c395349e7aba60a9ff5c" +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +resolve@^1.3.2, resolve@^1.5.0: + version "1.8.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" dependencies: path-parse "^1.0.5" @@ -6801,20 +6551,6 @@ resp-modifier@6.0.2: debug "^2.2.0" minimatch "^3.0.2" -response-time@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/response-time/-/response-time-2.3.2.tgz#ffa71bab952d62f7c1d49b7434355fbc68dffc5a" - dependencies: - depd "~1.1.0" - on-headers "~1.0.1" - -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -6826,7 +6562,7 @@ ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" -rimraf@2, rimraf@^2.2.0, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: @@ -6836,10 +6572,6 @@ rimraf@~2.2.6: version "2.2.8" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" -rndm@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/rndm/-/rndm-1.2.0.tgz#f33fe9cfb52bbfd520aa18323bc65db110a1b76c" - rst-selector-parser@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91" @@ -6847,11 +6579,9 @@ rst-selector-parser@^2.2.3: lodash.flattendeep "^4.4.0" nearley "^2.7.10" -run-async@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" - dependencies: - once "^1.3.0" +rsvp@^3.3.3: + version "3.6.2" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" run-async@^2.2.0: version "2.3.0" @@ -6869,51 +6599,48 @@ rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" -rx-lite@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" - -rx@4.1.0, rx@^4.1.0: +rx@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" -safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" +rxjs@^5.5.2: + version "5.5.11" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.11.tgz#f733027ca43e3bec6b994473be4ab98ad43ced87" + dependencies: + symbol-observable "1.0.1" -safe-buffer@^5.1.1: +safe-buffer@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" -safe-buffer@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" +safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + dependencies: + ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3": +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" -samsam@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.1.2.tgz#bec11fdc83a9fda063401210e40176c3024d1567" - -samsam@~1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.1.3.tgz#9f5087419b4d091f232571e7fa52e90b0f552621" - sane@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-2.2.0.tgz#d6d2e2fcab00e3d283c93b912b7c3a20846f1d56" + version "2.5.2" + resolved "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa" dependencies: - anymatch "^1.3.0" + anymatch "^2.0.0" + capture-exit "^1.2.0" exec-sh "^0.2.0" fb-watchman "^2.0.0" - minimatch "^3.0.2" + micromatch "^3.1.4" minimist "^1.1.1" walker "~1.0.5" watch "~0.18.0" optionalDependencies: - fsevents "^1.1.1" + fsevents "^1.2.3" sanitize-filename@^1.6.1: version "1.6.1" @@ -6929,114 +6656,58 @@ sax@~1.1.1: version "1.1.6" resolved "https://registry.yarnpkg.com/sax/-/sax-1.1.6.tgz#5d616be8a5e607d54e114afae55b7eaf2fcc3240" -seek-bzip@^1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" - dependencies: - commander "~2.8.1" - semver-diff@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0: +"semver@2 || 3 || 4 || 5", semver@5.x, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" -semver@5.x, semver@^5.0.1, semver@^5.0.3, semver@^5.1.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - -send@0.13.2: - version "0.13.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.13.2.tgz#765e7607c8055452bba6f0b052595350986036de" - dependencies: - debug "~2.2.0" - depd "~1.1.0" - destroy "~1.0.4" - escape-html "~1.0.3" - etag "~1.7.0" - fresh "0.3.0" - http-errors "~1.3.1" - mime "1.3.4" - ms "0.7.1" - on-finished "~2.3.0" - range-parser "~1.0.3" - statuses "~1.2.1" - -send@0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.15.2.tgz#f91fab4403bcf87e716f70ceb5db2f578bdc17d6" +send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" dependencies: - debug "2.6.4" - depd "~1.1.0" + debug "2.6.9" + depd "~1.1.2" destroy "~1.0.4" - encodeurl "~1.0.1" + encodeurl "~1.0.2" escape-html "~1.0.3" - etag "~1.8.0" - fresh "0.5.0" - http-errors "~1.6.1" - mime "1.3.4" - ms "1.0.0" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" on-finished "~2.3.0" range-parser "~1.2.0" - statuses "~1.3.1" + statuses "~1.4.0" serialize-error@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a" -serve-favicon@~2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.3.2.tgz#dd419e268de012ab72b319d337f2105013f9381f" - dependencies: - etag "~1.7.0" - fresh "0.3.0" - ms "0.7.2" - parseurl "~1.3.1" - -serve-index@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz#7c5d96c13fb131101f93c1c5774f8516a1e78d3b" - dependencies: - accepts "~1.3.3" - batch "0.5.3" - debug "~2.2.0" - escape-html "~1.0.3" - http-errors "~1.5.0" - mime-types "~2.1.11" - parseurl "~1.3.1" - -serve-index@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.7.3.tgz#7a057fc6ee28dc63f64566e5fa57b111a86aecd2" - dependencies: - accepts "~1.2.13" - batch "0.5.3" - debug "~2.2.0" - escape-html "~1.0.3" - http-errors "~1.3.1" - mime-types "~2.1.9" - parseurl "~1.3.1" - -serve-static@1.12.2: - version "1.12.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.2.tgz#e546e2726081b81b4bcec8e90808ebcdd323afba" +serve-index@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" dependencies: - encodeurl "~1.0.1" + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" escape-html "~1.0.3" - parseurl "~1.3.1" - send "0.15.2" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" -serve-static@~1.10.0: - version "1.10.3" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.10.3.tgz#ce5a6ecd3101fed5ec09827dac22a9c29bfb0535" +serve-static@1.13.2, serve-static@^1.13.1: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" dependencies: + encodeurl "~1.0.2" escape-html "~1.0.3" - parseurl "~1.3.1" - send "0.13.2" + parseurl "~1.3.2" + send "0.16.2" server-destroy@1.0.1: version "1.0.1" @@ -7046,21 +6717,35 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" -set-immediate-shim@^1.0.0, set-immediate-shim@^1.0.1: +set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + setimmediate@^1.0.5, setimmediate@~1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" -setprototypeof@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" - -setprototypeof@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" shebang-command@^1.2.0: version "1.2.0" @@ -7081,19 +6766,7 @@ shell-quote@1.6.1, shell-quote@^1.6.1: array-reduce "~0.0.0" jsonify "~0.0.0" -shelljs@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.5.3.tgz#c54982b996c76ef0c1e6b59fbdc5825f5b713113" - -shelljs@^0.7.8: - version "0.7.8" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -shellwords@^0.1.0: +shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" @@ -7115,15 +6788,6 @@ single-line-log@^1.1.2: dependencies: string-width "^1.0.1" -sinon@^1.9.1: - version "1.17.7" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-1.17.7.tgz#4542a4f49ba0c45c05eb2e9dd9d203e2b8efe0bf" - dependencies: - formatio "1.1.1" - lolex "1.3.2" - samsam "1.1.2" - util ">=0.10.3 <1" - slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" @@ -7138,17 +6802,32 @@ slide@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" dependencies: - hoek "2.x.x" + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" -sntp@2.x.x: - version "2.1.0" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" dependencies: - hoek "4.x.x" + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" socket.io-adapter@~1.1.0: version "1.1.1" @@ -7172,26 +6851,64 @@ socket.io-client@2.0.4: socket.io-parser "~3.1.1" to-array "0.1.4" +socket.io-client@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.1.1.tgz#dcb38103436ab4578ddb026638ae2f21b623671f" + dependencies: + backo2 "1.0.2" + base64-arraybuffer "0.1.5" + component-bind "1.0.0" + component-emitter "1.2.1" + debug "~3.1.0" + engine.io-client "~3.2.0" + has-binary2 "~1.0.2" + has-cors "1.1.0" + indexof "0.0.1" + object-component "0.0.3" + parseqs "0.0.5" + parseuri "0.0.5" + socket.io-parser "~3.2.0" + to-array "0.1.4" + socket.io-parser@~3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.1.2.tgz#dbc2282151fc4faebbe40aeedc0772eba619f7f2" + version "3.1.3" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.1.3.tgz#ed2da5ee79f10955036e3da413bfd7f1e4d86c8e" dependencies: component-emitter "1.2.1" - debug "~2.6.4" + debug "~3.1.0" has-binary2 "~1.0.2" isarray "2.0.1" -socket.io@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.0.4.tgz#c1a4590ceff87ecf13c72652f046f716b29e6014" +socket.io-parser@~3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.2.0.tgz#e7c6228b6aa1f814e6148aea325b51aa9499e077" + dependencies: + component-emitter "1.2.1" + debug "~3.1.0" + isarray "2.0.1" + +socket.io@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.1.1.tgz#a069c5feabee3e6b214a75b40ce0652e1cfb9980" dependencies: - debug "~2.6.6" - engine.io "~3.1.0" + debug "~3.1.0" + engine.io "~3.2.0" + has-binary2 "~1.0.2" socket.io-adapter "~1.1.0" - socket.io-client "2.0.4" - socket.io-parser "~3.1.1" + socket.io-client "2.1.1" + socket.io-parser "~3.2.0" + +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" -source-map-support@^0.4.15: +source-map-support@^0.4.15, source-map-support@^0.4.2: version "0.4.18" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" dependencies: @@ -7204,6 +6921,10 @@ source-map-support@^0.5.6: buffer-from "^1.0.0" source-map "^0.6.0" +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -7212,23 +6933,6 @@ source-map@^0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" -source-map@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" - dependencies: - amdefine ">=0.0.4" - -sparkles@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" - -spawn-sync@^1.0.15: - version "1.0.15" - resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" - dependencies: - concat-stream "^1.4.7" - os-shim "^0.1.2" - spdx-correct@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" @@ -7255,28 +6959,31 @@ speedometer@~0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/speedometer/-/speedometer-0.1.4.tgz#9876dbd2a169d3115402d48e6ea6329c8816a50d" +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + dependencies: + extend-shallow "^3.0.0" + split@0.3: version "0.3.3" resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" dependencies: through "2" -sprintf-js@^1.0.3: - version "1.1.1" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.1.tgz#36be78320afe5801f6cea3ee78b6e5aab940ea0c" - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" sshpk@^1.7.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb" + version "1.14.2" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" dashdash "^1.12.0" getpass "^0.1.1" + safer-buffer "^2.0.2" optionalDependencies: bcrypt-pbkdf "^1.0.0" ecc-jsbn "~0.1.1" @@ -7287,49 +6994,43 @@ stacktrace-parser@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.4.tgz#01397922e5f62ecf30845522c95c4fe1d25e7d4e" -stat-mode@^0.2.0, stat-mode@^0.2.2: +stat-mode@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502" -statuses@1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" -"statuses@>= 1.3.1 < 2", statuses@~1.3.0, statuses@~1.3.1: +statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" -statuses@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.2.1.tgz#dded45cc18256d51ed40aec142489d5c61026d28" +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + +stealthy-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" stream-buffers@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" -stream-combiner2@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" - dependencies: - duplexer2 "~0.1.0" - readable-stream "^2.0.2" - stream-combiner@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" dependencies: duplexer "~0.1.1" -stream-counter@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/stream-counter/-/stream-counter-0.2.0.tgz#ded266556319c8b0e222812b9cf3b26fa7d947de" - dependencies: - readable-stream "~1.1.8" - -stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - stream-throttle@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3" @@ -7352,6 +7053,16 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string.prototype.matchall@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz#2af8fe3d2d6dc53ca2a59bd376b089c3c152b3c8" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.10.0" + function-bind "^1.1.1" + has-symbols "^1.0.0" + regexp.prototype.flags "^1.2.0" + string.prototype.padend@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0" @@ -7364,26 +7075,12 @@ string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" -string_decoder@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" - dependencies: - safe-buffer "~5.1.0" - string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" dependencies: safe-buffer "~5.1.0" -stringstream@~0.0.4: - version "0.0.6" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72" - -stringstream@~0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -7396,20 +7093,6 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-bom-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee" - dependencies: - first-chunk-stream "^1.0.0" - strip-bom "^2.0.0" - -strip-bom-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" - dependencies: - first-chunk-stream "^2.0.0" - strip-bom "^2.0.0" - strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -7420,17 +7103,6 @@ strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" -strip-dirs@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-1.1.1.tgz#960bbd1287844f3975a4558aa103a8255e2456a0" - dependencies: - chalk "^1.0.0" - get-stdin "^4.0.1" - is-absolute "^0.1.5" - is-natural-number "^2.0.0" - minimist "^1.1.0" - sum-up "^1.0.1" - strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -7441,16 +7113,10 @@ strip-indent@^1.0.1: dependencies: get-stdin "^4.0.1" -strip-json-comments@~2.0.1: +strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" -strip-outer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.0.tgz#aac0ba60d2e90c5d4f275fd8869fd9a2d310ffb8" - dependencies: - escape-string-regexp "^1.0.2" - subscribableevent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/subscribableevent/-/subscribableevent-1.0.0.tgz#bde9500fa9009c7740c924109bac6119cd9898e6" @@ -7458,12 +7124,6 @@ subscribableevent@^1.0.0: "@types/lodash" "^4.14.64" lodash "^4.17.4" -sum-up@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sum-up/-/sum-up-1.0.3.tgz#1c661f667057f63bcb7875aa1438bc162525156e" - dependencies: - chalk "^1.0.0" - sumchecker@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-1.3.1.tgz#79bb3b4456dd04f18ebdbc0d703a1d1daec5105d" @@ -7471,13 +7131,7 @@ sumchecker@^1.2.0: debug "^2.2.0" es6-promise "^4.0.5" -sumchecker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-2.0.2.tgz#0f42c10e5d05da5d42eea3e56c3399a37d6c5b3e" - dependencies: - debug "^2.2.0" - -supports-color@5.4.0: +supports-color@5.4.0, supports-color@^5.3.0: version "5.4.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" dependencies: @@ -7487,71 +7141,33 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -supports-color@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" - dependencies: - has-flag "^2.0.0" - -supports-color@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0" - dependencies: - has-flag "^3.0.0" +symbol-observable@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" symbol-observable@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" -sync-exec@~0.6.x: - version "0.6.2" - resolved "https://registry.yarnpkg.com/sync-exec/-/sync-exec-0.6.2.tgz#717d22cc53f0ce1def5594362f3a89a2ebb91105" +symbol-tree@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" synctasks@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/synctasks/-/synctasks-0.3.3.tgz#1e3dde423b39d28bc940fdb7698d8b4b7a741e77" -table@4.0.2, table@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" +table@^4.0.2, table@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc" dependencies: - ajv "^5.2.3" - ajv-keywords "^2.1.0" + ajv "^6.0.1" + ajv-keywords "^3.0.0" chalk "^2.1.0" lodash "^4.17.4" slice-ansi "1.0.0" string-width "^2.1.1" -tar-pack@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" - dependencies: - debug "^2.2.0" - fstream "^1.0.10" - fstream-ignore "^1.0.5" - once "^1.3.3" - readable-stream "^2.1.4" - rimraf "^2.5.1" - tar "^2.2.1" - uid-number "^0.0.6" - -tar-stream@^1.1.1: - version "1.5.5" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.5.tgz#5cad84779f45c83b1f2508d96b09d88c7218af55" - dependencies: - bl "^1.0.0" - end-of-stream "^1.0.0" - readable-stream "^2.0.0" - xtend "^4.0.0" - -tar@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - tar@^4: version "4.4.4" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.4.tgz#ec8409fae9f665a4355cc3b4087d0820232bb8cd" @@ -7586,14 +7202,10 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" -text-table@^0.2.0, text-table@~0.2.0: +text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -textextensions@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-1.0.2.tgz#65486393ee1f2bb039a60cbba05b0b68bd9501d2" - tfunk@^3.0.1: version "3.1.0" resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-3.1.0.tgz#38e4414fc64977d87afdaa72facb6d29f82f7b5b" @@ -7609,21 +7221,7 @@ throttleit@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf" -through2-filter@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" - dependencies: - through2 "~2.0.0" - xtend "~4.0.0" - -through2@^0.6.0, through2@^0.6.1: - version "0.6.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" - dependencies: - readable-stream ">=1.0.33-1 <1.1.0-0" - xtend ">=4.0.0 <4.1.0-0" - -through2@^2.0.0, through2@~2.0.0: +through2@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: @@ -7645,20 +7243,10 @@ time-stamp@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" -timed-out@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" - timed-out@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" -tmp@^0.0.29: - version "0.0.29" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" - dependencies: - os-tmpdir "~1.0.1" - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -7669,12 +7257,6 @@ tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" -to-absolute-glob@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f" - dependencies: - extend-shallow "^2.0.1" - to-array@0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" @@ -7687,36 +7269,61 @@ to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + topojson-client@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/topojson-client/-/topojson-client-2.1.0.tgz#ff9f7bf38991185e0b4284c2b06ae834f0eac6c8" dependencies: commander "2" -tough-cookie@~2.3.0, tough-cookie@~2.3.3: +tough-cookie@>=2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +tough-cookie@~2.3.3: version "2.3.4" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" dependencies: punycode "^1.4.1" +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + dependencies: + punycode "^2.1.0" + "traverse@>=0.3.0 <0.4": version "0.3.9" resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" -traverse@^0.6.6: - version "0.6.6" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" - trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" -trim-repeated@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" - dependencies: - escape-string-regexp "^1.0.2" - trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -7727,14 +7334,6 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -tsscmp@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.5.tgz#7dc4a33af71581ab4337da91d85ca5427ebd9a97" - -tunnel-agent@^0.4.0: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -7752,51 +7351,28 @@ type-check@~0.3.2: prelude-ls "~1.1.2" type-detect@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.7.tgz#862bd2cf6058ad92799ff5a5b8cf7b6cec726198" - -type-is@~1.6.6: - version "1.6.15" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" - dependencies: - media-typer "0.3.0" - mime-types "~2.1.15" + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -ua-parser-js@0.7.12: - version "0.7.12" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" - -ua-parser-js@^0.7.9: +ua-parser-js@0.7.17: version "0.7.17" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" +ua-parser-js@^0.7.18, ua-parser-js@^0.7.9: + version "0.7.18" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.18.tgz#a7bfd92f56edfb117083b69e31d2aa8882d4b1ed" + uglify-es@^3.1.9: - version "3.3.8" - resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.8.tgz#f2c68e6cff0d0f9dc9577e4da207151c2e753b7e" + version "3.3.9" + resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" dependencies: commander "~2.13.0" source-map "~0.6.1" -uid-number@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - -uid-safe@2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.4.tgz#3ad6f38368c6d4c8c75ec17623fb79aa1d071d81" - dependencies: - random-bytes "~1.0.0" - -uid-safe@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.0.0.tgz#a7f3c6ca64a1f6a5d04ec0ef3e4c3d5367317137" - dependencies: - base64-url "1.2.1" - ultron@1.0.x: version "1.0.2" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" @@ -7805,23 +7381,37 @@ ultron@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" -underscore.string@^3.0.3: - version "3.3.4" - resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.4.tgz#2c2a3f9f83e64762fdc45e6ceac65142864213db" - dependencies: - sprintf-js "^1.0.3" - util-deprecate "^1.0.2" - underscore@~1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604" -unique-stream@^2.0.2: - version "2.2.1" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" dependencies: - json-stable-stringify "^1.0.0" - through2-filter "^2.0.0" + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" unique-string@^1.0.0: version "1.0.0" @@ -7830,22 +7420,19 @@ unique-string@^1.0.0: crypto-random-string "^1.0.0" universalify@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7" + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" -untildify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-2.1.0.tgz#17eb2807987f76952e9c0485fc311d06a826a2e0" +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" dependencies: - os-homedir "^1.0.0" - -unzip-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" + has-value "^0.3.1" + isobject "^3.0.0" unzip-response@^2.0.1: version "2.0.1" @@ -7865,6 +7452,10 @@ unzipper@^0.8.11: readable-stream "~2.1.5" setimmediate "~1.0.4" +upath@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" + update-notifier@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" @@ -7886,6 +7477,10 @@ uri-js@^4.2.1: dependencies: punycode "^2.1.0" +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + url-parse-lax@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" @@ -7907,41 +7502,28 @@ url-to-options@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + user-home@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - dependencies: - os-homedir "^1.0.0" - -username@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/username/-/username-3.0.0.tgz#b3dba982a72b4ce59d52f159fa1aeba266af5fc8" - dependencies: - execa "^0.7.0" - mem "^1.1.0" - utf8-byte-length@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" -util-deprecate@1.0.2, util-deprecate@^1.0.2, util-deprecate@~1.0.1: +util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -util@0.10.3, "util@>=0.10.3 <1": +util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" dependencies: inherits "2.0.1" -utils-merge@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" - utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" @@ -7950,17 +7532,9 @@ uuid@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" -uuid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - -uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" - -uws@~0.14.4: - version "0.14.5" - resolved "https://registry.yarnpkg.com/uws/-/uws-0.14.5.tgz#67aaf33c46b2a587a5f6666d00f7691328f149dc" +uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" v8flags@^2.1.1: version "2.1.1" @@ -7968,10 +7542,6 @@ v8flags@^2.1.1: dependencies: user-home "^1.1.1" -vali-date@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" - validate-npm-package-license@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" @@ -7993,10 +7563,6 @@ value-equal@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" -vary@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.0.1.tgz#99e4981566a286118dfb2b817357df7993376d10" - vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -8009,72 +7575,11 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vhost@~3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/vhost/-/vhost-3.0.2.tgz#2fb1decd4c466aa88b0f9341af33dc1aff2478d5" - -vinyl-assign@^1.0.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/vinyl-assign/-/vinyl-assign-1.2.1.tgz#4d198891b5515911d771a8cd9c5480a46a074a45" - dependencies: - object-assign "^4.0.1" - readable-stream "^2.0.0" - -vinyl-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a" - dependencies: - graceful-fs "^4.1.2" - pify "^2.3.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - strip-bom-stream "^2.0.0" - vinyl "^1.1.0" - -vinyl-fs@^2.2.0: - version "2.4.4" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" - dependencies: - duplexify "^3.2.0" - glob-stream "^5.3.2" - graceful-fs "^4.0.0" - gulp-sourcemaps "1.6.0" - is-valid-glob "^0.3.0" - lazystream "^1.0.0" - lodash.isequal "^4.0.0" - merge-stream "^1.0.0" - mkdirp "^0.5.0" - object-assign "^4.0.0" - readable-stream "^2.0.4" - strip-bom "^2.0.0" - strip-bom-stream "^1.0.0" - through2 "^2.0.0" - through2-filter "^2.0.0" - vali-date "^1.0.0" - vinyl "^1.0.0" - -vinyl@^0.4.3: - version "0.4.6" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" - dependencies: - clone "^0.2.0" - clone-stats "^0.0.1" - -vinyl@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" - dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" - -vinyl@^1.0.0, vinyl@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" +w3c-hr-time@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" + browser-process-hrtime "^0.1.2" walker@~1.0.5: version "1.0.7" @@ -8082,12 +7587,6 @@ walker@~1.0.5: dependencies: makeerror "1.0.x" -ware@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ware/-/ware-1.3.0.tgz#d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4" - dependencies: - wrap-fn "^0.1.0" - warning@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" @@ -8107,13 +7606,31 @@ watch@~0.18.0: exec-sh "^0.2.0" minimist "^1.2.0" +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz#57c235bc8657e914d24e1a397d3c82daee0a6ba3" + dependencies: + iconv-lite "0.4.19" + whatwg-fetch@>=0.10.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" + version "2.0.4" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" -whatwg-fetch@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-1.1.1.tgz#ac3c9d39f320c6dce5339969d054ef43dd333319" +whatwg-mimetype@^2.0.0, whatwg-mimetype@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz#f0f21d76cbba72362eb609dbed2a30cd17fcc7d4" + +whatwg-url@^6.4.0, whatwg-url@^6.4.1: + version "6.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" which-module@^1.0.0: version "1.0.0" @@ -8123,13 +7640,7 @@ which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" -which@^1.2.12, which@^1.2.14, which@^1.2.8, which@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" - dependencies: - isexe "^2.0.0" - -which@^1.2.9, which@^1.3.1: +which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" dependencies: @@ -8147,16 +7658,6 @@ widest-line@^2.0.0: dependencies: string-width "^2.1.1" -win-release@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/win-release/-/win-release-1.1.1.tgz#5fa55e02be7ca934edfc12665632e849b72e5209" - dependencies: - semver "^5.0.1" - -window-size@^0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" - window-size@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" @@ -8182,12 +7683,6 @@ wrap-ansi@^2.0.0: string-width "^1.0.1" strip-ansi "^3.0.1" -wrap-fn@^0.1.0: - version "0.1.5" - resolved "https://registry.yarnpkg.com/wrap-fn/-/wrap-fn-0.1.5.tgz#f21b6e41016ff4a7e31720dbc63a09016bdf9845" - dependencies: - co "3.1.0" - wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -8221,14 +7716,7 @@ ws@^1.1.0: options ">=0.0.5" ultron "1.0.x" -ws@^2.0.3: - version "2.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-2.3.1.tgz#6b94b3e447cb6a363f785eaf94af6359e8e81c80" - dependencies: - safe-buffer "~5.0.1" - ultron "~1.1.0" - -ws@~3.3.1: +ws@^3.3.1, ws@~3.3.1: version "3.3.3" resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" dependencies: @@ -8236,6 +7724,12 @@ ws@~3.3.1: safe-buffer "~5.1.0" ultron "~1.1.0" +ws@^5.2.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + dependencies: + async-limiter "~1.0.0" + xcode@^0.9.1: version "0.9.3" resolved "https://registry.yarnpkg.com/xcode/-/xcode-0.9.3.tgz#910a89c16aee6cc0b42ca805a6d0b4cf87211cf3" @@ -8244,27 +7738,13 @@ xcode@^0.9.1: simple-plist "^0.2.1" uuid "3.0.1" -xdg-basedir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" - dependencies: - os-homedir "^1.0.0" - xdg-basedir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" -xml-parser@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/xml-parser/-/xml-parser-1.2.1.tgz#c31f4c34f2975db82ad013222120592736156fcd" - dependencies: - debug "^2.2.0" - -xmlbuilder@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.0.0.tgz#98b8f651ca30aa624036f127d11cc66dc7b907a3" - dependencies: - lodash "^3.5.0" +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" xmlbuilder@8.2.2: version "8.2.2" @@ -8296,17 +7776,17 @@ xregexp@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" -"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - xtend@~2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" dependencies: object-keys "~0.4.0" -y18n@^3.2.0, y18n@^3.2.1: +xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" @@ -8335,7 +7815,7 @@ yargs-parser@^2.4.1: camelcase "^3.0.0" lodash.assign "^4.0.6" -yargs-parser@^4.1.0: +yargs-parser@^4.1.0, yargs-parser@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" dependencies: @@ -8347,17 +7827,6 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" -yargs@3.29.0: - version "3.29.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.29.0.tgz#1aab9660eae79d8b8f675bcaeeab6ee34c2cf69c" - dependencies: - camelcase "^1.2.1" - cliui "^3.0.3" - decamelize "^1.0.0" - os-locale "^1.4.0" - window-size "^0.1.2" - y18n "^3.2.0" - yargs@6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4" @@ -8377,6 +7846,24 @@ yargs@6.4.0: y18n "^3.2.1" yargs-parser "^4.1.0" +yargs@6.6.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^4.2.0" + yargs@^12.0.1: version "12.0.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.1.tgz#6432e56123bb4e7c3562115401e98374060261c2" @@ -8437,99 +7924,6 @@ yauzl@2.4.1: dependencies: fd-slicer "~1.0.1" -yauzl@^2.2.1: - version "2.9.1" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.9.1.tgz#a81981ea70a57946133883f029c5821a89359a7f" - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.0.1" - yeast@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" - -yeoman-assert@^2.0.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/yeoman-assert/-/yeoman-assert-2.2.3.tgz#a5682a83632c50ac0ee84173a5a10fd6f3206474" - -yeoman-environment@1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-1.5.3.tgz#76f0d14bd2529ca912bd6d20bcb717f8cd1a9ce7" - dependencies: - chalk "^1.0.0" - debug "^2.0.0" - diff "^2.1.2" - escape-string-regexp "^1.0.2" - globby "^4.0.0" - grouped-queue "^0.3.0" - inquirer "^0.11.0" - lodash "^3.1.0" - log-symbols "^1.0.1" - mem-fs "^1.1.0" - text-table "^0.2.0" - untildify "^2.0.0" - -yeoman-environment@^1.5.3: - version "1.6.6" - resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-1.6.6.tgz#cd85fa67d156060e440d7807d7ef7cf0d2d1d671" - dependencies: - chalk "^1.0.0" - debug "^2.0.0" - diff "^2.1.2" - escape-string-regexp "^1.0.2" - globby "^4.0.0" - grouped-queue "^0.3.0" - inquirer "^1.0.2" - lodash "^4.11.1" - log-symbols "^1.0.1" - mem-fs "^1.1.0" - text-table "^0.2.0" - untildify "^2.0.0" - -yeoman-generator@^0.21.2: - version "0.21.2" - resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-0.21.2.tgz#3e2e32fe59442ddab33924e16f4cb621f0bd1d06" - dependencies: - async "^1.4.2" - chalk "^1.0.0" - class-extend "^0.1.0" - cli-table "^0.3.1" - cross-spawn "^2.0.0" - dargs "^4.0.0" - dateformat "^1.0.11" - debug "^2.1.0" - detect-conflict "^1.0.0" - download "^4.1.2" - find-up "^1.0.0" - github-username "^2.0.0" - glob "^5.0.3" - gruntfile-editor "^1.0.0" - html-wiring "^1.0.0" - inquirer "^0.11.0" - istextorbinary "^1.0.2" - lodash "^3.5.0" - mem-fs-editor "^2.0.0" - mkdirp "^0.5.0" - nopt "^3.0.0" - path-exists "^2.0.0" - path-is-absolute "^1.0.0" - pretty-bytes "^2.0.1" - read-chunk "^1.0.1" - read-pkg-up "^1.0.1" - rimraf "^2.2.0" - shelljs "^0.5.0" - sinon "^1.9.1" - text-table "^0.2.0" - through2 "^2.0.0" - underscore.string "^3.0.3" - user-home "^2.0.0" - xdg-basedir "^2.0.0" - yeoman-assert "^2.0.0" - yeoman-environment "1.5.3" - yeoman-welcome "^1.0.0" - -yeoman-welcome@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/yeoman-welcome/-/yeoman-welcome-1.0.1.tgz#f6cf198fd4fba8a771672c26cdfb8a64795c84ec" - dependencies: - chalk "^1.0.0" diff --git a/package.json b/package.json deleted file mode 100644 index d570c5effe..0000000000 --- a/package.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "name": "mullvad-vpn", - "version": "2018.2.0", - "productName": "Mullvad VPN", - "description": "Mullvad VPN client", - "main": "init.js", - "author": { - "name": "Mullvad VPN", - "email": "support@mullvad.net" - }, - "repository": "https://github.com/mullvad/mullvadvpn-app", - "license": "GPL-3.0", - "dependencies": { - "babel-runtime": "^6.22.0", - "chai-as-promised": "^7.1.1", - "connected-react-router": "^4.3.0", - "d3-geo-projection": "^2.3.2", - "electron-log": "^2.2.8", - "eslint-plugin-promise": "^3.8.0", - "history": "^4.6.1", - "jsonrpc-lite": "^1.2.3", - "mkdirp": "^0.5.1", - "moment": "^2.20.1", - "rbush": "^2.0.2", - "react": "^16.0.0", - "react-dom": "^16.0.0", - "react-native": "^0.53.3", - "react-native-windows": "^0.51.0-rc.1", - "react-redux": "^5.0.7", - "react-router": "^4.3.1", - "react-simple-maps": "^0.10.1", - "reactxp": "^1.3.3", - "redux": "^4.0.0", - "redux-thunk": "^2.3.0", - "uuid": "^3.0.1", - "validated": "^1.3.0" - }, - "optionalDependencies": { - "nseventmonitor": "https://github.com/mullvad/NSEventMonitor.git#0.0.9", - "windows-security": "https://github.com/mullvad/windows-security.git#0.0.5" - }, - "devDependencies": { - "babel-cli": "^6.22.2", - "babel-core": "^6.25.0", - "babel-eslint": "^8.2.3", - "babel-plugin-transform-builtin-extend": "^1.1.2", - "babel-plugin-transform-class-properties": "^6.24.1", - "babel-plugin-transform-object-rest-spread": "^6.26.0", - "babel-preset-env": "^1.7.0", - "babel-preset-react": "^6.22.0", - "browser-sync": "^2.23.6", - "chai": "^4.1.0", - "chai-spies": "^1.0.0", - "cross-env": "^5.1.3", - "electron": "^2.0.2", - "electron-builder": "^20.20.4", - "electron-devtools-installer": "^2.2.1", - "electron-mocha": "^6.0.4", - "enzyme": "^3.2.0", - "enzyme-adapter-react-16": "^1.1.0", - "eslint": "^4.19.1", - "eslint-config-prettier": "^2.9.0", - "eslint-plugin-flowtype": "^2.50.0", - "eslint-plugin-react": "^7.10.0", - "flow-bin": "^0.78.0", - "flow-typed": "^2.5.1", - "mock-socket": "^8.0.2", - "npm-run-all": "^4.0.1", - "prettier": "1.14.0", - "rimraf": "^2.5.4" - }, - "scripts": { - "android": "react-native run-android", - "postinstall": "electron-builder install-app-deps", - "develop": "cross-env BABEL_ENV=electron npm run private:compile -- --source-maps true && run-p -r private:watch private:serve", - "test": "cross-env BABEL_ENV=electron electron-mocha --renderer -R spec --require babel-core/register --require-main test/setup/main.js --preload test/setup/renderer.js test/*.spec.js test/**/*.spec.js", - "lint": "eslint --no-ignore scripts app test *.js", - "format": "npm run private:format -- --write", - "check-format": "npm run private:format -- --list-different", - "flow": "flow", - "pack:mac": "cross-env BABEL_ENV=electron run-s private:clean private:compile private:build:mac private:postbuild:mac", - "pack:win": "cross-env BABEL_ENV=electron run-s private:clean private:compile private:build:win", - "pack:linux": "cross-env BABEL_ENV=electron run-s private:clean private:compile private:build:linux", - "private:build:mac": "npm run private:build -- --mac", - "private:postbuild:mac": "rimraf ./dist/mac", - "private:build:win": "npm run private:build -- --win", - "private:build:linux": "npm run private:build -- --linux", - "private:build": "electron-builder", - "private:watch": "cross-env BABEL_ENV=electron npm run private:compile -- --source-maps true --watch --skip-initial-build", - "private:serve": "cross-env BABEL_ENV=electron babel-node scripts/serve.js", - "private:compile": "babel app/ --copy-files --out-dir build", - "private:clean": "rimraf build", - "private:format": "cross-env prettier 'app/**/*.js' 'test/**/*.js' 'scripts/*.js'" - } -} diff --git a/prepare_release.sh b/prepare_release.sh index 032e6a55be..814e82de37 100755 --- a/prepare_release.sh +++ b/prepare_release.sh @@ -30,10 +30,10 @@ if [[ $(grep $VERSION CHANGELOG.md) == "" ]]; then fi echo "Updating version in metadata files..." -SEMVER_VERSION=`echo $VERSION | sed -re 's/($|-.*)/.0\1/g'` -sed -i -re "s/\"version\": \"[^\"]+\",/\"version\": \"$SEMVER_VERSION\",/g" \ - package.json -sed -i -re "s/^version = \"[^\"]+\"\$/version = \"$SEMVER_VERSION\"/g" \ +SEMVER_VERSION=`echo $VERSION | sed -Ee 's/($|-.*)/.0\1/g'` +sed -i.bak -Ee "s/\"version\": \"[^\"]+\",/\"version\": \"$SEMVER_VERSION\",/g" \ + gui/packages/desktop/package.json +sed -i.bak -Ee "s/^version = \"[^\"]+\"\$/version = \"$SEMVER_VERSION\"/g" \ mullvad-daemon/Cargo.toml \ mullvad-cli/Cargo.toml \ mullvad-problem-report/Cargo.toml @@ -42,8 +42,8 @@ echo "Syncing Cargo.lock with new version numbers" cargo update --package mullvad-daemon echo "Commiting metadata changes to git..." -git commit -S -m "Updating version in package.json" \ - package.json \ +git commit -S -m "Updating version in package files" \ + gui/packages/desktop/package.json \ mullvad-daemon/Cargo.toml \ mullvad-cli/Cargo.toml \ mullvad-problem-report/Cargo.toml \ diff --git a/rn-cli.config.js b/rn-cli.config.js deleted file mode 100644 index dfc815ae30..0000000000 --- a/rn-cli.config.js +++ /dev/null @@ -1,10 +0,0 @@ -const path = require('path'); - -module.exports = { - getProjectRoots: () => { - const roots = []; - roots.push(__dirname); - roots.push(path.resolve(__dirname, './app')); - return roots; - }, -}; diff --git a/test/components/AccountInput.spec.js b/test/components/AccountInput.spec.js deleted file mode 100644 index 2f6ead1b45..0000000000 --- a/test/components/AccountInput.spec.js +++ /dev/null @@ -1,183 +0,0 @@ -// @flow - -import { createKeyEvent } from '../helpers/dom-events'; -import * as React from 'react'; -import { shallow } from 'enzyme'; -import AccountInput from '../../app/components/AccountInput'; -import type { AccountInputProps } from '../../app/components/AccountInput'; - -describe('components/AccountInput', () => { - const getInputRef = (component) => { - const node = getComponent(component, 'AccountInput'); - return node; - }; - - const render = (mergeProps: $Shape<AccountInputProps>) => { - const defaultProps: AccountInputProps = { - value: '', - onEnter: null, - onChange: null, - }; - const props = Object.assign({}, defaultProps, mergeProps); - return shallow(<AccountInput {...props} />); - }; - - it('should call onEnter', (done) => { - const component = render({ - onEnter: () => done(), - }); - keyPress(getInputRef(component), createKeyEvent('Enter')); - }); - - it('should call onChange', (done) => { - const component = render({ - onChange: (val) => { - expect(val).to.be.equal('1'); - done(); - }, - }); - keyPress(getInputRef(component), createKeyEvent('1')); - }); - - it('should format input properly', () => { - const cases = [ - '1111111111111', - '1111 1111 1111', - '1111 1111 111', - '1111 1111 11', - '1111 1111 1', - '1111 1111', - '1111 111', - '1111 11', - '1111 1', - '1111', - '111', - '11', - '1', - '', - ]; - - for (const value of cases) { - const component = render({ value }); - expect(getInputRef(component).prop('value')).to.be.equal(value); - } - }); - - it('should remove last character', (done) => { - const component = render({ - value: '1234', - onChange: (val) => { - expect(val).to.be.equal('123'); - done(); - }, - }); - keyPress(getInputRef(component), createKeyEvent('Backspace')); - }); - - it('should remove first character', (done) => { - const component = render({ - value: '1234', - onChange: (val) => { - expect(val).to.be.equal('234'); - done(); - }, - }); - component.setState({ selectionRange: [1, 1] }, () => { - keyPress(getInputRef(component), createKeyEvent('Backspace')); - }); - }); - - it('should remove all characters', (done) => { - const component = render({ - value: '12345678', - onChange: (val) => { - expect(val).to.be.empty; - done(); - }, - }); - component.setState({ selectionRange: [0, 8] }, () => { - keyPress(getInputRef(component), createKeyEvent('Backspace')); - }); - }); - - it('should remove selection', (done) => { - const component = render({ - value: '1234 5678 9999', - onChange: (val) => { - expect(val).to.be.equal('12349999'); - done(); - }, - }); - component.setState({ selectionRange: [4, 8] }, () => { - keyPress(getInputRef(component), createKeyEvent('Backspace')); - }); - }); - - it('should replace selection', (done) => { - const component = render({ - value: '0000', - }); - - component.setState({ selectionRange: [1, 3] }, () => { - keyPress(getInputRef(component), createKeyEvent('1')); - - component.setState({}, () => { - expect(component.state().value).to.be.equal('010'); - expect(component.state().selectionRange).to.deep.equal([2, 2]); - done(); - }); - }); - }); - - it('should keep selection in the back', (done) => { - const component = render({ value: '' }); - - for (let i = 0; i < 12; i++) { - keyPress(getInputRef(component), createKeyEvent('1')); - } - - component.setState({}, () => { - expect(component.state().value).to.be.equal('111111111111'); - expect(component.state().selectionRange).to.deep.equal([12, 12]); - done(); - }); - }); - - it('should advance selection on insertion', (done) => { - const component = render({ - value: '0000', - }); - component.setState({ selectionRange: [1, 1] }, () => { - keyPress(getInputRef(component), createKeyEvent('1')); - - component.setState({}, () => { - expect(component.state().value).to.be.equal('01000'); - expect(component.state().selectionRange).to.deep.equal([2, 2]); - done(); - }); - }); - }); - - it('should not do anything when nothing to remove', (done) => { - const component = render({ - value: '0000', - }); - component.setState({ selectionRange: [0, 0] }, () => { - keyPress(getInputRef(component), createKeyEvent('Backspace')); - - component.setState({}, () => { - expect(component.state().value).to.be.equal('0000'); - expect(component.state().selectionRange).to.deep.equal([0, 0]); - done(); - }); - }); - }); -}); - -function getComponent(container, testName) { - return container.findWhere((n) => n.prop('testName') === testName); -} - -function keyPress(component, key) { - component.prop('onKeyPress')(key); -} diff --git a/test/helpers/dom-events.js b/test/helpers/dom-events.js deleted file mode 100644 index 2d8b4be3cf..0000000000 --- a/test/helpers/dom-events.js +++ /dev/null @@ -1,22 +0,0 @@ -// @flow -const keycodes = { - '1': { which: 49, keyCode: 49 }, - '2': { which: 50, keyCode: 50 }, - '3': { which: 51, keyCode: 51 }, - '4': { which: 52, keyCode: 52 }, - '5': { which: 53, keyCode: 53 }, - '6': { which: 54, keyCode: 54 }, - '7': { which: 55, keyCode: 55 }, - '8': { which: 56, keyCode: 56 }, - '9': { which: 57, keyCode: 57 }, - '0': { which: 48, keyCode: 48 }, - Tab: { which: 9, keyCode: 9 }, - Enter: { which: 13, keyCode: 13 }, - Backspace: { which: 8, keyCode: 8 }, -}; - -export type Keycode = $Keys<typeof keycodes>; - -export function createKeyEvent(key: Keycode): Object { - return Object.assign({}, { key }, keycodes[key], { preventDefault: () => {} }); //preventDefault is needed to mock key events for onKeyPress in AccountInput -} |
