From 080ce32f135de903562d46ed0504ebd833640399 Mon Sep 17 00:00:00 2001 From: Karl Herrick Date: Sun, 22 Sep 2019 16:33:43 -0400 Subject: [PATCH] use LitElement and Redux --- .babelrc | 24 +- .editorconfig | 23 +- .eslintignore | 4 + .eslintrc | 23 +- .gitignore | 21 +- .nojekyll | 0 README.md | 114 +- bin/build_templates | 34 - bin/npm_check | 19 - ...up.config.custom.elements.shady.dom-esm.js | 41 - ...nfig.custom.elements.shady.dom-systemjs.js | 43 - config/rollup.config.ie11-iife-ssr.js | 42 - config/rollup.config.ie11-iife.js | 36 - config/rollup.config.ie11-systemjs.js | 41 - config/rollup.config.no.polyfills-esm.js | 41 - config/rollup.config.no.polyfills-iife.js | 37 - config/rollup.config.no.polyfills.js | 42 - dev/index.html | 50 + assets/favicon.ico => favicon.ico | Bin fixtures/current.js | 46 - fixtures/forecast.js | 356 - icons/icon-128x128.png | Bin 0 -> 6260 bytes icons/icon-144x144.png | Bin 0 -> 8060 bytes icons/icon-152x152.png | Bin 0 -> 8545 bytes icons/icon-192x192.png | Bin 0 -> 12681 bytes icons/icon-384x384.png | Bin 0 -> 32951 bytes icons/icon-512x512.png | Bin 0 -> 27182 bytes icons/icon-72x72.png | Bin 0 -> 3306 bytes icons/icon-96x96.png | Bin 0 -> 5044 bytes index.html | 43 + .../esm/main.js | 1 - .../esm/registerServiceWorker.js | 1 - .../esm/utilities-d21591dc.js | 1 - .../esm/utilities.js | 1 - .../esm/workbox-config.js | 1 - .../esm/x-current.js | 1 - .../esm/x-forecast-item.js | 1 - .../esm/x-forecast.js | 1 - .../esm/x-weather-bottom.js | 1 - .../esm/x-weather-middle.js | 1 - .../esm/x-weather-top.js | 1 - .../esm/x-weather.js | 1 - .../favicon.ico | Bin 34494 -> 0 bytes .../index.html | 76 - .../registerServiceWorker.js | 96 - .../service-worker.js | 104 - .../favicon.ico | Bin 34494 -> 0 bytes .../index.html | 72 - .../systemjs/main.js | 1 - .../systemjs/registerServiceWorker.js | 1 - .../systemjs/utilities-4ab35663.js | 1 - .../systemjs/utilities.js | 1 - .../systemjs/workbox-config.js | 1 - .../systemjs/x-current.js | 1 - .../systemjs/x-forecast-item.js | 1 - .../systemjs/x-forecast.js | 1 - .../systemjs/x-weather-bottom.js | 1 - .../systemjs/x-weather-middle.js | 1 - .../systemjs/x-weather-top.js | 1 - .../systemjs/x-weather.js | 1 - lib/build-ie11-iife/favicon.ico | Bin 34494 -> 0 bytes lib/build-ie11-iife/iife/main.js | 1 - lib/build-ie11-iife/index.html | 108 - lib/build-ie11-iife/registerServiceWorker.js | 96 - lib/build-ie11-iife/service-worker.js | 60 - lib/build-ie11-iife/workbox-config.js | 98 - lib/build-ie11-systemjs/favicon.ico | Bin 34494 -> 0 bytes lib/build-ie11-systemjs/index.html | 102 - lib/build-ie11-systemjs/systemjs/main.js | 1 - .../systemjs/registerServiceWorker.js | 1 - .../systemjs/utilities-4ab35663.js | 1 - lib/build-ie11-systemjs/systemjs/utilities.js | 1 - .../systemjs/workbox-config.js | 1 - lib/build-ie11-systemjs/systemjs/x-current.js | 1 - .../systemjs/x-forecast-item.js | 1 - .../systemjs/x-forecast.js | 1 - .../systemjs/x-weather-bottom.js | 1 - .../systemjs/x-weather-middle.js | 1 - .../systemjs/x-weather-top.js | 1 - lib/build-ie11-systemjs/systemjs/x-weather.js | 1 - lib/build-no-polyfills-esm/esm/main.js | 1 - .../esm/registerServiceWorker.js | 1 - .../esm/utilities-d21591dc.js | 1 - lib/build-no-polyfills-esm/esm/utilities.js | 1 - .../esm/workbox-config.js | 1 - lib/build-no-polyfills-esm/esm/x-current.js | 1 - .../esm/x-forecast-item.js | 1 - lib/build-no-polyfills-esm/esm/x-forecast.js | 1 - .../esm/x-weather-bottom.js | 1 - .../esm/x-weather-middle.js | 1 - .../esm/x-weather-top.js | 1 - lib/build-no-polyfills-esm/esm/x-weather.js | 1 - lib/build-no-polyfills-esm/favicon.ico | Bin 34494 -> 0 bytes lib/build-no-polyfills-esm/index.html | 75 - lib/build-no-polyfills-esm/service-worker.js | 104 - lib/build-no-polyfills-esm/workbox-config.js | 98 - lib/build-no-polyfills-iife/favicon.ico | Bin 34494 -> 0 bytes lib/build-no-polyfills-iife/iife/main.js | 1 - lib/build-no-polyfills-iife/index.html | 77 - .../registerServiceWorker.js | 96 - lib/build-no-polyfills-iife/service-worker.js | 60 - lib/build-no-polyfills-iife/workbox-config.js | 98 - manifest.json | 55 + package-lock.json | 14765 +++++----------- package.json | 124 +- rollup.config.js | 43 + .../registerServiceWorker.js | 2 +- .../workbox-config.js | 26 +- src/XWeather.js | 63 + .../thunks/getCurrentWeather.js | 53 + .../currentWeather/updateCurrentWeather.js | 3 + .../thunks/getForecastWeather.js | 44 + .../forecastWeather/updateForecastWeather.js | 3 + src/actions/creators/index.js | 4 + src/actions/types.js | 6 + src/components/XDateTime.js | 39 + src/components/XWeatherItem.js | 61 + src/components/XWeatherItemTemperature.js | 47 + src/components/layout/x-weather-bottom.js | 48 - src/components/layout/x-weather-middle.js | 50 - src/components/layout/x-weather-top.js | 45 - src/components/x-current.js | 244 - src/components/x-forecast-item.js | 100 - src/components/x-forecast.js | 211 - src/components/x-weather.js | 140 - src/containers/XCurrent.js | 57 + src/containers/XCurrentTemperature.js | 74 + src/containers/XForecast.js | 81 + src/defineCustomElements.js | 26 + src/dispatchers/dispatchers.js | 25 + src/globalStyles.css | 4 + src/index.custom.elements.shady.dom-esm.html | 76 - ...ex.custom.elements.shady.dom-systemjs.html | 72 - src/index.ie11-iife.html | 108 - src/index.ie11-systemjs.html | 102 - src/index.no.polyfills-esm.html | 75 - src/index.no.polyfills-iife.html | 77 - src/main.js | 15 - src/module.js | 5 + src/reducers/initialState.js | 387 + src/reducers/root.js | 7 + src/reducers/utilities.js | 2 + src/reducers/weather/current.js | 20 + src/reducers/weather/forecast.js | 20 + src/reducers/weather/index.js | 9 + src/server.js | 153 - src/service-worker/registerServiceWorker.js | 96 - src/service-worker/workbox-config.js | 98 - src/store/configureStore.js | 16 + src/store/middleware.js | 9 + src/utilities.js | 181 +- tests/jest/__tests__/utilities.js | 122 - tests/jest/jest.json | 11 - types/index.d.ts | 9 + 154 files changed, 6076 insertions(+), 14587 deletions(-) create mode 100644 .eslintignore create mode 100644 .nojekyll delete mode 100755 bin/build_templates delete mode 100755 bin/npm_check delete mode 100644 config/rollup.config.custom.elements.shady.dom-esm.js delete mode 100644 config/rollup.config.custom.elements.shady.dom-systemjs.js delete mode 100644 config/rollup.config.ie11-iife-ssr.js delete mode 100644 config/rollup.config.ie11-iife.js delete mode 100644 config/rollup.config.ie11-systemjs.js delete mode 100644 config/rollup.config.no.polyfills-esm.js delete mode 100644 config/rollup.config.no.polyfills-iife.js delete mode 100644 config/rollup.config.no.polyfills.js create mode 100644 dev/index.html rename assets/favicon.ico => favicon.ico (100%) delete mode 100644 fixtures/current.js delete mode 100644 fixtures/forecast.js create mode 100644 icons/icon-128x128.png create mode 100644 icons/icon-144x144.png create mode 100644 icons/icon-152x152.png create mode 100644 icons/icon-192x192.png create mode 100644 icons/icon-384x384.png create mode 100644 icons/icon-512x512.png create mode 100644 icons/icon-72x72.png create mode 100644 icons/icon-96x96.png create mode 100644 index.html delete mode 100644 lib/build-custom-elements-shady-dom-esm/esm/main.js delete mode 100644 lib/build-custom-elements-shady-dom-esm/esm/registerServiceWorker.js delete mode 100644 lib/build-custom-elements-shady-dom-esm/esm/utilities-d21591dc.js delete mode 100644 lib/build-custom-elements-shady-dom-esm/esm/utilities.js delete mode 100644 lib/build-custom-elements-shady-dom-esm/esm/workbox-config.js delete mode 100644 lib/build-custom-elements-shady-dom-esm/esm/x-current.js delete mode 100644 lib/build-custom-elements-shady-dom-esm/esm/x-forecast-item.js delete mode 100644 lib/build-custom-elements-shady-dom-esm/esm/x-forecast.js delete mode 100644 lib/build-custom-elements-shady-dom-esm/esm/x-weather-bottom.js delete mode 100644 lib/build-custom-elements-shady-dom-esm/esm/x-weather-middle.js delete mode 100644 lib/build-custom-elements-shady-dom-esm/esm/x-weather-top.js delete mode 100644 lib/build-custom-elements-shady-dom-esm/esm/x-weather.js delete mode 100644 lib/build-custom-elements-shady-dom-esm/favicon.ico delete mode 100644 lib/build-custom-elements-shady-dom-esm/index.html delete mode 100644 lib/build-custom-elements-shady-dom-esm/registerServiceWorker.js delete mode 100644 lib/build-custom-elements-shady-dom-esm/service-worker.js delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/favicon.ico delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/index.html delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/systemjs/main.js delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/systemjs/registerServiceWorker.js delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/systemjs/utilities-4ab35663.js delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/systemjs/utilities.js delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/systemjs/workbox-config.js delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/systemjs/x-current.js delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/systemjs/x-forecast-item.js delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/systemjs/x-forecast.js delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather-bottom.js delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather-middle.js delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather-top.js delete mode 100644 lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather.js delete mode 100644 lib/build-ie11-iife/favicon.ico delete mode 100644 lib/build-ie11-iife/iife/main.js delete mode 100644 lib/build-ie11-iife/index.html delete mode 100644 lib/build-ie11-iife/registerServiceWorker.js delete mode 100644 lib/build-ie11-iife/service-worker.js delete mode 100644 lib/build-ie11-iife/workbox-config.js delete mode 100644 lib/build-ie11-systemjs/favicon.ico delete mode 100644 lib/build-ie11-systemjs/index.html delete mode 100644 lib/build-ie11-systemjs/systemjs/main.js delete mode 100644 lib/build-ie11-systemjs/systemjs/registerServiceWorker.js delete mode 100644 lib/build-ie11-systemjs/systemjs/utilities-4ab35663.js delete mode 100644 lib/build-ie11-systemjs/systemjs/utilities.js delete mode 100644 lib/build-ie11-systemjs/systemjs/workbox-config.js delete mode 100644 lib/build-ie11-systemjs/systemjs/x-current.js delete mode 100644 lib/build-ie11-systemjs/systemjs/x-forecast-item.js delete mode 100644 lib/build-ie11-systemjs/systemjs/x-forecast.js delete mode 100644 lib/build-ie11-systemjs/systemjs/x-weather-bottom.js delete mode 100644 lib/build-ie11-systemjs/systemjs/x-weather-middle.js delete mode 100644 lib/build-ie11-systemjs/systemjs/x-weather-top.js delete mode 100644 lib/build-ie11-systemjs/systemjs/x-weather.js delete mode 100644 lib/build-no-polyfills-esm/esm/main.js delete mode 100644 lib/build-no-polyfills-esm/esm/registerServiceWorker.js delete mode 100644 lib/build-no-polyfills-esm/esm/utilities-d21591dc.js delete mode 100644 lib/build-no-polyfills-esm/esm/utilities.js delete mode 100644 lib/build-no-polyfills-esm/esm/workbox-config.js delete mode 100644 lib/build-no-polyfills-esm/esm/x-current.js delete mode 100644 lib/build-no-polyfills-esm/esm/x-forecast-item.js delete mode 100644 lib/build-no-polyfills-esm/esm/x-forecast.js delete mode 100644 lib/build-no-polyfills-esm/esm/x-weather-bottom.js delete mode 100644 lib/build-no-polyfills-esm/esm/x-weather-middle.js delete mode 100644 lib/build-no-polyfills-esm/esm/x-weather-top.js delete mode 100644 lib/build-no-polyfills-esm/esm/x-weather.js delete mode 100644 lib/build-no-polyfills-esm/favicon.ico delete mode 100644 lib/build-no-polyfills-esm/index.html delete mode 100644 lib/build-no-polyfills-esm/service-worker.js delete mode 100644 lib/build-no-polyfills-esm/workbox-config.js delete mode 100644 lib/build-no-polyfills-iife/favicon.ico delete mode 100644 lib/build-no-polyfills-iife/iife/main.js delete mode 100644 lib/build-no-polyfills-iife/index.html delete mode 100644 lib/build-no-polyfills-iife/registerServiceWorker.js delete mode 100644 lib/build-no-polyfills-iife/service-worker.js delete mode 100644 lib/build-no-polyfills-iife/workbox-config.js create mode 100644 manifest.json create mode 100644 rollup.config.js rename {lib/build-no-polyfills-esm => service-worker}/registerServiceWorker.js (98%) rename {lib/build-custom-elements-shady-dom-esm => service-worker}/workbox-config.js (85%) create mode 100644 src/XWeather.js create mode 100644 src/actions/creators/currentWeather/thunks/getCurrentWeather.js create mode 100644 src/actions/creators/currentWeather/updateCurrentWeather.js create mode 100644 src/actions/creators/forecastWeather/thunks/getForecastWeather.js create mode 100644 src/actions/creators/forecastWeather/updateForecastWeather.js create mode 100644 src/actions/creators/index.js create mode 100644 src/actions/types.js create mode 100644 src/components/XDateTime.js create mode 100644 src/components/XWeatherItem.js create mode 100644 src/components/XWeatherItemTemperature.js delete mode 100644 src/components/layout/x-weather-bottom.js delete mode 100644 src/components/layout/x-weather-middle.js delete mode 100644 src/components/layout/x-weather-top.js delete mode 100644 src/components/x-current.js delete mode 100644 src/components/x-forecast-item.js delete mode 100644 src/components/x-forecast.js delete mode 100644 src/components/x-weather.js create mode 100644 src/containers/XCurrent.js create mode 100644 src/containers/XCurrentTemperature.js create mode 100644 src/containers/XForecast.js create mode 100644 src/defineCustomElements.js create mode 100644 src/dispatchers/dispatchers.js create mode 100644 src/globalStyles.css delete mode 100644 src/index.custom.elements.shady.dom-esm.html delete mode 100644 src/index.custom.elements.shady.dom-systemjs.html delete mode 100644 src/index.ie11-iife.html delete mode 100644 src/index.ie11-systemjs.html delete mode 100644 src/index.no.polyfills-esm.html delete mode 100644 src/index.no.polyfills-iife.html delete mode 100644 src/main.js create mode 100644 src/module.js create mode 100644 src/reducers/initialState.js create mode 100644 src/reducers/root.js create mode 100644 src/reducers/utilities.js create mode 100644 src/reducers/weather/current.js create mode 100644 src/reducers/weather/forecast.js create mode 100644 src/reducers/weather/index.js delete mode 100644 src/server.js delete mode 100644 src/service-worker/registerServiceWorker.js delete mode 100644 src/service-worker/workbox-config.js create mode 100644 src/store/configureStore.js create mode 100644 src/store/middleware.js delete mode 100644 tests/jest/__tests__/utilities.js delete mode 100644 tests/jest/jest.json create mode 100644 types/index.d.ts diff --git a/.babelrc b/.babelrc index 531fe97..96e28d0 100644 --- a/.babelrc +++ b/.babelrc @@ -1,16 +1,16 @@ - { + "plugins": [ + "@babel/plugin-syntax-dynamic-import", + "@babel/plugin-proposal-object-rest-spread" + ], "presets": [ - ["babel-preset-env", { - "modules": false, - "targets": { - "browsers": "ie >= 11" + [ + "@babel/preset-env", + { + "targets": { + "esmodules": true + } } - }] - ], - "env": { - "test": { - "presets": [["babel-preset-env"]] - } - } + ] + ] } diff --git a/.editorconfig b/.editorconfig index c470c54..c8c2d2a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,8 +1,29 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + root = true -[**] + +[*] + +# Change these settings to your own preference indent_style = space indent_size = 2 + +# We recommend you to keep these unchanged end_of_line = lf +charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[*.json] +indent_size = 2 + +[*.{html,js,md}] +block_comment_start = /** +block_comment = * +block_comment_end = */ diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..2d2b712 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +/dist + +/dev/index.html +/index.html diff --git a/.eslintrc b/.eslintrc index 2dc8a3f..d3dc148 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,27 +1,16 @@ { - "extends": "eslint:recommended", - "env": { - "es6": true, - "browser": true - }, - "globals": { - "__dirname": true, - "process": true - }, "parserOptions": { + "ecmaVersion": 2018, "sourceType": "module" }, + "extends": ["plugin:prettier/recommended"], "rules": { - "eol-last": [ - "error", - "always" - ], - "no-multiple-empty-lines": [ + "prettier/prettier": [ "error", { - "max": 1, - "maxBOF": 1, - "maxEOF": 1 + "singleQuote": true, + "semi": false, + "printWidth": 120 } ] } diff --git a/.gitignore b/.gitignore index 7d3a1a4..cedb689 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,16 @@ -/bundle/ -/dist/ -/node_modules -/src/index.html -/tests/jest/coverage +## editors +/.vscode + +## system files +.DS_Store + +## npm +/node_modules/ +/npm-debug.log + +## temp folders +/.tmp/ + +## built files +/dist +/service-worker.js diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index 7fedc65..a203b22 100644 --- a/README.md +++ b/README.md @@ -1,85 +1,71 @@ -x-weather -====== +# \ ## About - * A collection of [web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components) implementing portions of the [OpenWeatherMap API](https://openweathermap.org/api). +A collection of [web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components) implementing portions of the [OpenWeatherMap API](https://openweathermap.org/api). - - - + + + -## Installation - -### Add Internet Explorer 11 compatible polyfills - -```html -
- +## Usage - - -
+### Static Import Example: - - +Install: +```bash +npm i x-weather ``` -### Load and register the web component in the CustomElementRegistry +Render: ```html - -``` + + + + + +``` -* After installation and [signing up for an API key](https://home.openweathermap.org/users/sign_up), use the custom element: +### Dynamic Import Example: +Render: ```html + - - - + + ``` -## Additional information +## Development +```bash +npm run start +``` + +## Lint +```bash +npm run lint +``` -* Other builds and examples (including basic service workers) can be found inside the [lib folder](https://github.com/kherrick/x-weather/tree/master/lib) -* The package can be installed and imported by npm: - - `npm i x-weather` - - `import 'x-weather/lib/build-no-polyfills-esm/esm/main'` -* Building basics: - - Site - * `NODE_ENV=production npm run build` - - Module - * `NODE_ENV=production npm run bundle-modules` - - Template - * `npm run build-templates API-KEY SERVICE-WORKER-URL` +## Build +```bash +npm run build +``` diff --git a/bin/build_templates b/bin/build_templates deleted file mode 100755 index e705577..0000000 --- a/bin/build_templates +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash - -readonly PROJECT_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/.." - -cd "${PROJECT_ROOT}" || exit 1 - -readonly PUBLIC_URL='NOT_THE_REAL_PUBLIC_URL' -readonly API_KEY='NOT_A_REAL_API_KEY' - -if [[ -z "$1" ]]; then - printf 'You must supply an "api key" as the first argument.\n\n' - - exit 1 -fi - -if [[ -z "$2" ]]; then - printf 'You must supply a "public url", e.g. https://example.com/ as the second argument.\n\n' - - exit 1 -fi - -# replace in dist folder -if [[ -d dist ]]; then - find dist -iname "*index.html*" -exec sed -i.bak "s#${API_KEY}#$1#g" {} \; - find dist -iname "*index.html*" -exec sed -i.bak "s#${PUBLIC_URL}#$2#g" {} \; - find dist -iname "*.bak" -exec rm -f {} \; -fi - -# replace in lib folder -if [[ -d lib ]]; then - find lib -iname "*index.html*" -exec sed -i.bak "s#${API_KEY}#$1#g" {} \; - find lib -iname "*index.html*" -exec sed -i.bak "s#${PUBLIC_URL}#$2#g" {} \; - find lib -iname "*.bak" -exec rm -f {} \; -fi diff --git a/bin/npm_check b/bin/npm_check deleted file mode 100755 index 3a8426e..0000000 --- a/bin/npm_check +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -readonly PROJECT_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/.." - -cd "${PROJECT_ROOT}" || exit 1 - -declare NPM_INSTALL_EXIT_CODE - -if [[ -f "./package.json" ]] && [[ ! -d "./node_modules" ]]; then - npm install - - NPM_INSTALL_EXIT_CODE=$? -fi - -if [[ $NPM_INSTALL_EXIT_CODE -ne 0 ]]; then - printf 'Problems encountered installing dependencies.\n' - - exit $NPM_INSTALL_EXIT_CODE -fi diff --git a/config/rollup.config.custom.elements.shady.dom-esm.js b/config/rollup.config.custom.elements.shady.dom-esm.js deleted file mode 100644 index 5741827..0000000 --- a/config/rollup.config.custom.elements.shady.dom-esm.js +++ /dev/null @@ -1,41 +0,0 @@ -import { terser } from "rollup-plugin-terser"; - -import babel from 'rollup-plugin-babel' -import glob from 'glob' -import nodeResolve from 'rollup-plugin-node-resolve' - -const input = glob.sync(`${__dirname}/../src/**/*.js`, { ignore: `**/server.js` }) - -export default [ - { - input, - output: { - dir: 'dist/esm', - format: 'es', - sourcemap: process.env.NODE_ENV !== 'production' - }, - plugins: [ - nodeResolve({ jsnext: true }), - babel({ - 'exclude': 'node_modules/**', - 'presets': [ - [ - 'env', - { - 'targets': "last 1 major versions", - 'modules': false - } - ] - ], - 'plugins': [ - 'external-helpers', - 'transform-custom-element-classes', - 'transform-es2015-classes' - ] - }), - (process.env.NODE_ENV == 'production' && terser()) - ], - experimentalCodeSplitting: true, - experimentalDynamicImport: true - } -] diff --git a/config/rollup.config.custom.elements.shady.dom-systemjs.js b/config/rollup.config.custom.elements.shady.dom-systemjs.js deleted file mode 100644 index 8767446..0000000 --- a/config/rollup.config.custom.elements.shady.dom-systemjs.js +++ /dev/null @@ -1,43 +0,0 @@ -import { uglify } from 'rollup-plugin-uglify' - -import babel from 'rollup-plugin-babel' -import glob from 'glob' -import nodeResolve from 'rollup-plugin-node-resolve' - -const input = glob.sync(`${__dirname}/../src/**/*.js`, { ignore: `**/server.js` }) - -export default [ - { - input, - output: { - dir: 'dist/systemjs', - format: 'system', - sourcemap: process.env.NODE_ENV !== 'production' - }, - plugins: [ - nodeResolve({ jsnext: true }), - babel({ - 'exclude': 'node_modules/**', - 'presets': [ - [ - 'env', - { - 'targets': { - 'ie': 11 - }, - 'modules': false - } - ] - ], - 'plugins': [ - 'external-helpers', - 'transform-custom-element-classes', - 'transform-es2015-classes' - ] - }), - (process.env.NODE_ENV == 'production' && uglify()) - ], - experimentalCodeSplitting: true, - experimentalDynamicImport: true - } -] diff --git a/config/rollup.config.ie11-iife-ssr.js b/config/rollup.config.ie11-iife-ssr.js deleted file mode 100644 index e7d8545..0000000 --- a/config/rollup.config.ie11-iife-ssr.js +++ /dev/null @@ -1,42 +0,0 @@ -import { uglify } from 'rollup-plugin-uglify' -import babel from 'rollup-plugin-babel' -import resolve from 'rollup-plugin-node-resolve' -import commonjs from 'rollup-plugin-commonjs' - -const banner = ` - var Express = require('express'); - var render = require('@skatejs/ssr'); - - require('@skatejs/ssr/register'); -` - -export default [ - { - input: 'src/server.js', - output: { - banner, - file: 'dist/server.js', - format: 'iife', - name: 'Main', - sourcemap: process.env.NODE_ENV !== 'production' - }, - plugins: [ - resolve({ - jsnext: true, - modulesOnly: true, - }), - babel({ - 'presets': [ - [ - 'stage-2', - ] - ], - 'plugins': [ - 'external-helpers' - ] - }), - commonjs(), - (process.env.NODE_ENV == 'production' && uglify()) - ] - } -] diff --git a/config/rollup.config.ie11-iife.js b/config/rollup.config.ie11-iife.js deleted file mode 100644 index 2b01f43..0000000 --- a/config/rollup.config.ie11-iife.js +++ /dev/null @@ -1,36 +0,0 @@ -import { uglify } from 'rollup-plugin-uglify' -import babel from 'rollup-plugin-babel' -import nodeResolve from 'rollup-plugin-node-resolve' - -export default [ - { - input: 'src/main.js', - output: { - file: 'dist/iife/main.js', - format: 'iife', - name: 'Main', - sourcemap: process.env.NODE_ENV !== 'production' - }, - plugins: [ - nodeResolve({ jsnext: true }), - babel({ - 'exclude': 'node_modules/**', - 'presets': [ - [ - 'env', - { - 'targets': { - 'ie': 11 - }, - 'modules': false - } - ] - ], - 'plugins': [ - 'external-helpers' - ] - }), - (process.env.NODE_ENV == 'production' && uglify()) - ] - } -] diff --git a/config/rollup.config.ie11-systemjs.js b/config/rollup.config.ie11-systemjs.js deleted file mode 100644 index 6ba8519..0000000 --- a/config/rollup.config.ie11-systemjs.js +++ /dev/null @@ -1,41 +0,0 @@ -import { uglify } from 'rollup-plugin-uglify' - -import babel from 'rollup-plugin-babel' -import glob from 'glob' -import nodeResolve from 'rollup-plugin-node-resolve' - -const input = glob.sync(`${__dirname}/../src/**/*.js`, { ignore: `**/server.js` }) - -export default [ - { - input, - output: { - dir: 'dist/systemjs', - format: 'system', - sourcemap: process.env.NODE_ENV !== 'production' - }, - plugins: [ - nodeResolve({ jsnext: true }), - babel({ - 'exclude': 'node_modules/**', - 'presets': [ - [ - 'env', - { - 'targets': { - 'ie': 11 - }, - 'modules': false - } - ] - ], - 'plugins': [ - 'external-helpers' - ] - }), - (process.env.NODE_ENV == 'production' && uglify()) - ], - experimentalCodeSplitting: true, - experimentalDynamicImport: true - } -] diff --git a/config/rollup.config.no.polyfills-esm.js b/config/rollup.config.no.polyfills-esm.js deleted file mode 100644 index e29dc5a..0000000 --- a/config/rollup.config.no.polyfills-esm.js +++ /dev/null @@ -1,41 +0,0 @@ -import { terser } from "rollup-plugin-terser"; - -import babel from 'rollup-plugin-babel' -import glob from 'glob' -import nodeResolve from 'rollup-plugin-node-resolve' - -const input = glob.sync(`${__dirname}/../src/**/*.js`, { ignore: `**/server.js` }) - -export default [ - { - input, - output: { - dir: 'dist/esm', - format: 'es', - sourcemap: process.env.NODE_ENV !== 'production' - }, - plugins: [ - nodeResolve({ jsnext: true }), - babel({ - 'exclude': 'node_modules/**', - 'presets': [ - [ - 'env', - { - 'targets': "> 5%", - 'modules': false - } - ] - ], - 'plugins': [ - 'external-helpers', - 'transform-custom-element-classes', - 'transform-es2015-classes' - ] - }), - (process.env.NODE_ENV == 'production' && terser()) - ], - experimentalCodeSplitting: true, - experimentalDynamicImport: true - } -] diff --git a/config/rollup.config.no.polyfills-iife.js b/config/rollup.config.no.polyfills-iife.js deleted file mode 100644 index 2e6c0e2..0000000 --- a/config/rollup.config.no.polyfills-iife.js +++ /dev/null @@ -1,37 +0,0 @@ -import { uglify } from 'rollup-plugin-uglify' - -import babel from 'rollup-plugin-babel' -import nodeResolve from 'rollup-plugin-node-resolve' - -export default [ - { - input: 'src/main.js', - output: { - file: 'dist/iife/main.js', - format: 'iife', - name: 'Main', - sourcemap: process.env.NODE_ENV !== 'production' - }, - plugins: [ - nodeResolve({ jsnext: true }), - babel({ - 'exclude': 'node_modules/**', - 'presets': [ - [ - 'env', - { - 'targets': "> 5%", - 'modules': false - } - ] - ], - 'plugins': [ - 'external-helpers', - 'transform-custom-element-classes', - 'transform-es2015-classes' - ] - }), - (process.env.NODE_ENV == 'production' && uglify()) - ] - } -] diff --git a/config/rollup.config.no.polyfills.js b/config/rollup.config.no.polyfills.js deleted file mode 100644 index 3d979a3..0000000 --- a/config/rollup.config.no.polyfills.js +++ /dev/null @@ -1,42 +0,0 @@ -import { terser } from "rollup-plugin-terser"; - -import babel from 'rollup-plugin-babel' -import glob from 'glob' -import nodeResolve from 'rollup-plugin-node-resolve' - -const input = glob.sync(`${__dirname}/../src/**/*.js`, { ignore: `**/server.js` }) - -export default [ - // ES module version, for modern browsers - { - input, - output: { - dir: 'dist/module', - format: 'es', - sourcemap: process.env.NODE_ENV !== 'production' - }, - plugins: [ - nodeResolve({ jsnext: true }), - babel({ - 'exclude': 'node_modules/**', - 'presets': [ - [ - 'env', - { - 'targets': "> 5%", - 'modules': false - } - ] - ], - 'plugins': [ - 'external-helpers', - 'transform-custom-element-classes', - 'transform-es2015-classes' - ] - }), - (process.env.NODE_ENV == 'production' && terser()) - ], - experimentalCodeSplitting: true, - experimentalDynamicImport: true - } -] diff --git a/dev/index.html b/dev/index.html new file mode 100644 index 0000000..9d4e8e0 --- /dev/null +++ b/dev/index.html @@ -0,0 +1,50 @@ + + + + + + + + + + + + + XWeather + + + +
+ + + + + diff --git a/assets/favicon.ico b/favicon.ico similarity index 100% rename from assets/favicon.ico rename to favicon.ico diff --git a/fixtures/current.js b/fixtures/current.js deleted file mode 100644 index 80d098c..0000000 --- a/fixtures/current.js +++ /dev/null @@ -1,46 +0,0 @@ -// https://openweathermap.org/current - -const currentWeatherFixture = { - "coord": { - "lon": -83.06, - "lat": 42.35 - }, - "weather": [ - { - "id": 500, - "main": "Rain", - "description": "light rain", - "icon": "10n" - } - ], - "base": "stations", - "main": { - "temp": 297.06, - "pressure": 1008, - "humidity": 78, - "temp_min": 295.15, - "temp_max": 299.15 - }, - "visibility": 24140, - "wind": { - "speed": 2.6, - "deg": 130 - }, - "clouds": { - "all": 75 - }, - "dt": 1532134800, - "sys": { - "type": 1, - "id": 3735, - "message": 0.0049, - "country": "US", - "sunrise": 1532168050, - "sunset": 1532221359 - }, - "id": 4990729, - "name": "Detroit", - "cod": 200 -} - -export default new Promise(resolve => resolve(currentWeatherFixture)) diff --git a/fixtures/forecast.js b/fixtures/forecast.js deleted file mode 100644 index d2bb710..0000000 --- a/fixtures/forecast.js +++ /dev/null @@ -1,356 +0,0 @@ -// https://openweathermap.org/forecast16 - -const forecastFixture = { - "city": { - "id": 4990729, - "name": "Detroit", - "coord": { - "lon": -83.0568, - "lat": 42.3487 - }, - "country": "US", - "population": 713777 - }, - "cod": "200", - "message": 12.6339847, - "cnt": 14, - "list": [ - { - "dt": 1540673816, - "temp": { - "day": 23.5, - "min": 20.53, - "max": 23.5, - "night": 20.53, - "eve": 23.5, - "morn": 23.5 - }, - "pressure": 999.33, - "humidity": 91, - "weather": [ - { - "id": 502, - "main": "Rain", - "description": "heavy intensity rain", - "icon": "10d" - } - ], - "speed": 5.82, - "deg": 178, - "clouds": 44, - "rain": 23.71 - }, { - "dt": 1532192400, - "temp": { - "day": 21.63, - "min": 20.1, - "max": 22.92, - "night": 20.26, - "eve": 20.1, - "morn": 20.54 - }, - "pressure": 999.22, - "humidity": 95, - "weather": [ - { - "id": 501, - "main": "Rain", - "description": "moderate rain", - "icon": "10d" - } - ], - "speed": 5.12, - "deg": 141, - "clouds": 92, - "rain": 6.86 - }, { - "dt": 1532278800, - "temp": { - "day": 19.57, - "min": 18.14, - "max": 21.3, - "night": 18.14, - "eve": 19.32, - "morn": 18.89 - }, - "pressure": 1002.96, - "humidity": 91, - "weather": [ - { - "id": 500, - "main": "Rain", - "description": "light rain", - "icon": "10d" - } - ], - "speed": 4.31, - "deg": 28, - "clouds": 92, - "rain": 0.21 - }, { - "dt": 1532365200, - "temp": { - "day": 26.19, - "min": 22.91, - "max": 26.59, - "night": 23.11, - "eve": 26.59, - "morn": 22.91 - }, - "pressure": 1003.55, - "humidity": 0, - "weather": [ - { - "id": 502, - "main": "Rain", - "description": "heavy intensity rain", - "icon": "10d" - } - ], - "speed": 5.64, - "deg": 74, - "clouds": 32, - "rain": 24.52 - }, { - "dt": 1532451600, - "temp": { - "day": 26.91, - "min": 23.23, - "max": 26.91, - "night": 23.23, - "eve": 25.47, - "morn": 23.8 - }, - "pressure": 1003.65, - "humidity": 0, - "weather": [ - { - "id": 501, - "main": "Rain", - "description": "moderate rain", - "icon": "10d" - } - ], - "speed": 3.49, - "deg": 132, - "clouds": 19, - "rain": 11.25 - }, { - "dt": 1532538000, - "temp": { - "day": 25.94, - "min": 22.49, - "max": 25.94, - "night": 22.49, - "eve": 25.08, - "morn": 23.55 - }, - "pressure": 1001.13, - "humidity": 0, - "weather": [ - { - "id": 502, - "main": "Rain", - "description": "heavy intensity rain", - "icon": "10d" - } - ], - "speed": 2, - "deg": 188, - "clouds": 23, - "rain": 21.25 - }, { - "dt": 1532624400, - "temp": { - "day": 26.59, - "min": 21.65, - "max": 26.76, - "night": 23.02, - "eve": 26.76, - "morn": 21.65 - }, - "pressure": 1004.49, - "humidity": 0, - "weather": [ - { - "id": 500, - "main": "Rain", - "description": "light rain", - "icon": "10d" - } - ], - "speed": 2.84, - "deg": 348, - "clouds": 0, - "rain": 0.68 - }, { - "dt": 1532710800, - "temp": { - "day": 27.34, - "min": 22.86, - "max": 27.34, - "night": 22.86, - "eve": 25.78, - "morn": 23.3 - }, - "pressure": 1007.89, - "humidity": 0, - "weather": [ - { - "id": 500, - "main": "Rain", - "description": "light rain", - "icon": "10d" - } - ], - "speed": 1.69, - "deg": 250, - "clouds": 23, - "rain": 2.6 - }, { - "dt": 1532797200, - "temp": { - "day": 26.01, - "min": 19.71, - "max": 26.01, - "night": 19.71, - "eve": 24.96, - "morn": 21.56 - }, - "pressure": 1005.95, - "humidity": 0, - "weather": [ - { - "id": 500, - "main": "Rain", - "description": "light rain", - "icon": "10d" - } - ], - "speed": 4.49, - "deg": 35, - "clouds": 71, - "rain": 2.08 - }, { - "dt": 1532883600, - "temp": { - "day": 26.3, - "min": 19.88, - "max": 26.3, - "night": 20.86, - "eve": 26, - "morn": 19.88 - }, - "pressure": 1008.02, - "humidity": 0, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "sky is clear", - "icon": "01d" - } - ], - "speed": 3.09, - "deg": 58, - "clouds": 0 - }, { - "dt": 1532970000, - "temp": { - "day": 26.96, - "min": 22.21, - "max": 26.96, - "night": 23.02, - "eve": 24.03, - "morn": 22.21 - }, - "pressure": 1004.36, - "humidity": 0, - "weather": [ - { - "id": 501, - "main": "Rain", - "description": "moderate rain", - "icon": "10d" - } - ], - "speed": 4.04, - "deg": 179, - "clouds": 88, - "rain": 5.8 - }, { - "dt": 1533056400, - "temp": { - "day": 27.75, - "min": 22.77, - "max": 27.75, - "night": 22.77, - "eve": 25.96, - "morn": 23.86 - }, - "pressure": 999.28, - "humidity": 0, - "weather": [ - { - "id": 500, - "main": "Rain", - "description": "light rain", - "icon": "10d" - } - ], - "speed": 5.31, - "deg": 249, - "clouds": 83, - "rain": 1.18 - }, { - "dt": 1533142800, - "temp": { - "day": 25.7, - "min": 21.4, - "max": 26.47, - "night": 22.16, - "eve": 26.47, - "morn": 21.4 - }, - "pressure": 1003.12, - "humidity": 0, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "sky is clear", - "icon": "01d" - } - ], - "speed": 4.54, - "deg": 303, - "clouds": 10 - }, { - "dt": 1533229200, - "temp": { - "day": 26.91, - "min": 21.67, - "max": 26.91, - "night": 21.67, - "eve": 25.54, - "morn": 23.67 - }, - "pressure": 995.44, - "humidity": 0, - "weather": [ - { - "id": 501, - "main": "Rain", - "description": "moderate rain", - "icon": "10d" - } - ], - "speed": 7.74, - "deg": 262, - "clouds": 37, - "rain": 4.32 - } - ] -} - -export default new Promise(resolve => resolve(forecastFixture)) diff --git a/icons/icon-128x128.png b/icons/icon-128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..f454e2f09ca584308357d5a4786c9edb6b5d0a5d GIT binary patch literal 6260 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 literal 0 HcmV?d00001 diff --git a/icons/icon-144x144.png b/icons/icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..07dca20cb8306ae36f5060a5021c2252d30af5cd GIT binary patch literal 8060 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 literal 0 HcmV?d00001 diff --git a/icons/icon-152x152.png b/icons/icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..ec55fcf67aba1e965a2ec2a20d28fd5178823383 GIT binary patch literal 8545 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 ZWS6Gr4lmX3d0}y4-W@k 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%0AQorLAYzzOA`?2w8>dq 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 Q3|B^|C}_wR$r}6pAC)6C0RR91 literal 0 HcmV?d00001 diff --git a/icons/icon-512x512.png b/icons/icon-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..2b23e1446aa3f5e66baa224c591746bb0b4d7c5f GIT binary patch literal 27182 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 Df31( zHleFAJOGYHFS6jxPham zyq-sFhh|2Sv9TT@vn4&gs_-s?1`F#WVtz65sodG?5K3jx-x!Cg@DmnbZ_EqRW(G51 zG@6nY*pokG7yG(T2+zo14%}QfAgHQ;Et1X=JF# zKoGHO+UWgIS@|_`6Y|m4)>a_7p`)R(Tp!5v1!v`$5xzI_RQ@yg%*IqT-_p_&IqQz! zfXc&%IQL8&US|iN|6V_+b)Jqym<5oaW;~we9kZY&(d?(2Mmh&97n~)uHJ&6yt;9I0|E(lD` zjLnDb+UFoe%n7x!<2mm|6?U#4vbW!lEbx2JJ0 zn{6*uA3pr-GT*Y*<4;|l#NT=E_fX+O`ca3CQBGwAS6jVFTLyh~#T31;mBi1qI0X}4 z=UVb3eTG9N^DF||fyLu`6_dg5m7d8M?CuHp6uISn}WTkrl#(KavT4hfG# zndbP=H^GX!ZSiBv>b=*KhT8X z>*_0%>&o5kzwVvh@6W9R7+awr+LMaSwc!^mPOlmI@XDOHpg-C}R!}T~90iM9COVm^~=sFf1@&AhEm?xS#44c-ok)cZeBZQcbJ#b4VJs<63{fT(9}eiHIsq8jroA%wRUfHy+qF44b(`!hZ*EuAjEt zMfX4j6zWjR&0=5mGOC)oI4BD1N)^j0F>Sk7#6lFySz1YRli;-BZX$6{ZULPjGgG@y zBsxAn;G}`K{1rZJo|}IaK2zgyJQrg68^Xp=bYdoF!jlM$#gW2d*h>x-F<7Z%%rm2x?rB|wt%@c1G?JY4c_zccw!h)zqTTEN%wBsWe+^$A z-8?oN3t@ixpAPft?XtC}>BN?|Zn6Q48t3QFpZEVb>gwsYI|(b0>w%8*^)H8rF{jt; z(a~?;hBc6OwkNH?p8GK@xWaVx1Pw~o@|V$(<&{qN({+p9uf+JdjNZRPgRvr)Pm*6@ z3}zdckj6YwX{^JK=B4r8ZH3!qWhRgkFa}=k^CmR*oGrPk)n%B6?d=KOPdEvQtQ%Wu z3u)aa2sXJP$ThC{6%%9LU6HrG|GTkFDfLf-;BT%hmJm1}iJG@aQsUi|hP{8i?~ zVv50a{`;!LJ+J@va z3{$&7m8_3b??tUnJuzCcdSL%P5j%zk|A_RV?dokA)RIWx;cm7=rhXCD?O9Pq0b}kq zC$Y|Zl0qEYVn6SoqJB9=c52s(_I*-~wEUC#{xd>6e9R$&M{Hp3W-8XycRxSBr_p49 zj167jzRH-6^88g5pt3lkXE$6iZ4t|6?6G@uS8h-0Fh&v*t}#*YSm0VL9a87@L)8WOcBifKNu&?L0f3 zWBWrW*`yMdYRko?lIK^%V*-J`!`oRtGUKsrA{W7IK+VIlIrUPnyMlbb&IP31Rus9n zyz%_Kqq{OYadV$L@%wxJd)?zIYl9CO9CEqoM67nk_<)@z7WM5KjAQq??#RlD46ux6EjVcFa^uN4|Ir#wcGZzgDST7{EE*|H=m0) zD8~b9iCB!g7UJJrS>Pj-+|{(+$gKQV=}HY3j77iERY#Ui*un=BTqV}9PT}G%qVusI?rN?V4U05m_1tjZ!+*>zD zTOJx<8!AFM*BKeb?;=tcT%1!mwre&q7k)+rGEX$)7{$SR)8ZFD@kvI%y(H1xezrVv z6GS5Ge}v61QrU91qaxg{V(%%LVx=^@q)kE&eRuWzLxu3XZ}%3PQE8An{hIt$xhjV1 z-h#sA@v6a4wWGK)ebvO?nfhh=1KQn|eP#dxKFaUNpE)$V>}t&!AreY4YfmjPtytQP zfxINHkCxn-r#^(9ioGc)xWCv-_D9HhEyU{N%4cDuT7Kc@B0up)2vcO7NoaP>bu@{5 zAc5)O^t+iK(lyT0p_REY5ZBg34QY4hks8YgOQfqTb0y)-B^3w*4W-Nj@BDw|>r&bT zp6{y`@HB_1UY}xqjcsMQ@jVQwaO*_z)X6ZSW@IV4Nnfep3Pkg(^9$SQ-(IdO>9cI@!g$2zHx}@ z$Ml4&lFOl9YGlgcuKx0tIbSg^Urm!0`p5=1I`Yb6fECe@GYBX!4O2Xok)fix{ncON zugGVXHJLrU8Bts8(FP%z<8KJpodv<3#v~$zXm}@w5>shcU%kh0qn%G+`4Zbit>Z1R zT`BxHURu=?7v-{RYoVL(QLg#rm}M;oA}yC&EPd%>*dsfcu?7j-;q1Do<#3NR3*;aY zQh+I^(qA!68fx+&)^)(J&TL$LYjhMc+$!t3knTA`1lsVpFLZ-bQ6cJn0si0l`wVIe;#3NAu*431YE9!Ns zFhTl#PLdL%f90({l-|44ZeoLP=`UUx7Cssh`%dQX`2>b2ZR>76U;HVUeQWox-^MXT z;;hcj#|H=n^1{K_xnq`2mHjFroO_CLoSlN(-5l_XU6$ia*Es$BXFXl9 zwB%OhM4M2dB-OZGZ$JliRLcf1wEeA}>qMCcy?N);2V4JgPvW*cd#^quf~{~`-G6#) zj)8eZdW*M+SKEJ;|4;89aw?YX;jd)!18skf1cfBL@EbfgLwmLT4gV0 zx&P26fkhe#z*b$MN|wq_T&Ud0*6_)=BMZBM%cbpPHNUp2Vz(V~WI`D_?i$+^S)bh~x9~W9^j-swa1BJ!2Tz(d=CM6_YqBhe2ceA~`Kx_Un6F z22PtTIe*+cPcwg|@SREc_};NmNLW11>nv%{*gB>fDFa}u zk~$;jH8!FezsbO#sm3p_a`RQ#&TC6BCn2kAb|pzZXl9<&-5sN`n>|!ls*k1SDH7{c`Vhr3if4Z$?^@fTSQUSPw z6mJxsqxe#tn{-<~LNIs&r>LJ)Ev5XqK=h~td45gamzn5n6mv&@3|*l)6}*23=2lN* ztJiw+BqxCa6v($?If|{j<1510WuB+`**;gX`7xgEkCMRmn)p7mw;bGbJa>bc%gX&r z@^rB~yF7SAMfU?gy_6Hz?fC7us|zx#>76UX=FOYEV{s<8ou!8}!Y{BXjUQU0TCgMn z#OUOmXJQ|B3B@vvBdWI!C0BisC8&25`}p3h5)p@Xf|frM2h#oKvFT?>>7r{MIbE+p zr7KyT;vb}kT0BAkkiNL^8Ec~2TKZ(`lEEmB_E^|y!$NtZD5088|GC@I(5uTzTcR508=OTc zX~M@`CVg~6+~09XndRe%=AF6{bY+v2MJ&vRE8OU=pZ)9aw&mvba`Y@iM(+4%bE3wHs1*?msPBsj3_@oh&fK*Ihl6p&Ne@1 zdPMk$!(kK*jd`2+sY;+C<(43o*!^S>TFGl7I|!;8^g((4vGqn2vXE^q#ZQF?BVkqRtZRRm4DDR01E z$r>%AZgyXqNCe;{-6hlN&e7{tj%EH!z>6XD8o9s4_SL#AQGrJygjh>8*R)YNmj3Ve z20`hr#b5G+-4&hd3yFI4Gp#JVf4G<>gIM2Dyc@E=pDw!Vv*BgTxV0uy4DzHgOt|z0qj$H46nlAH?LCU$-EUd7)4)bs49>T^mx^MexsB$bi1BSE_i+S zlGLe#D+-WGqzX{S@y8riB5pc_-RI-_{vrFot?FLVg=@Rey`CvL?;U)tWFqXO1opRW z@3!Hyn`d5kdSO4-61|4WqN&!u9KKfpEN5U=5jiOMA7 z`i+{?1brDECbGcCIxIubt@tR{_fhyS{Pd!xSZK7;ZV+kq1~hfrRJWs<+wV9iGvB%O zf2G4_8T(#{y1Tmr5^lVp%mW~a)YR0YFB_TzP;*0agjL((g)BP>yR(gScx0@^z8}OJ zT+l@8Ec=HKAAHaMeXH>Nr=yWA$6{Rj%DLRO%(Rgf@G6*4a!ShQ%F2^Qgx{xEla;m# z&H75y!2JR3Np~b=Ugj-vv9o>j5!_7eQ6-S2LP+;%ao=A+%N#N z$m9U5*L3vvG1`7aYzYBv5A+M5_-^pte*16aoAv(EFRh|6dJ!9Zl{m(T2qHQ__+k3Y zdeH&+jub+}RnMO@fTwIgaJAtAT!+5(^PNM+I2C0T6~%8OmhE9U_J~rJKfS&CXY1K{ z;59a88^vk)4dLzKcme!(q@|~ijR5V91yR$`_*IGW^AlI{=LKDypvm8?zyo!tts{bH z|C{_30d6?Ppv)n$neQS_!dWuFJIgIQajWcyF#(mdZ*Sn|S6{>;_Njl}GaQesYpws2 zWwp_8y@wqbcM&ijrwid^K;6+?Gp~N;3zo`x>lOe!LN6}^nI+w^U7GeIk$%l)yTbs%(F#eB?tJ~Y#WKX5x)3><3JVOJ7Uo|t|2JAM|h2xTR06B~hpk7wi*YiSduGJnr z>iC=g*zIUT`|=vqs+zzmE0db`@#EX{boy8(aZ&&!-i2}i?%Gv3v+kvd0`X?~7oE8> zK);29FMUm#{b|67K#A|)KeLvkx})jYoH_zXKG~_W?b>;(xh6kAA1nEvm-$4nNVu}M zTpm2;x^w52uy93J;Exym2Zm(;LL_FEAO}BmyrtojnR)<5HIV*0G7_Y@?sOA`nvDXQ z91cD{qTW=2P5@jF)w-CMZTr-8B9`CZexmqIGqcwCNtj z-&~W_TE8c^sfcm00N&rx(UCK3&#shVDZ!}n~Z1E1hQ{U0A-L0nv1Ktkp(+xNnwWV@^+XfDfVm(O;dl0p^m z4b=`~yv$Ob_zxdG^u0PpU_gViC}yK-ht&$z?W2vngryV%Gljt{+0P^Ygk0uiWNt1G zH^z$S066;=z|k0x|H;-HG{CE0G`8-@x9;^3@OfE5C(pqScUo1j3kZ-9(ek$e(y%$} z@xrwc+CZiTWCKnXb{cn80t00Leg7KJtYdoQRnF72etv$@F)>BL=7E7tgC~5`tB#qD zj;-P?Q`*KC$%D1_!yU_hw(~m^6<8Oj-R|WC`2l&{+)vaVHHs7I!q!rRVXi8vt2ygl zYLru4sLt-)%jWhZZEp22(A1lip(LNEs}lfhn;jn$xSXG#BoG0F2Md@V0@f=!cVo)9 z){q}KED+l$2+TKU#tEC}Y&&e6AjaiF2Kg>(I805lBgWUol=2APDX2cj{rDiNI3^gD zA#o>jUJM||obtN7Df4miP{NOX9EF0BuKD>UK!hy&WNI3GTgCIx4>VmPsxl>+y`Gv{ z-v#eMIouz&j@AMIWT=o76G(L2ugpwLwxo<@wW@JeS5{VX%FD~Uj{bCqQxsx|eWqmm zPeE|`2T9TRH%6+>qls)|IEMXBT|xVwu;d2TEWi-YkLYG>8!N$=jh zdr6LNX$j{hDy%EqmQ|v2qt)NvZg B`L`O{#@tzk5a$bFcc8Sj0$1{iA;9Bg9Dk; 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 TwGDg+3Z$y2rBL(S^8J4Sau6V$ literal 0 HcmV?d00001 diff --git a/icons/icon-72x72.png b/icons/icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..ae9d3af911b00bef649d32fc31feff38400c37ca GIT binary patch literal 3306 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 Ih;`Wi0jcWT8UO$Q literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..4a135fe --- /dev/null +++ b/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + + XWeather + + + + + + + + + + + diff --git a/lib/build-custom-elements-shady-dom-esm/esm/main.js b/lib/build-custom-elements-shady-dom-esm/esm/main.js deleted file mode 100644 index 2542c77..0000000 --- a/lib/build-custom-elements-shady-dom-esm/esm/main.js +++ /dev/null @@ -1 +0,0 @@ -import XCurrent,{load}from"./x-current.js";import XForecastItem,{load as load$1}from"./x-forecast-item.js";import XForecast,{load as load$2}from"./x-forecast.js";import XWeather,{load as load$3}from"./x-weather.js";import"./utilities-d21591dc.js";load(),load$1(),load$2(),load$3();var main={XCurrent:XCurrent,XForecastItem:XForecastItem,XForecast:XForecast,XWeather:XWeather};export default main; diff --git a/lib/build-custom-elements-shady-dom-esm/esm/registerServiceWorker.js b/lib/build-custom-elements-shady-dom-esm/esm/registerServiceWorker.js deleted file mode 100644 index 531e8b1..0000000 --- a/lib/build-custom-elements-shady-dom-esm/esm/registerServiceWorker.js +++ /dev/null @@ -1 +0,0 @@ -var isLocalhost=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)),register=function(e){if("serviceWorker"in navigator){if(new URL(e,window.location).origin!==window.location.origin)return;window.addEventListener("load",function(){var n=e+"service-worker.js";isLocalhost?checkValidServiceWorker(n):registerValidSW(n)})}},registerValidSW=function(e){navigator.serviceWorker.register(e).then(function(e){e.onupdatefound=function(){var n=e.installing;n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?(console.log("New content is available; Reloading..."),window.location.reload(!0)):console.log("Content is cached for offline use."))}}}).catch(function(e){console.error("Error during service worker registration:",e)})},checkValidServiceWorker=function(e){fetch(e).then(function(n){404===n.status||-1===n.headers.get("content-type").indexOf("javascript")?navigator.serviceWorker.ready.then(function(e){e.unregister().then(function(){window.location.reload()})}):registerValidSW(e)}).catch(function(){console.log("No internet connection found. App is running in offline mode.")})},unregister=function(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(e){e.unregister()})};export default register;export{unregister}; diff --git a/lib/build-custom-elements-shady-dom-esm/esm/utilities-d21591dc.js b/lib/build-custom-elements-shady-dom-esm/esm/utilities-d21591dc.js deleted file mode 100644 index e5f4646..0000000 --- a/lib/build-custom-elements-shady-dom-esm/esm/utilities-d21591dc.js +++ /dev/null @@ -1 +0,0 @@ -var classCallCheck=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},createClass=function(){function t(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"cToF",n=function(t){return t+273.15},r=function(t){return t-273.15},s=function(t){return 1.8*t+32},o=function(t){return 5*(t-32)/9};return{cToK:n,kToC:r,cToF:s,fToC:o,kToF:function(t){return s(r(t))},fToK:function(t){return n(o(t))}}[e](t)},generateUUID=function(){var t=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(t+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var n=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"===e?n:3&n|8).toString(16)})},getElementById=function(t,e){var n=[];n.push(e);for(var r=void 0;n.length;){if((r=n.shift()).id===t)return r;n.push.apply(n,toConsumableArray(r.children))}return!1},isObjectEmpty=function(t){return 0===Object.keys(t).length&&t.constructor===Object},loadComponent=function(t){var e=t.customElements,n=t.tagName,r=t.element,s=function(t){var e=t.customElements,n=t.tagName,r=t.element;e.define(n,r)};window.customElements?s({customElements:e,tagName:n,element:r}):document.addEventListener("WebComponentsReady",function(){s({customElements:e,tagName:n,element:r})})},unixEpochToDate=function(t){return new Date(1e3*t)},dateTime=function(t){return{date:t,results:"",getResults:function(){return this.results},getTimeStamp:function(){return this.date.getTime()},Y:function(t){return this.results+=this.date.getFullYear(),this.sep(t)&&(this.results+=t),this},m:function(t){return this.results+=this.pad(this.date.getMonth()+1),this.sep(t)&&(this.results+=t),this},d:function(t){return this.results+=this.pad(this.date.getDate()),this.sep(t)&&(this.results+=t),this},H:function(t){return this.results+=this.pad(this.date.getHours()),this.sep(t)&&(this.results+=t),this},M:function(t){return this.results+=this.pad(this.date.getMinutes()),this.sep(t)&&(this.results+=t),this},S:function(t){return this.results+=this.pad(this.date.getSeconds()),this.sep(t)&&(this.results+=t),this},pad:function(t){return t<10?"0"+t:t},sep:function(t){return!!t}}},to12HourTime=function(t){var e=String(t).split(":"),n=Number(e[0]),r=Number(e[1])||0,s=Number(e[2])||0;(n<0||n>23||r<0||r>59||s<0||s>59)&&(n=r=s=0);var o="12";return n>0&&n<=12&&(o=String(n)),n>12&&(o=String(n%o)),o+=r<10?":0"+r:":"+r,o+=s<10?":0"+s:":"+s,o+=n>=12?" PM":" AM"};export{loadComponent as a,classCallCheck as b,createClass as c,inherits as d,possibleConstructorReturn as e,toConsumableArray as f,convertTemperature as g,dateTime as h,to12HourTime as i,unixEpochToDate as j,isObjectEmpty as k,generateUUID as l,getElementById as m}; diff --git a/lib/build-custom-elements-shady-dom-esm/esm/utilities.js b/lib/build-custom-elements-shady-dom-esm/esm/utilities.js deleted file mode 100644 index 7300796..0000000 --- a/lib/build-custom-elements-shady-dom-esm/esm/utilities.js +++ /dev/null @@ -1 +0,0 @@ -export{g as convertTemperature,l as generateUUID,m as getElementById,k as isObjectEmpty,a as loadComponent,j as unixEpochToDate,h as dateTime,i as to12HourTime}from"./utilities-d21591dc.js"; diff --git a/lib/build-custom-elements-shady-dom-esm/esm/workbox-config.js b/lib/build-custom-elements-shady-dom-esm/esm/workbox-config.js deleted file mode 100644 index d2eb271..0000000 --- a/lib/build-custom-elements-shady-dom-esm/esm/workbox-config.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={globDirectory:"./",globPatterns:["**/*.{js,png,ico,html}"],templatedURLs:{"/x-weather/":""+new Date},swDest:"service-worker.js",runtimeCaching:[{urlPattern:/\.(?:png|jpg|jpeg|svg)$/,handler:"CacheFirst",options:{cacheName:"images",expiration:{maxEntries:100}}},{urlPattern:new RegExp("^https://api.openweathermap.org/data/2.5.*$"),handler:"NetworkFirst",options:{cacheName:"openweathermap-api-cache",expiration:{maxEntries:1e3,maxAgeSeconds:31536e3}}},{urlPattern:new RegExp("^https://openweathermap.org/.*$"),handler:"CacheFirst",options:{cacheableResponse:{statuses:[0,200]},cacheName:"openweathermap-cache",expiration:{maxEntries:1e3,maxAgeSeconds:31536e3}}},{urlPattern:new RegExp("^https://cdn.jsdelivr.net/.*$"),handler:"CacheFirst",options:{cacheableResponse:{statuses:[0,200]},cacheName:"cdn-jsdeliver-cache",expiration:{maxEntries:1e3,maxAgeSeconds:31536e3}}},{urlPattern:new RegExp("^https://rawgit.com/.*$"),handler:"CacheFirst",options:{cacheableResponse:{statuses:[0,200]},cacheName:"rawgit-cache",expiration:{maxEntries:1e3,maxAgeSeconds:31536e3}}},{urlPattern:new RegExp("^https://unpkg.com/.*$"),handler:"CacheFirst",options:{cacheableResponse:{statuses:[0,200]},cacheName:"unpkg-cache",expiration:{maxEntries:1e3,maxAgeSeconds:31536e3}}}]}; diff --git a/lib/build-custom-elements-shady-dom-esm/esm/x-current.js b/lib/build-custom-elements-shady-dom-esm/esm/x-current.js deleted file mode 100644 index 32cebb6..0000000 --- a/lib/build-custom-elements-shady-dom-esm/esm/x-current.js +++ /dev/null @@ -1 +0,0 @@ -import{g as convertTemperature,h as dateTime,a as loadComponent,i as to12HourTime,j as unixEpochToDate,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template='\n \n\n

\n
    \n
  • \n
  • ° /
  • \n
\n
\n \n
\n
\n',XCurrent=function(t){function e(){classCallCheck(this,e);var t=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n=document.createElement("div");return n.innerHTML=template,t.attachShadow({mode:"open"}).appendChild(n),t}return inherits(e,_CustomElement),createClass(e,[{key:"connectedCallback",value:function(){var t=this;this.refresh().then(function(e){t.render(e),t.currentWeather=e,t.primaryScale=t.shadowRoot.querySelector("#primaryScale"),t.alternateScale=t.shadowRoot.querySelector("#alternateScale"),t.primaryScale.textContent=t.scale,t.alternateScale.textContent="C"===t.scale?"F":"C",t.alternateScale.onclick=function(){t.scale=t.alternateScale.textContent;var e=t.parentElement.querySelector("x-forecast");e&&e.setAttribute("scale",t.primaryScale.textContent)}})}},{key:"attributeChangedCallback",value:function(t,e,n){"scale"===t&&e!==n&&this.alternateScale&&this.primaryScale&&("C"===n&&(this.alternateScale.textContent="F",this.primaryScale.textContent=n),"F"===n&&(this.alternateScale.textContent="C",this.primaryScale.textContent=n),this.render(this.currentWeather))}},{key:"_getCurrentWeather",value:function(t){var e=t.appid,n=t.host,r=t.location;if(e&&n&&r)return this._serviceHandler({appid:e,host:n,location:r}).then(function(t){t.coord;var e=t.weather,n=(t.base,t.main),r=(t.visibility,t.wind,t.clouds,t.dt);t.sys,t.id,t.name,t.cod;return{iconAlt:e[0].description,iconSrc:e[0].icon,temperature:{kelvin:n.temp,celsius:convertTemperature(n.temp,"kToC"),fahrenheit:convertTemperature(n.temp,"kToF")},timestamp:r}})}},{key:"_serviceHandler",value:function(t){var e=t.appid,n=t.host,r=t.location;return fetch("https://"+n+"/data/2.5/weather?q="+r+"&appid="+e,{method:"GET"}).then(function(t){if(t.ok)return t.json()})}},{key:"refresh",value:function(){var t={appid:this.parentElement.getAttribute("appid"),host:this.parentElement.getAttribute("host"),location:this.parentElement.getAttribute("location")};return this._getCurrentWeather(t)}},{key:"render",value:function(t){var e=t.iconAlt,n=t.iconSrc,r=t.temperature,a=t.timestamp;this.temperature=Number.parseFloat(r["C"===this.scale?"celsius":"fahrenheit"]).toFixed(2),this.iconAlt=e,this.iconSrc="https://openweathermap.org/themes/openweathermap/assets/vendor/owm/img/widgets/"+n+".png",this.timestamp=a}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}},{key:"iconAlt",set:function(t){this.shadowRoot.querySelector("#icon").setAttribute("alt",t)}},{key:"iconSrc",set:function(t){this.shadowRoot.querySelector("#icon").src=t}},{key:"scale",get:function(){return this.getAttribute("scale")},set:function(t){this.setAttribute("scale",t)}},{key:"temperature",set:function(t){this.setAttribute("temperature",t),this.shadowRoot.querySelector("#temperature").textContent=t}},{key:"timestamp",set:function(t){this.shadowRoot.querySelector("#time").innerHTML="\n
\n "+to12HourTime(dateTime(unixEpochToDate(t)).H(":").M(":").S().getResults())+" ("+dateTime(new Date).m("-").d().getResults()+"):\n
\n "}}],[{key:"observedAttributes",get:function(){return["scale"]}}]),e}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-current",element:XCurrent})};export default XCurrent;export{load}; diff --git a/lib/build-custom-elements-shady-dom-esm/esm/x-forecast-item.js b/lib/build-custom-elements-shady-dom-esm/esm/x-forecast-item.js deleted file mode 100644 index c1a725a..0000000 --- a/lib/build-custom-elements-shady-dom-esm/esm/x-forecast-item.js +++ /dev/null @@ -1 +0,0 @@ -import{a as loadComponent,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template='\n \n\n
    \n
  • \n \n
  • \n
  • ° °
  • \n
  • \n \n
  • \n
\n',XForecastItem=function(t){function e(){classCallCheck(this,e);var t=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n=document.createElement("div");return n.innerHTML=template,t.attachShadow({mode:"open"}).appendChild(n),t}return inherits(e,_CustomElement),createClass(e,[{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"day":this.shadowRoot.getElementById("day").textContent=n.slice(0,-1);break;case"description":this.shadowRoot.getElementById("icon").alt=n;break;case"forecast-date":this.shadowRoot.getElementById("forecastDate").textContent=n;break;case"icon":this.shadowRoot.getElementById("icon").src=n;break;case"night":this.shadowRoot.getElementById("night").textContent=n.slice(0,-1);break;case"scale":this.shadowRoot.querySelectorAll("[data-scale]").forEach(function(t){t.textContent=n})}}}],[{key:"observedAttributes",get:function(){return["day","description","forecast-date","icon","night","scale"]}}]),e}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-forecast-item",element:XForecastItem})};export default XForecastItem;export{load}; diff --git a/lib/build-custom-elements-shady-dom-esm/esm/x-forecast.js b/lib/build-custom-elements-shady-dom-esm/esm/x-forecast.js deleted file mode 100644 index fb03a2d..0000000 --- a/lib/build-custom-elements-shady-dom-esm/esm/x-forecast.js +++ /dev/null @@ -1 +0,0 @@ -import{g as convertTemperature,h as dateTime,k as isObjectEmpty,a as loadComponent,j as unixEpochToDate,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template="\n \n\n
\n
\n
\n",XForecast=function(t){function e(){classCallCheck(this,e);var t=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),a=document.createElement("div");return a.innerHTML=template,t.attachShadow({mode:"open"}).appendChild(a),t}return inherits(e,_CustomElement),createClass(e,[{key:"connectedCallback",value:function(){var t=this;this.refresh().then(function(e){t.render(e,t.days),t.currentForecast=e})}},{key:"attributeChangedCallback",value:function(t,e,a){e!==a&&null!==this.days&&("days"!==t&&"scale"!==t||this.render(this.currentForecast,this.days))}},{key:"_buildDateContainer",value:function(t,e){var a=this,n=document.createElement("div");if(n.setAttribute("data-x-forecast-date-container",""),t&&!isObjectEmpty(t)){var r=dateTime(new Date).Y("-").m("-").d("").getResults();t.length>e&&(t.length=e),t.forEach(function(t){var e=t.dt,o=t.temp,s=(t.pressure,t.humidity,t.weather),i=(t.speed,t.deg,t.clouds,t.rain,document.createElement("x-forecast-item"));i.setAttribute("day",a._convertForecast({scale:a.scale,timeOfDayTemp:o.day})),i.setAttribute("description",s[0].description),i.setAttribute("forecast-date",a._getDayOfWeek({dt:e,today:r})),i.setAttribute("icon","https://openweathermap.org/themes/openweathermap/assets/vendor/owm/img/widgets/"+s[0].icon+".png"),i.setAttribute("night",a._convertForecast({scale:a.scale,timeOfDayTemp:o.night})),i.setAttribute("scale",a.scale),n.appendChild(i)})}return n}},{key:"_convertForecast",value:function(t){var e=t.scale,a=t.timeOfDayTemp;return""+Number.parseFloat("F"===e?convertTemperature(a,"cToF"):a).toFixed(2)}},{key:"_getDayOfWeek",value:function(t){var e=t.dt,a=t.today,n=unixEpochToDate(e),r=dateTime(n).Y("-").m("-").d().getResults(),o=dateTime(n).m("/").d().getResults();return r===a?"Today ("+o+"):":dateTime(n).date.toLocaleString("en-US",{weekday:"long"})+" ("+o+"):"}},{key:"_getForecast",value:function(t){var e=t.appid,a=t.host,n=t.location;if(e&&a&&n)return this._serviceHandler({appid:e,host:a,location:n}).then(function(t){t.city,t.cod,t.message,t.cnt;return t.list})}},{key:"_serviceHandler",value:function(t){var e=t.appid,a=t.host,n=t.location;return fetch("https://"+a+"/data/2.5/forecast/daily?q="+n+"&mode=json&units=metric&cnt=14&appid="+e,{method:"GET"}).then(function(t){if(t.ok)return t.json()})}},{key:"refresh",value:function(){var t={appid:this.parentElement.getAttribute("appid"),host:this.parentElement.getAttribute("host"),location:this.parentElement.getAttribute("location")};return this._getForecast(t)}},{key:"render",value:function(t,e){var a=this.shadowRoot.querySelector("[data-x-forecast]"),n=this.shadowRoot.querySelector("[data-x-forecast] > [data-x-forecast-date-container]");a.replaceChild(this._buildDateContainer(t,e),n)}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"days",get:function(){return this.getAttribute("days")},set:function(t){this.setAttribute("days",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}},{key:"scale",get:function(){return this.getAttribute("scale")},set:function(t){this.setAttribute("scale",t)}}],[{key:"observedAttributes",get:function(){return["days","scale"]}}]),e}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-forecast",element:XForecast})};export default XForecast;export{load}; diff --git a/lib/build-custom-elements-shady-dom-esm/esm/x-weather-bottom.js b/lib/build-custom-elements-shady-dom-esm/esm/x-weather-bottom.js deleted file mode 100644 index c37625e..0000000 --- a/lib/build-custom-elements-shady-dom-esm/esm/x-weather-bottom.js +++ /dev/null @@ -1 +0,0 @@ -import{a as loadComponent,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template='\n \n\n
\n \n
\n',XWeatherBottom=function(t){function e(){classCallCheck(this,e);var t=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),o=document.createElement("div");return o.innerHTML=template,t.attachShadow({mode:"open"}).appendChild(o),t}return inherits(e,_CustomElement),e}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-weather-bottom",element:XWeatherBottom})};export default XWeatherBottom;export{load}; diff --git a/lib/build-custom-elements-shady-dom-esm/esm/x-weather-middle.js b/lib/build-custom-elements-shady-dom-esm/esm/x-weather-middle.js deleted file mode 100644 index df35c0a..0000000 --- a/lib/build-custom-elements-shady-dom-esm/esm/x-weather-middle.js +++ /dev/null @@ -1 +0,0 @@ -import{a as loadComponent,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template='\n \n\n
\n \n
\n',XWeatherMiddle=function(e){function t(){classCallCheck(this,t);var e=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),n=document.createElement("div");return n.innerHTML=template,e.attachShadow({mode:"open"}).appendChild(n),e}return inherits(t,_CustomElement),t}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-weather-middle",element:XWeatherMiddle})};export default XWeatherMiddle;export{load}; diff --git a/lib/build-custom-elements-shady-dom-esm/esm/x-weather-top.js b/lib/build-custom-elements-shady-dom-esm/esm/x-weather-top.js deleted file mode 100644 index d40dc2b..0000000 --- a/lib/build-custom-elements-shady-dom-esm/esm/x-weather-top.js +++ /dev/null @@ -1 +0,0 @@ -import{a as loadComponent,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template="\n \n\n
\n \n
\n",XWeatherTop=function(t){function e(){classCallCheck(this,e);var t=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),o=document.createElement("div");return o.innerHTML=template,t.attachShadow({mode:"open"}).appendChild(o),t}return inherits(e,_CustomElement),e}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-weather-top",element:XWeatherTop})};export default XWeatherTop;export{load}; diff --git a/lib/build-custom-elements-shady-dom-esm/esm/x-weather.js b/lib/build-custom-elements-shady-dom-esm/esm/x-weather.js deleted file mode 100644 index 14493cd..0000000 --- a/lib/build-custom-elements-shady-dom-esm/esm/x-weather.js +++ /dev/null @@ -1 +0,0 @@ -import{a as loadComponent,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template='\n \n\n
\n
\n\n \n
\n',XWeather=function(t){function e(){classCallCheck(this,e);var t=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),o=document.createElement("div");return o.innerHTML=template,t.attachShadow({mode:"open"}).appendChild(o),t}return inherits(e,_CustomElement),createClass(e,[{key:"connectedCallback",value:function(){var t=this;this._upgradeProperty("appid"),this._upgradeProperty("host"),this._upgradeProperty("location"),this.xCurrent=this.querySelector("x-current"),this.xForecast=this.querySelector("x-forecast"),this._renderLocation(this.location);var e=this.shadowRoot.querySelector("#location");e.addEventListener("change",function(){t.location=e.value,t.xCurrent.refresh().then(function(e){t.xCurrent.render(e),t.xCurrent.currentWeather=e}),t.xForecast.refresh().then(function(e){t.xForecast.render(e),t.xForecast.currentForecast=e})})}},{key:"attributeChangedCallback",value:function(t,e,o){(e!==o&&"appid"===t||"host"===t||"location"===t)&&("location"===t&&this._renderLocation(this.location),this.xCurrent&&this.xCurrent.setAttribute(t,o),this.xForecast&&this.xForecast.setAttribute(t,o))}},{key:"_renderLocation",value:function(t){var e=this.shadowRoot.querySelector("#location");e.value=t;var o=window.getComputedStyle(this.shadowRoot.querySelector("div[data-x-weather] #location")).fontSize.slice(0,-2);e.style.width=e.value.length*Number(o)/2+"px"}},{key:"_upgradeProperty",value:function(t){if(this.hasOwnProperty(t)){var e=this[t];delete this[t],this[t]=e}}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}}],[{key:"observedAttributes",get:function(){return["appid","host","location"]}}]),e}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-weather",element:XWeather})};export default XWeather;export{load}; diff --git a/lib/build-custom-elements-shady-dom-esm/favicon.ico b/lib/build-custom-elements-shady-dom-esm/favicon.ico deleted file mode 100644 index 7dfb6e667ac50eddebc4671ce840db03f98a03eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34494 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 - - - - - XWeather - - - - - - - - -
- - - - - - -
- - - - - diff --git a/lib/build-custom-elements-shady-dom-esm/registerServiceWorker.js b/lib/build-custom-elements-shady-dom-esm/registerServiceWorker.js deleted file mode 100644 index 1077f6f..0000000 --- a/lib/build-custom-elements-shady-dom-esm/registerServiceWorker.js +++ /dev/null @@ -1,96 +0,0 @@ -// Register a service worker to serve assets from local cache. - -// This lets the app load faster on subsequent visits and gives it offline capabilities. It also means that users will -// only see deployed updates on the "N+1" visit to a page, since previously cached resources are updated in the -// background. - -// To learn more about the benefits of this model, read https://goo.gl/KwvDNy. -const isLocalhost = Boolean( - window.location.hostname === 'localhost' || - // [::1] is the IPv6 localhost address. - window.location.hostname === '[::1]' || - // 127.0.0.1/8 is considered localhost for IPv4. - window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/) -) - -const register = publicUrl => { - if ('serviceWorker' in navigator) { - // The URL constructor is available in all browsers that support SW. - const url = new URL(publicUrl, window.location) - if (url.origin !== window.location.origin) { - // Our service worker won't work if publicUrl is on a different origin - // from what our page is served on. This might happen if a CDN is used to - // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374 - return - } - - window.addEventListener('load', () => { - const swUrl = `${publicUrl}service-worker.js` - - if (isLocalhost) { - // This is running on localhost. Lets check if a service worker still exists or not. - checkValidServiceWorker(swUrl) - } else { - // Is not local host. Just register service worker - registerValidSW(swUrl) - } - }) - } -} - -const registerValidSW = swUrl => { - navigator.serviceWorker - .register(swUrl) - .then(registration => { - registration.onupdatefound = () => { - const installingWorker = registration.installing - - installingWorker.onstatechange = () => { - if (installingWorker.state === 'installed') { - if (navigator.serviceWorker.controller) { - console.log('New content is available; Reloading...') // eslint-disable-line no-console - - window.location.reload(true) - } else { - console.log('Content is cached for offline use.') // eslint-disable-line no-console - } - } - } - } - }) - .catch(error => { - console.error('Error during service worker registration:', error) // eslint-disable-line no-console - }) -} - -const checkValidServiceWorker = swUrl => { - // Check if the service worker can be found. If it can't reload the page. - fetch(swUrl) - .then(response => { - // Ensure service worker exists, and that we really are getting a JS file. - if (response.status === 404 || response.headers.get('content-type').indexOf('javascript') === -1) { - // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then(registration => { - registration.unregister().then(() => { - window.location.reload() - }) - }) - } else { - // Service worker found. Proceed as normal. - registerValidSW(swUrl) - } - }) - .catch(() => { - console.log('No internet connection found. App is running in offline mode.') // eslint-disable-line no-console - }) -} - -export const unregister = () => { - if ('serviceWorker' in navigator) { - navigator.serviceWorker.ready.then(registration => { - registration.unregister() - }) - } -} - -export default register diff --git a/lib/build-custom-elements-shady-dom-esm/service-worker.js b/lib/build-custom-elements-shady-dom-esm/service-worker.js deleted file mode 100644 index 6e6a85b..0000000 --- a/lib/build-custom-elements-shady-dom-esm/service-worker.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Welcome to your Workbox-powered service worker! - * - * You'll need to register this file in your web app and you should - * disable HTTP caching for this file too. - * See https://goo.gl/nhQhGp - * - * The rest of the code is auto-generated. Please don't update this file - * directly; instead, make changes to your Workbox build configuration - * and re-run your build process. - * See https://goo.gl/2aRDsh - */ - -importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); - -self.addEventListener('message', (event) => { - if (event.data && event.data.type === 'SKIP_WAITING') { - self.skipWaiting(); - } -}); - -/** - * The workboxSW.precacheAndRoute() method efficiently caches and responds to - * requests for URLs in the manifest. - * See https://goo.gl/S9QRab - */ -self.__precacheManifest = [ - { - "url": "esm/main.js", - "revision": "e3d385660a4ae57ecfae67eb8e0b9678" - }, - { - "url": "esm/registerServiceWorker.js", - "revision": "9842b9d6be06080908fd80ed37ae3bf4" - }, - { - "url": "esm/utilities-d21591dc.js", - "revision": "cc932eb3f62808bbba02db92ec1f0f06" - }, - { - "url": "esm/utilities.js", - "revision": "d40ce527aeaa265418ec2eb124064af6" - }, - { - "url": "esm/workbox-config.js", - "revision": "ed4d5e6797b55e60c1eb8d3efb074f87" - }, - { - "url": "esm/x-current.js", - "revision": "9c7b978211c8b622f27a855854bfe2e8" - }, - { - "url": "esm/x-forecast-item.js", - "revision": "f5690ae477682871608143e8654d4476" - }, - { - "url": "esm/x-forecast.js", - "revision": "6d83f11fd4f92cd0d15838bc01ac7cf0" - }, - { - "url": "esm/x-weather-bottom.js", - "revision": "6260f2e481e080b24e83c8c0f17ecd54" - }, - { - "url": "esm/x-weather-middle.js", - "revision": "faee729ab18580a0a058169695156339" - }, - { - "url": "esm/x-weather-top.js", - "revision": "1d8b6ae28b6b5cff29c29b3697000a88" - }, - { - "url": "esm/x-weather.js", - "revision": "898ef4ce8dfec6ab96252c4455462c43" - }, - { - "url": "favicon.ico", - "revision": "8e95f1cb8b20c3c74e03e8788dcf2130" - }, - { - "url": "index.html", - "revision": "06e270aab01311f57b60e3735958c907" - }, - { - "url": "registerServiceWorker.js", - "revision": "978ca08cac55cee9992016f4e8c266fc" - }, - { - "url": "workbox-config.js", - "revision": "f1fa12bfce8b985337133a4ed7ec6c10" - }, - { - "url": "/x-weather/", - "revision": "2f4aa61184cb340a0260b51965d9ebc5" - } -].concat(self.__precacheManifest || []); -workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); - -workbox.routing.registerRoute(/\.(?:png|jpg|jpeg|svg)$/, new workbox.strategies.CacheFirst({ "cacheName":"images", plugins: [new workbox.expiration.Plugin({ maxEntries: 100, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/api.openweathermap.org\/data\/2.5.*$/, new workbox.strategies.NetworkFirst({ "cacheName":"openweathermap-api-cache", plugins: [new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/openweathermap.org\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"openweathermap-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/cdn.jsdelivr.net\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"cdn-jsdeliver-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/rawgit.com\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"rawgit-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/unpkg.com\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"unpkg-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); diff --git a/lib/build-custom-elements-shady-dom-systemjs/favicon.ico b/lib/build-custom-elements-shady-dom-systemjs/favicon.ico deleted file mode 100644 index 7dfb6e667ac50eddebc4671ce840db03f98a03eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34494 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 - - - - - XWeather - - - - - - - - - -
- - - - - - -
- - - - diff --git a/lib/build-custom-elements-shady-dom-systemjs/systemjs/main.js b/lib/build-custom-elements-shady-dom-systemjs/systemjs/main.js deleted file mode 100644 index 9c59e75..0000000 --- a/lib/build-custom-elements-shady-dom-systemjs/systemjs/main.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./x-current.js","./x-forecast-item.js","./x-forecast.js","./x-weather.js","./utilities-4ab35663.js"],function(t,e){"use strict";var u,a,n,r,s,o,c,f;return{setters:[function(t){u=t.default,a=t.load},function(t){n=t.default,r=t.load},function(t){s=t.default,o=t.load},function(t){c=t.default,f=t.load},function(){}],execute:function(){a(),r(),o(),f();t("default",{XCurrent:u,XForecastItem:n,XForecast:s,XWeather:c})}}}); diff --git a/lib/build-custom-elements-shady-dom-systemjs/systemjs/registerServiceWorker.js b/lib/build-custom-elements-shady-dom-systemjs/systemjs/registerServiceWorker.js deleted file mode 100644 index 430165e..0000000 --- a/lib/build-custom-elements-shady-dom-systemjs/systemjs/registerServiceWorker.js +++ /dev/null @@ -1 +0,0 @@ -System.register([],function(n,o){"use strict";return{execute:function(){var e=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)),t=function(n){navigator.serviceWorker.register(n).then(function(o){o.onupdatefound=function(){var n=o.installing;n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?(console.log("New content is available; Reloading..."),window.location.reload(!0)):console.log("Content is cached for offline use."))}}}).catch(function(n){console.error("Error during service worker registration:",n)})},i=function(o){fetch(o).then(function(n){404===n.status||-1===n.headers.get("content-type").indexOf("javascript")?navigator.serviceWorker.ready.then(function(n){n.unregister().then(function(){window.location.reload()})}):t(o)}).catch(function(){console.log("No internet connection found. App is running in offline mode.")})};n("unregister",function(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(n){n.unregister()})});n("default",function(o){if("serviceWorker"in navigator){if(new URL(o,window.location).origin!==window.location.origin)return;window.addEventListener("load",function(){var n=o+"service-worker.js";e?i(n):t(n)})}})}}}); diff --git a/lib/build-custom-elements-shady-dom-systemjs/systemjs/utilities-4ab35663.js b/lib/build-custom-elements-shady-dom-systemjs/systemjs/utilities-4ab35663.js deleted file mode 100644 index 1f51afd..0000000 --- a/lib/build-custom-elements-shady-dom-systemjs/systemjs/utilities-4ab35663.js +++ /dev/null @@ -1 +0,0 @@ -System.register([],function(t,e){"use strict";return{execute:function(){t("b",function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}),t("c",function(){function r(t,e){for(var n=0;n\n "+o(r(s(t)).H(":").M(":").S().getResults())+" ("+r(new Date).m("-").d().getResults()+"):\n
\n "}}],[{key:"observedAttributes",get:function(){return["scale"]}}]),n}();n("load",function(){return a({customElements:customElements,tagName:"x-current",element:t})});n("default",t)}}}); diff --git a/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-forecast-item.js b/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-forecast-item.js deleted file mode 100644 index 9f2e01c..0000000 --- a/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-forecast-item.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./utilities-4ab35663.js"],function(n,t){"use strict";var a,o,i,s,c;return{setters:[function(t){a=t.a,o=t.b,i=t.c,s=t.d,c=t.e,t.f}],execute:function(){function e(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(e.prototype,HTMLElement.prototype),Object.setPrototypeOf(e,HTMLElement);var t=function(t){function n(){o(this,n);var t=c(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML='\n \n\n
    \n
  • \n \n
  • \n
  • ° °
  • \n
  • \n \n
  • \n
\n',t.attachShadow({mode:"open"}).appendChild(e),t}return s(n,e),i(n,[{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"day":this.shadowRoot.getElementById("day").textContent=n.slice(0,-1);break;case"description":this.shadowRoot.getElementById("icon").alt=n;break;case"forecast-date":this.shadowRoot.getElementById("forecastDate").textContent=n;break;case"icon":this.shadowRoot.getElementById("icon").src=n;break;case"night":this.shadowRoot.getElementById("night").textContent=n.slice(0,-1);break;case"scale":this.shadowRoot.querySelectorAll("[data-scale]").forEach(function(t){t.textContent=n})}}}],[{key:"observedAttributes",get:function(){return["day","description","forecast-date","icon","night","scale"]}}]),n}();n("load",function(){return a({customElements:customElements,tagName:"x-forecast-item",element:t})});n("default",t)}}}); diff --git a/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-forecast.js b/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-forecast.js deleted file mode 100644 index 7aff557..0000000 --- a/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-forecast.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./utilities-4ab35663.js"],function(n,t){"use strict";var a,c,r,i,o,s,u,d,l;return{setters:[function(t){a=t.g,c=t.h,r=t.k,i=t.a,o=t.j,s=t.b,u=t.c,d=t.d,l=t.e,t.f}],execute:function(){function e(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(e.prototype,HTMLElement.prototype),Object.setPrototypeOf(e,HTMLElement);var t=function(t){function n(){s(this,n);var t=l(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML="\n \n\n
\n
\n
\n",t.attachShadow({mode:"open"}).appendChild(e),t}return d(n,e),u(n,[{key:"connectedCallback",value:function(){var e=this;this.refresh().then(function(t){e.render(t,e.days),e.currentForecast=t})}},{key:"attributeChangedCallback",value:function(t,e,n){e!==n&&null!==this.days&&("days"!==t&&"scale"!==t||this.render(this.currentForecast,this.days))}},{key:"_buildDateContainer",value:function(t,e){var i=this,o=document.createElement("div");if(o.setAttribute("data-x-forecast-date-container",""),t&&!r(t)){var s=c(new Date).Y("-").m("-").d("").getResults();t.length>e&&(t.length=e),t.forEach(function(t){var e=t.dt,n=t.temp,a=(t.pressure,t.humidity,t.weather),r=(t.speed,t.deg,t.clouds,t.rain,document.createElement("x-forecast-item"));r.setAttribute("day",i._convertForecast({scale:i.scale,timeOfDayTemp:n.day})),r.setAttribute("description",a[0].description),r.setAttribute("forecast-date",i._getDayOfWeek({dt:e,today:s})),r.setAttribute("icon","https://openweathermap.org/themes/openweathermap/assets/vendor/owm/img/widgets/"+a[0].icon+".png"),r.setAttribute("night",i._convertForecast({scale:i.scale,timeOfDayTemp:n.night})),r.setAttribute("scale",i.scale),o.appendChild(r)})}return o}},{key:"_convertForecast",value:function(t){var e=t.scale,n=t.timeOfDayTemp;return""+Number.parseFloat("F"===e?a(n,"cToF"):n).toFixed(2)}},{key:"_getDayOfWeek",value:function(t){var e=t.dt,n=t.today,a=o(e),r=c(a).Y("-").m("-").d().getResults(),i=c(a).m("/").d().getResults();return r===n?"Today ("+i+"):":c(a).date.toLocaleString("en-US",{weekday:"long"})+" ("+i+"):"}},{key:"_getForecast",value:function(t){var e=t.appid,n=t.host,a=t.location;if(e&&n&&a)return this._serviceHandler({appid:e,host:n,location:a}).then(function(t){t.city,t.cod,t.message,t.cnt;return t.list})}},{key:"_serviceHandler",value:function(t){var e=t.appid,n=t.host,a=t.location;return fetch("https://"+n+"/data/2.5/forecast/daily?q="+a+"&mode=json&units=metric&cnt=14&appid="+e,{method:"GET"}).then(function(t){if(t.ok)return t.json()})}},{key:"refresh",value:function(){var t={appid:this.parentElement.getAttribute("appid"),host:this.parentElement.getAttribute("host"),location:this.parentElement.getAttribute("location")};return this._getForecast(t)}},{key:"render",value:function(t,e){var n=this.shadowRoot.querySelector("[data-x-forecast]"),a=this.shadowRoot.querySelector("[data-x-forecast] > [data-x-forecast-date-container]");n.replaceChild(this._buildDateContainer(t,e),a)}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"days",get:function(){return this.getAttribute("days")},set:function(t){this.setAttribute("days",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}},{key:"scale",get:function(){return this.getAttribute("scale")},set:function(t){this.setAttribute("scale",t)}}],[{key:"observedAttributes",get:function(){return["days","scale"]}}]),n}();n("load",function(){return i({customElements:customElements,tagName:"x-forecast",element:t})});n("default",t)}}}); diff --git a/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather-bottom.js b/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather-bottom.js deleted file mode 100644 index d7688e0..0000000 --- a/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather-bottom.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./utilities-4ab35663.js"],function(n,t){"use strict";var o,r,a,i;return{setters:[function(t){o=t.a,r=t.b,t.c,a=t.d,i=t.e,t.f}],execute:function(){function e(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(e.prototype,HTMLElement.prototype),Object.setPrototypeOf(e,HTMLElement);var t=function(t){function n(){r(this,n);var t=i(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML='\n \n\n
\n \n
\n',t.attachShadow({mode:"open"}).appendChild(e),t}return a(n,e),n}();n("load",function(){return o({customElements:customElements,tagName:"x-weather-bottom",element:t})});n("default",t)}}}); diff --git a/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather-middle.js b/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather-middle.js deleted file mode 100644 index bb1491c..0000000 --- a/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather-middle.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./utilities-4ab35663.js"],function(n,t){"use strict";var r,o,a,d;return{setters:[function(t){r=t.a,o=t.b,t.c,a=t.d,d=t.e,t.f}],execute:function(){function e(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(e.prototype,HTMLElement.prototype),Object.setPrototypeOf(e,HTMLElement);var t=function(t){function n(){o(this,n);var t=d(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML='\n \n\n
\n \n
\n',t.attachShadow({mode:"open"}).appendChild(e),t}return a(n,e),n}();n("load",function(){return r({customElements:customElements,tagName:"x-weather-middle",element:t})});n("default",t)}}}); diff --git a/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather-top.js b/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather-top.js deleted file mode 100644 index 696ba65..0000000 --- a/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather-top.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./utilities-4ab35663.js"],function(n,t){"use strict";var o,r,a,i;return{setters:[function(t){o=t.a,r=t.b,t.c,a=t.d,i=t.e,t.f}],execute:function(){function e(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(e.prototype,HTMLElement.prototype),Object.setPrototypeOf(e,HTMLElement);var t=function(t){function n(){r(this,n);var t=i(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML="\n \n\n
\n \n
\n",t.attachShadow({mode:"open"}).appendChild(e),t}return a(n,e),n}();n("load",function(){return o({customElements:customElements,tagName:"x-weather-top",element:t})});n("default",t)}}}); diff --git a/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather.js b/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather.js deleted file mode 100644 index 36015e2..0000000 --- a/lib/build-custom-elements-shady-dom-systemjs/systemjs/x-weather.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./utilities-4ab35663.js"],function(n,t){"use strict";var r,o,i,a,s;return{setters:[function(t){r=t.a,o=t.b,i=t.c,a=t.d,s=t.e,t.f}],execute:function(){function e(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(e.prototype,HTMLElement.prototype),Object.setPrototypeOf(e,HTMLElement);var t=function(t){function n(){o(this,n);var t=s(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML='\n \n\n
\n
\n\n \n
\n',t.attachShadow({mode:"open"}).appendChild(e),t}return a(n,e),i(n,[{key:"connectedCallback",value:function(){var e=this;this._upgradeProperty("appid"),this._upgradeProperty("host"),this._upgradeProperty("location"),this.xCurrent=this.querySelector("x-current"),this.xForecast=this.querySelector("x-forecast"),this._renderLocation(this.location);var t=this.shadowRoot.querySelector("#location");t.addEventListener("change",function(){e.location=t.value,e.xCurrent.refresh().then(function(t){e.xCurrent.render(t),e.xCurrent.currentWeather=t}),e.xForecast.refresh().then(function(t){e.xForecast.render(t),e.xForecast.currentForecast=t})})}},{key:"attributeChangedCallback",value:function(t,e,n){(e!==n&&"appid"===t||"host"===t||"location"===t)&&("location"===t&&this._renderLocation(this.location),this.xCurrent&&this.xCurrent.setAttribute(t,n),this.xForecast&&this.xForecast.setAttribute(t,n))}},{key:"_renderLocation",value:function(t){var e=this.shadowRoot.querySelector("#location");e.value=t;var n=window.getComputedStyle(this.shadowRoot.querySelector("div[data-x-weather] #location")).fontSize.slice(0,-2);e.style.width=e.value.length*Number(n)/2+"px"}},{key:"_upgradeProperty",value:function(t){if(this.hasOwnProperty(t)){var e=this[t];delete this[t],this[t]=e}}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}}],[{key:"observedAttributes",get:function(){return["appid","host","location"]}}]),n}();n("load",function(){return r({customElements:customElements,tagName:"x-weather",element:t})});n("default",t)}}}); diff --git a/lib/build-ie11-iife/favicon.ico b/lib/build-ie11-iife/favicon.ico deleted file mode 100644 index 7dfb6e667ac50eddebc4671ce840db03f98a03eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34494 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\n "+function(t){var e=String(t).split(":"),n=Number(e[0]),i=Number(e[1])||0,r=Number(e[2])||0;(n<0||23\n "}}],[{key:"observedAttributes",get:function(){return["scale"]}}]),n}(HTMLElement),u=function(t){function n(){i(this,n);var t=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML='\n \n\n
    \n
  • \n \n
  • \n
  • ° °
  • \n
  • \n \n
  • \n
\n',t.attachShadow({mode:"open"}).appendChild(e),t}return r(n,t),e(n,[{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"day":this.shadowRoot.getElementById("day").textContent=n.slice(0,-1);break;case"description":this.shadowRoot.getElementById("icon").alt=n;break;case"forecast-date":this.shadowRoot.getElementById("forecastDate").textContent=n;break;case"icon":this.shadowRoot.getElementById("icon").src=n;break;case"night":this.shadowRoot.getElementById("night").textContent=n.slice(0,-1);break;case"scale":this.shadowRoot.querySelectorAll("[data-scale]").forEach(function(t){t.textContent=n})}}}],[{key:"observedAttributes",get:function(){return["day","description","forecast-date","icon","night","scale"]}}]),n}(HTMLElement),l=function(t){function n(){i(this,n);var t=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML="\n \n\n
\n
\n
\n",t.attachShadow({mode:"open"}).appendChild(e),t}return r(n,t),e(n,[{key:"connectedCallback",value:function(){var e=this;this.refresh().then(function(t){e.render(t,e.days),e.currentForecast=t})}},{key:"attributeChangedCallback",value:function(t,e,n){e!==n&&null!==this.days&&("days"!==t&&"scale"!==t||this.render(this.currentForecast,this.days))}},{key:"_buildDateContainer",value:function(t,e){var n,a=this,o=document.createElement("div");if(o.setAttribute("data-x-forecast-date-container",""),t&&(n=t,0!==Object.keys(n).length||n.constructor!==Object)){var s=c(new Date).Y("-").m("-").d("").getResults();t.length>e&&(t.length=e),t.forEach(function(t){var e=t.dt,n=t.temp,i=(t.pressure,t.humidity,t.weather),r=(t.speed,t.deg,t.clouds,t.rain,document.createElement("x-forecast-item"));r.setAttribute("day",a._convertForecast({scale:a.scale,timeOfDayTemp:n.day})),r.setAttribute("description",i[0].description),r.setAttribute("forecast-date",a._getDayOfWeek({dt:e,today:s})),r.setAttribute("icon","https://openweathermap.org/themes/openweathermap/assets/vendor/owm/img/widgets/"+i[0].icon+".png"),r.setAttribute("night",a._convertForecast({scale:a.scale,timeOfDayTemp:n.night})),r.setAttribute("scale",a.scale),o.appendChild(r)})}return o}},{key:"_convertForecast",value:function(t){var e=t.scale,n=t.timeOfDayTemp;return""+Number.parseFloat("F"===e?o(n,"cToF"):n).toFixed(2)}},{key:"_getDayOfWeek",value:function(t){var e=t.dt,n=t.today,i=s(e),r=c(i).Y("-").m("-").d().getResults(),a=c(i).m("/").d().getResults();return r===n?"Today ("+a+"):":c(i).date.toLocaleString("en-US",{weekday:"long"})+" ("+a+"):"}},{key:"_getForecast",value:function(t){var e=t.appid,n=t.host,i=t.location;if(e&&n&&i)return this._serviceHandler({appid:e,host:n,location:i}).then(function(t){t.city,t.cod,t.message,t.cnt;return t.list})}},{key:"_serviceHandler",value:function(t){var e=t.appid,n=t.host,i=t.location;return fetch("https://"+n+"/data/2.5/forecast/daily?q="+i+"&mode=json&units=metric&cnt=14&appid="+e,{method:"GET"}).then(function(t){if(t.ok)return t.json()})}},{key:"refresh",value:function(){var t={appid:this.parentElement.getAttribute("appid"),host:this.parentElement.getAttribute("host"),location:this.parentElement.getAttribute("location")};return this._getForecast(t)}},{key:"render",value:function(t,e){var n=this.shadowRoot.querySelector("[data-x-forecast]"),i=this.shadowRoot.querySelector("[data-x-forecast] > [data-x-forecast-date-container]");n.replaceChild(this._buildDateContainer(t,e),i)}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"days",get:function(){return this.getAttribute("days")},set:function(t){this.setAttribute("days",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}},{key:"scale",get:function(){return this.getAttribute("scale")},set:function(t){this.setAttribute("scale",t)}}],[{key:"observedAttributes",get:function(){return["days","scale"]}}]),n}(HTMLElement),d=function(t){function n(){i(this,n);var t=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML='\n \n\n
\n
\n\n \n
\n',t.attachShadow({mode:"open"}).appendChild(e),t}return r(n,t),e(n,[{key:"connectedCallback",value:function(){var e=this;this._upgradeProperty("appid"),this._upgradeProperty("host"),this._upgradeProperty("location"),this.xCurrent=this.querySelector("x-current"),this.xForecast=this.querySelector("x-forecast"),this._renderLocation(this.location);var t=this.shadowRoot.querySelector("#location");t.addEventListener("change",function(){e.location=t.value,e.xCurrent.refresh().then(function(t){e.xCurrent.render(t),e.xCurrent.currentWeather=t}),e.xForecast.refresh().then(function(t){e.xForecast.render(t),e.xForecast.currentForecast=t})})}},{key:"attributeChangedCallback",value:function(t,e,n){(e!==n&&"appid"===t||"host"===t||"location"===t)&&("location"===t&&this._renderLocation(this.location),this.xCurrent&&this.xCurrent.setAttribute(t,n),this.xForecast&&this.xForecast.setAttribute(t,n))}},{key:"_renderLocation",value:function(t){var e=this.shadowRoot.querySelector("#location");e.value=t;var n=window.getComputedStyle(this.shadowRoot.querySelector("div[data-x-weather] #location")).fontSize.slice(0,-2);e.style.width=e.value.length*Number(n)/2+"px"}},{key:"_upgradeProperty",value:function(t){if(this.hasOwnProperty(t)){var e=this[t];delete this[t],this[t]=e}}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}}],[{key:"observedAttributes",get:function(){return["appid","host","location"]}}]),n}(HTMLElement);return t({customElements:customElements,tagName:"x-current",element:n}),t({customElements:customElements,tagName:"x-forecast-item",element:u}),t({customElements:customElements,tagName:"x-forecast",element:l}),t({customElements:customElements,tagName:"x-weather",element:d}),{XCurrent:n,XForecastItem:u,XForecast:l,XWeather:d}}(); diff --git a/lib/build-ie11-iife/index.html b/lib/build-ie11-iife/index.html deleted file mode 100644 index 0fb5969..0000000 --- a/lib/build-ie11-iife/index.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - XWeather - - - - - - -
- - - - - - -
- - - - - - - -
- - - - -
- - - - - - - - - - diff --git a/lib/build-ie11-iife/registerServiceWorker.js b/lib/build-ie11-iife/registerServiceWorker.js deleted file mode 100644 index 1077f6f..0000000 --- a/lib/build-ie11-iife/registerServiceWorker.js +++ /dev/null @@ -1,96 +0,0 @@ -// Register a service worker to serve assets from local cache. - -// This lets the app load faster on subsequent visits and gives it offline capabilities. It also means that users will -// only see deployed updates on the "N+1" visit to a page, since previously cached resources are updated in the -// background. - -// To learn more about the benefits of this model, read https://goo.gl/KwvDNy. -const isLocalhost = Boolean( - window.location.hostname === 'localhost' || - // [::1] is the IPv6 localhost address. - window.location.hostname === '[::1]' || - // 127.0.0.1/8 is considered localhost for IPv4. - window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/) -) - -const register = publicUrl => { - if ('serviceWorker' in navigator) { - // The URL constructor is available in all browsers that support SW. - const url = new URL(publicUrl, window.location) - if (url.origin !== window.location.origin) { - // Our service worker won't work if publicUrl is on a different origin - // from what our page is served on. This might happen if a CDN is used to - // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374 - return - } - - window.addEventListener('load', () => { - const swUrl = `${publicUrl}service-worker.js` - - if (isLocalhost) { - // This is running on localhost. Lets check if a service worker still exists or not. - checkValidServiceWorker(swUrl) - } else { - // Is not local host. Just register service worker - registerValidSW(swUrl) - } - }) - } -} - -const registerValidSW = swUrl => { - navigator.serviceWorker - .register(swUrl) - .then(registration => { - registration.onupdatefound = () => { - const installingWorker = registration.installing - - installingWorker.onstatechange = () => { - if (installingWorker.state === 'installed') { - if (navigator.serviceWorker.controller) { - console.log('New content is available; Reloading...') // eslint-disable-line no-console - - window.location.reload(true) - } else { - console.log('Content is cached for offline use.') // eslint-disable-line no-console - } - } - } - } - }) - .catch(error => { - console.error('Error during service worker registration:', error) // eslint-disable-line no-console - }) -} - -const checkValidServiceWorker = swUrl => { - // Check if the service worker can be found. If it can't reload the page. - fetch(swUrl) - .then(response => { - // Ensure service worker exists, and that we really are getting a JS file. - if (response.status === 404 || response.headers.get('content-type').indexOf('javascript') === -1) { - // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then(registration => { - registration.unregister().then(() => { - window.location.reload() - }) - }) - } else { - // Service worker found. Proceed as normal. - registerValidSW(swUrl) - } - }) - .catch(() => { - console.log('No internet connection found. App is running in offline mode.') // eslint-disable-line no-console - }) -} - -export const unregister = () => { - if ('serviceWorker' in navigator) { - navigator.serviceWorker.ready.then(registration => { - registration.unregister() - }) - } -} - -export default register diff --git a/lib/build-ie11-iife/service-worker.js b/lib/build-ie11-iife/service-worker.js deleted file mode 100644 index b2b5f7d..0000000 --- a/lib/build-ie11-iife/service-worker.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Welcome to your Workbox-powered service worker! - * - * You'll need to register this file in your web app and you should - * disable HTTP caching for this file too. - * See https://goo.gl/nhQhGp - * - * The rest of the code is auto-generated. Please don't update this file - * directly; instead, make changes to your Workbox build configuration - * and re-run your build process. - * See https://goo.gl/2aRDsh - */ - -importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); - -self.addEventListener('message', (event) => { - if (event.data && event.data.type === 'SKIP_WAITING') { - self.skipWaiting(); - } -}); - -/** - * The workboxSW.precacheAndRoute() method efficiently caches and responds to - * requests for URLs in the manifest. - * See https://goo.gl/S9QRab - */ -self.__precacheManifest = [ - { - "url": "favicon.ico", - "revision": "8e95f1cb8b20c3c74e03e8788dcf2130" - }, - { - "url": "iife/main.js", - "revision": "b1089436ea29222c7cd9a81df58e21e8" - }, - { - "url": "index.html", - "revision": "2742a408350728c238c769bd7ef08d5c" - }, - { - "url": "registerServiceWorker.js", - "revision": "978ca08cac55cee9992016f4e8c266fc" - }, - { - "url": "workbox-config.js", - "revision": "f1fa12bfce8b985337133a4ed7ec6c10" - }, - { - "url": "/x-weather/", - "revision": "5482319213c9df94af7b4dc49d367180" - } -].concat(self.__precacheManifest || []); -workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); - -workbox.routing.registerRoute(/\.(?:png|jpg|jpeg|svg)$/, new workbox.strategies.CacheFirst({ "cacheName":"images", plugins: [new workbox.expiration.Plugin({ maxEntries: 100, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/api.openweathermap.org\/data\/2.5.*$/, new workbox.strategies.NetworkFirst({ "cacheName":"openweathermap-api-cache", plugins: [new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/openweathermap.org\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"openweathermap-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/cdn.jsdelivr.net\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"cdn-jsdeliver-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/rawgit.com\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"rawgit-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/unpkg.com\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"unpkg-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); diff --git a/lib/build-ie11-iife/workbox-config.js b/lib/build-ie11-iife/workbox-config.js deleted file mode 100644 index b675c2f..0000000 --- a/lib/build-ie11-iife/workbox-config.js +++ /dev/null @@ -1,98 +0,0 @@ -module.exports = { - "globDirectory": "./", - "globPatterns": [ - "**/*.{js,png,ico,html}" - ], - templatedURLs: { - '/x-weather/': `${new Date()}`, - }, - "swDest": "service-worker.js", - // Define runtime caching rules. - runtimeCaching: [ - { - // Match any request ends with .png, .jpg, .jpeg or .svg. - urlPattern: /\.(?:png|jpg|jpeg|svg)$/, - - // Apply a cache-first strategy. - handler: 'CacheFirst', - - options: { - // Use a custom cache name. - cacheName: 'images', - - // Only cache 10 images. - expiration: { - maxEntries: 100, - }, - }, - }, - { - urlPattern: new RegExp('^https://api.openweathermap.org/data/2.5.*$'), - handler: 'NetworkFirst', - options: { - cacheName: 'openweathermap-api-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://openweathermap.org/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'openweathermap-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://cdn.jsdelivr.net/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'cdn-jsdeliver-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://rawgit.com/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'rawgit-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://unpkg.com/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'unpkg-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - ], - -}; diff --git a/lib/build-ie11-systemjs/favicon.ico b/lib/build-ie11-systemjs/favicon.ico deleted file mode 100644 index 7dfb6e667ac50eddebc4671ce840db03f98a03eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34494 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 - - - - - XWeather - - - - - - -
- - - - - - -
- - - - - - - - -
- - - - -
- - - - - - - - - diff --git a/lib/build-ie11-systemjs/systemjs/main.js b/lib/build-ie11-systemjs/systemjs/main.js deleted file mode 100644 index 9c59e75..0000000 --- a/lib/build-ie11-systemjs/systemjs/main.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./x-current.js","./x-forecast-item.js","./x-forecast.js","./x-weather.js","./utilities-4ab35663.js"],function(t,e){"use strict";var u,a,n,r,s,o,c,f;return{setters:[function(t){u=t.default,a=t.load},function(t){n=t.default,r=t.load},function(t){s=t.default,o=t.load},function(t){c=t.default,f=t.load},function(){}],execute:function(){a(),r(),o(),f();t("default",{XCurrent:u,XForecastItem:n,XForecast:s,XWeather:c})}}}); diff --git a/lib/build-ie11-systemjs/systemjs/registerServiceWorker.js b/lib/build-ie11-systemjs/systemjs/registerServiceWorker.js deleted file mode 100644 index 430165e..0000000 --- a/lib/build-ie11-systemjs/systemjs/registerServiceWorker.js +++ /dev/null @@ -1 +0,0 @@ -System.register([],function(n,o){"use strict";return{execute:function(){var e=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)),t=function(n){navigator.serviceWorker.register(n).then(function(o){o.onupdatefound=function(){var n=o.installing;n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?(console.log("New content is available; Reloading..."),window.location.reload(!0)):console.log("Content is cached for offline use."))}}}).catch(function(n){console.error("Error during service worker registration:",n)})},i=function(o){fetch(o).then(function(n){404===n.status||-1===n.headers.get("content-type").indexOf("javascript")?navigator.serviceWorker.ready.then(function(n){n.unregister().then(function(){window.location.reload()})}):t(o)}).catch(function(){console.log("No internet connection found. App is running in offline mode.")})};n("unregister",function(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(n){n.unregister()})});n("default",function(o){if("serviceWorker"in navigator){if(new URL(o,window.location).origin!==window.location.origin)return;window.addEventListener("load",function(){var n=o+"service-worker.js";e?i(n):t(n)})}})}}}); diff --git a/lib/build-ie11-systemjs/systemjs/utilities-4ab35663.js b/lib/build-ie11-systemjs/systemjs/utilities-4ab35663.js deleted file mode 100644 index 1f51afd..0000000 --- a/lib/build-ie11-systemjs/systemjs/utilities-4ab35663.js +++ /dev/null @@ -1 +0,0 @@ -System.register([],function(t,e){"use strict";return{execute:function(){t("b",function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}),t("c",function(){function r(t,e){for(var n=0;n\n "+a(i(o(t)).H(":").M(":").S().getResults())+" ("+i(new Date).m("-").d().getResults()+"):\n
\n "}}],[{key:"observedAttributes",get:function(){return["scale"]}}]),n}(HTMLElement);e("load",function(){return n({customElements:customElements,tagName:"x-current",element:t})});e("default",t)}}}); diff --git a/lib/build-ie11-systemjs/systemjs/x-forecast-item.js b/lib/build-ie11-systemjs/systemjs/x-forecast-item.js deleted file mode 100644 index 4cc4cd2..0000000 --- a/lib/build-ie11-systemjs/systemjs/x-forecast-item.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./utilities-4ab35663.js"],function(e,t){"use strict";var n,a,i,o,s;return{setters:[function(t){n=t.a,a=t.b,i=t.c,o=t.d,s=t.e,t.f}],execute:function(){var t=function(t){function n(){a(this,n);var t=s(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML='\n \n\n
    \n
  • \n \n
  • \n
  • ° °
  • \n
  • \n \n
  • \n
\n',t.attachShadow({mode:"open"}).appendChild(e),t}return o(n,t),i(n,[{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"day":this.shadowRoot.getElementById("day").textContent=n.slice(0,-1);break;case"description":this.shadowRoot.getElementById("icon").alt=n;break;case"forecast-date":this.shadowRoot.getElementById("forecastDate").textContent=n;break;case"icon":this.shadowRoot.getElementById("icon").src=n;break;case"night":this.shadowRoot.getElementById("night").textContent=n.slice(0,-1);break;case"scale":this.shadowRoot.querySelectorAll("[data-scale]").forEach(function(t){t.textContent=n})}}}],[{key:"observedAttributes",get:function(){return["day","description","forecast-date","icon","night","scale"]}}]),n}(HTMLElement);e("load",function(){return n({customElements:customElements,tagName:"x-forecast-item",element:t})});e("default",t)}}}); diff --git a/lib/build-ie11-systemjs/systemjs/x-forecast.js b/lib/build-ie11-systemjs/systemjs/x-forecast.js deleted file mode 100644 index 87a6850..0000000 --- a/lib/build-ie11-systemjs/systemjs/x-forecast.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./utilities-4ab35663.js"],function(e,t){"use strict";var a,c,r,n,s,i,o,u,d;return{setters:[function(t){a=t.g,c=t.h,r=t.k,n=t.a,s=t.j,i=t.b,o=t.c,u=t.d,d=t.e,t.f}],execute:function(){var t=function(t){function n(){i(this,n);var t=d(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML="\n \n\n
\n
\n
\n",t.attachShadow({mode:"open"}).appendChild(e),t}return u(n,t),o(n,[{key:"connectedCallback",value:function(){var e=this;this.refresh().then(function(t){e.render(t,e.days),e.currentForecast=t})}},{key:"attributeChangedCallback",value:function(t,e,n){e!==n&&null!==this.days&&("days"!==t&&"scale"!==t||this.render(this.currentForecast,this.days))}},{key:"_buildDateContainer",value:function(t,e){var i=this,s=document.createElement("div");if(s.setAttribute("data-x-forecast-date-container",""),t&&!r(t)){var o=c(new Date).Y("-").m("-").d("").getResults();t.length>e&&(t.length=e),t.forEach(function(t){var e=t.dt,n=t.temp,a=(t.pressure,t.humidity,t.weather),r=(t.speed,t.deg,t.clouds,t.rain,document.createElement("x-forecast-item"));r.setAttribute("day",i._convertForecast({scale:i.scale,timeOfDayTemp:n.day})),r.setAttribute("description",a[0].description),r.setAttribute("forecast-date",i._getDayOfWeek({dt:e,today:o})),r.setAttribute("icon","https://openweathermap.org/themes/openweathermap/assets/vendor/owm/img/widgets/"+a[0].icon+".png"),r.setAttribute("night",i._convertForecast({scale:i.scale,timeOfDayTemp:n.night})),r.setAttribute("scale",i.scale),s.appendChild(r)})}return s}},{key:"_convertForecast",value:function(t){var e=t.scale,n=t.timeOfDayTemp;return""+Number.parseFloat("F"===e?a(n,"cToF"):n).toFixed(2)}},{key:"_getDayOfWeek",value:function(t){var e=t.dt,n=t.today,a=s(e),r=c(a).Y("-").m("-").d().getResults(),i=c(a).m("/").d().getResults();return r===n?"Today ("+i+"):":c(a).date.toLocaleString("en-US",{weekday:"long"})+" ("+i+"):"}},{key:"_getForecast",value:function(t){var e=t.appid,n=t.host,a=t.location;if(e&&n&&a)return this._serviceHandler({appid:e,host:n,location:a}).then(function(t){t.city,t.cod,t.message,t.cnt;return t.list})}},{key:"_serviceHandler",value:function(t){var e=t.appid,n=t.host,a=t.location;return fetch("https://"+n+"/data/2.5/forecast/daily?q="+a+"&mode=json&units=metric&cnt=14&appid="+e,{method:"GET"}).then(function(t){if(t.ok)return t.json()})}},{key:"refresh",value:function(){var t={appid:this.parentElement.getAttribute("appid"),host:this.parentElement.getAttribute("host"),location:this.parentElement.getAttribute("location")};return this._getForecast(t)}},{key:"render",value:function(t,e){var n=this.shadowRoot.querySelector("[data-x-forecast]"),a=this.shadowRoot.querySelector("[data-x-forecast] > [data-x-forecast-date-container]");n.replaceChild(this._buildDateContainer(t,e),a)}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"days",get:function(){return this.getAttribute("days")},set:function(t){this.setAttribute("days",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}},{key:"scale",get:function(){return this.getAttribute("scale")},set:function(t){this.setAttribute("scale",t)}}],[{key:"observedAttributes",get:function(){return["days","scale"]}}]),n}(HTMLElement);e("load",function(){return n({customElements:customElements,tagName:"x-forecast",element:t})});e("default",t)}}}); diff --git a/lib/build-ie11-systemjs/systemjs/x-weather-bottom.js b/lib/build-ie11-systemjs/systemjs/x-weather-bottom.js deleted file mode 100644 index e42441f..0000000 --- a/lib/build-ie11-systemjs/systemjs/x-weather-bottom.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./utilities-4ab35663.js"],function(e,t){"use strict";var n,a,o,r;return{setters:[function(t){n=t.a,a=t.b,t.c,o=t.d,r=t.e,t.f}],execute:function(){var t=function(t){function n(){a(this,n);var t=r(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML='\n \n\n
\n \n
\n',t.attachShadow({mode:"open"}).appendChild(e),t}return o(n,t),n}(HTMLElement);e("load",function(){return n({customElements:customElements,tagName:"x-weather-bottom",element:t})});e("default",t)}}}); diff --git a/lib/build-ie11-systemjs/systemjs/x-weather-middle.js b/lib/build-ie11-systemjs/systemjs/x-weather-middle.js deleted file mode 100644 index a9aac75..0000000 --- a/lib/build-ie11-systemjs/systemjs/x-weather-middle.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./utilities-4ab35663.js"],function(t,e){"use strict";var n,a,d,r;return{setters:[function(e){n=e.a,a=e.b,e.c,d=e.d,r=e.e,e.f}],execute:function(){var e=function(e){function n(){a(this,n);var e=r(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),t=document.createElement("div");return t.innerHTML='\n \n\n
\n \n
\n',e.attachShadow({mode:"open"}).appendChild(t),e}return d(n,e),n}(HTMLElement);t("load",function(){return n({customElements:customElements,tagName:"x-weather-middle",element:e})});t("default",e)}}}); diff --git a/lib/build-ie11-systemjs/systemjs/x-weather-top.js b/lib/build-ie11-systemjs/systemjs/x-weather-top.js deleted file mode 100644 index 340d311..0000000 --- a/lib/build-ie11-systemjs/systemjs/x-weather-top.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./utilities-4ab35663.js"],function(e,t){"use strict";var n,a,o,r;return{setters:[function(t){n=t.a,a=t.b,t.c,o=t.d,r=t.e,t.f}],execute:function(){var t=function(t){function n(){a(this,n);var t=r(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML="\n \n\n
\n \n
\n",t.attachShadow({mode:"open"}).appendChild(e),t}return o(n,t),n}(HTMLElement);e("load",function(){return n({customElements:customElements,tagName:"x-weather-top",element:t})});e("default",t)}}}); diff --git a/lib/build-ie11-systemjs/systemjs/x-weather.js b/lib/build-ie11-systemjs/systemjs/x-weather.js deleted file mode 100644 index ad3929d..0000000 --- a/lib/build-ie11-systemjs/systemjs/x-weather.js +++ /dev/null @@ -1 +0,0 @@ -System.register(["./utilities-4ab35663.js"],function(e,t){"use strict";var n,r,i,o,a;return{setters:[function(t){n=t.a,r=t.b,i=t.c,o=t.d,a=t.e,t.f}],execute:function(){var t=function(t){function n(){r(this,n);var t=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML='\n \n\n
\n
\n\n \n
\n',t.attachShadow({mode:"open"}).appendChild(e),t}return o(n,t),i(n,[{key:"connectedCallback",value:function(){var e=this;this._upgradeProperty("appid"),this._upgradeProperty("host"),this._upgradeProperty("location"),this.xCurrent=this.querySelector("x-current"),this.xForecast=this.querySelector("x-forecast"),this._renderLocation(this.location);var t=this.shadowRoot.querySelector("#location");t.addEventListener("change",function(){e.location=t.value,e.xCurrent.refresh().then(function(t){e.xCurrent.render(t),e.xCurrent.currentWeather=t}),e.xForecast.refresh().then(function(t){e.xForecast.render(t),e.xForecast.currentForecast=t})})}},{key:"attributeChangedCallback",value:function(t,e,n){(e!==n&&"appid"===t||"host"===t||"location"===t)&&("location"===t&&this._renderLocation(this.location),this.xCurrent&&this.xCurrent.setAttribute(t,n),this.xForecast&&this.xForecast.setAttribute(t,n))}},{key:"_renderLocation",value:function(t){var e=this.shadowRoot.querySelector("#location");e.value=t;var n=window.getComputedStyle(this.shadowRoot.querySelector("div[data-x-weather] #location")).fontSize.slice(0,-2);e.style.width=e.value.length*Number(n)/2+"px"}},{key:"_upgradeProperty",value:function(t){if(this.hasOwnProperty(t)){var e=this[t];delete this[t],this[t]=e}}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}}],[{key:"observedAttributes",get:function(){return["appid","host","location"]}}]),n}(HTMLElement);e("load",function(){return n({customElements:customElements,tagName:"x-weather",element:t})});e("default",t)}}}); diff --git a/lib/build-no-polyfills-esm/esm/main.js b/lib/build-no-polyfills-esm/esm/main.js deleted file mode 100644 index 2542c77..0000000 --- a/lib/build-no-polyfills-esm/esm/main.js +++ /dev/null @@ -1 +0,0 @@ -import XCurrent,{load}from"./x-current.js";import XForecastItem,{load as load$1}from"./x-forecast-item.js";import XForecast,{load as load$2}from"./x-forecast.js";import XWeather,{load as load$3}from"./x-weather.js";import"./utilities-d21591dc.js";load(),load$1(),load$2(),load$3();var main={XCurrent:XCurrent,XForecastItem:XForecastItem,XForecast:XForecast,XWeather:XWeather};export default main; diff --git a/lib/build-no-polyfills-esm/esm/registerServiceWorker.js b/lib/build-no-polyfills-esm/esm/registerServiceWorker.js deleted file mode 100644 index 531e8b1..0000000 --- a/lib/build-no-polyfills-esm/esm/registerServiceWorker.js +++ /dev/null @@ -1 +0,0 @@ -var isLocalhost=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)),register=function(e){if("serviceWorker"in navigator){if(new URL(e,window.location).origin!==window.location.origin)return;window.addEventListener("load",function(){var n=e+"service-worker.js";isLocalhost?checkValidServiceWorker(n):registerValidSW(n)})}},registerValidSW=function(e){navigator.serviceWorker.register(e).then(function(e){e.onupdatefound=function(){var n=e.installing;n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?(console.log("New content is available; Reloading..."),window.location.reload(!0)):console.log("Content is cached for offline use."))}}}).catch(function(e){console.error("Error during service worker registration:",e)})},checkValidServiceWorker=function(e){fetch(e).then(function(n){404===n.status||-1===n.headers.get("content-type").indexOf("javascript")?navigator.serviceWorker.ready.then(function(e){e.unregister().then(function(){window.location.reload()})}):registerValidSW(e)}).catch(function(){console.log("No internet connection found. App is running in offline mode.")})},unregister=function(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(e){e.unregister()})};export default register;export{unregister}; diff --git a/lib/build-no-polyfills-esm/esm/utilities-d21591dc.js b/lib/build-no-polyfills-esm/esm/utilities-d21591dc.js deleted file mode 100644 index e5f4646..0000000 --- a/lib/build-no-polyfills-esm/esm/utilities-d21591dc.js +++ /dev/null @@ -1 +0,0 @@ -var classCallCheck=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},createClass=function(){function t(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"cToF",n=function(t){return t+273.15},r=function(t){return t-273.15},s=function(t){return 1.8*t+32},o=function(t){return 5*(t-32)/9};return{cToK:n,kToC:r,cToF:s,fToC:o,kToF:function(t){return s(r(t))},fToK:function(t){return n(o(t))}}[e](t)},generateUUID=function(){var t=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(t+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var n=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"===e?n:3&n|8).toString(16)})},getElementById=function(t,e){var n=[];n.push(e);for(var r=void 0;n.length;){if((r=n.shift()).id===t)return r;n.push.apply(n,toConsumableArray(r.children))}return!1},isObjectEmpty=function(t){return 0===Object.keys(t).length&&t.constructor===Object},loadComponent=function(t){var e=t.customElements,n=t.tagName,r=t.element,s=function(t){var e=t.customElements,n=t.tagName,r=t.element;e.define(n,r)};window.customElements?s({customElements:e,tagName:n,element:r}):document.addEventListener("WebComponentsReady",function(){s({customElements:e,tagName:n,element:r})})},unixEpochToDate=function(t){return new Date(1e3*t)},dateTime=function(t){return{date:t,results:"",getResults:function(){return this.results},getTimeStamp:function(){return this.date.getTime()},Y:function(t){return this.results+=this.date.getFullYear(),this.sep(t)&&(this.results+=t),this},m:function(t){return this.results+=this.pad(this.date.getMonth()+1),this.sep(t)&&(this.results+=t),this},d:function(t){return this.results+=this.pad(this.date.getDate()),this.sep(t)&&(this.results+=t),this},H:function(t){return this.results+=this.pad(this.date.getHours()),this.sep(t)&&(this.results+=t),this},M:function(t){return this.results+=this.pad(this.date.getMinutes()),this.sep(t)&&(this.results+=t),this},S:function(t){return this.results+=this.pad(this.date.getSeconds()),this.sep(t)&&(this.results+=t),this},pad:function(t){return t<10?"0"+t:t},sep:function(t){return!!t}}},to12HourTime=function(t){var e=String(t).split(":"),n=Number(e[0]),r=Number(e[1])||0,s=Number(e[2])||0;(n<0||n>23||r<0||r>59||s<0||s>59)&&(n=r=s=0);var o="12";return n>0&&n<=12&&(o=String(n)),n>12&&(o=String(n%o)),o+=r<10?":0"+r:":"+r,o+=s<10?":0"+s:":"+s,o+=n>=12?" PM":" AM"};export{loadComponent as a,classCallCheck as b,createClass as c,inherits as d,possibleConstructorReturn as e,toConsumableArray as f,convertTemperature as g,dateTime as h,to12HourTime as i,unixEpochToDate as j,isObjectEmpty as k,generateUUID as l,getElementById as m}; diff --git a/lib/build-no-polyfills-esm/esm/utilities.js b/lib/build-no-polyfills-esm/esm/utilities.js deleted file mode 100644 index 7300796..0000000 --- a/lib/build-no-polyfills-esm/esm/utilities.js +++ /dev/null @@ -1 +0,0 @@ -export{g as convertTemperature,l as generateUUID,m as getElementById,k as isObjectEmpty,a as loadComponent,j as unixEpochToDate,h as dateTime,i as to12HourTime}from"./utilities-d21591dc.js"; diff --git a/lib/build-no-polyfills-esm/esm/workbox-config.js b/lib/build-no-polyfills-esm/esm/workbox-config.js deleted file mode 100644 index d2eb271..0000000 --- a/lib/build-no-polyfills-esm/esm/workbox-config.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={globDirectory:"./",globPatterns:["**/*.{js,png,ico,html}"],templatedURLs:{"/x-weather/":""+new Date},swDest:"service-worker.js",runtimeCaching:[{urlPattern:/\.(?:png|jpg|jpeg|svg)$/,handler:"CacheFirst",options:{cacheName:"images",expiration:{maxEntries:100}}},{urlPattern:new RegExp("^https://api.openweathermap.org/data/2.5.*$"),handler:"NetworkFirst",options:{cacheName:"openweathermap-api-cache",expiration:{maxEntries:1e3,maxAgeSeconds:31536e3}}},{urlPattern:new RegExp("^https://openweathermap.org/.*$"),handler:"CacheFirst",options:{cacheableResponse:{statuses:[0,200]},cacheName:"openweathermap-cache",expiration:{maxEntries:1e3,maxAgeSeconds:31536e3}}},{urlPattern:new RegExp("^https://cdn.jsdelivr.net/.*$"),handler:"CacheFirst",options:{cacheableResponse:{statuses:[0,200]},cacheName:"cdn-jsdeliver-cache",expiration:{maxEntries:1e3,maxAgeSeconds:31536e3}}},{urlPattern:new RegExp("^https://rawgit.com/.*$"),handler:"CacheFirst",options:{cacheableResponse:{statuses:[0,200]},cacheName:"rawgit-cache",expiration:{maxEntries:1e3,maxAgeSeconds:31536e3}}},{urlPattern:new RegExp("^https://unpkg.com/.*$"),handler:"CacheFirst",options:{cacheableResponse:{statuses:[0,200]},cacheName:"unpkg-cache",expiration:{maxEntries:1e3,maxAgeSeconds:31536e3}}}]}; diff --git a/lib/build-no-polyfills-esm/esm/x-current.js b/lib/build-no-polyfills-esm/esm/x-current.js deleted file mode 100644 index 32cebb6..0000000 --- a/lib/build-no-polyfills-esm/esm/x-current.js +++ /dev/null @@ -1 +0,0 @@ -import{g as convertTemperature,h as dateTime,a as loadComponent,i as to12HourTime,j as unixEpochToDate,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template='\n \n\n
\n
    \n
  • \n
  • ° /
  • \n
\n
\n \n
\n
\n',XCurrent=function(t){function e(){classCallCheck(this,e);var t=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n=document.createElement("div");return n.innerHTML=template,t.attachShadow({mode:"open"}).appendChild(n),t}return inherits(e,_CustomElement),createClass(e,[{key:"connectedCallback",value:function(){var t=this;this.refresh().then(function(e){t.render(e),t.currentWeather=e,t.primaryScale=t.shadowRoot.querySelector("#primaryScale"),t.alternateScale=t.shadowRoot.querySelector("#alternateScale"),t.primaryScale.textContent=t.scale,t.alternateScale.textContent="C"===t.scale?"F":"C",t.alternateScale.onclick=function(){t.scale=t.alternateScale.textContent;var e=t.parentElement.querySelector("x-forecast");e&&e.setAttribute("scale",t.primaryScale.textContent)}})}},{key:"attributeChangedCallback",value:function(t,e,n){"scale"===t&&e!==n&&this.alternateScale&&this.primaryScale&&("C"===n&&(this.alternateScale.textContent="F",this.primaryScale.textContent=n),"F"===n&&(this.alternateScale.textContent="C",this.primaryScale.textContent=n),this.render(this.currentWeather))}},{key:"_getCurrentWeather",value:function(t){var e=t.appid,n=t.host,r=t.location;if(e&&n&&r)return this._serviceHandler({appid:e,host:n,location:r}).then(function(t){t.coord;var e=t.weather,n=(t.base,t.main),r=(t.visibility,t.wind,t.clouds,t.dt);t.sys,t.id,t.name,t.cod;return{iconAlt:e[0].description,iconSrc:e[0].icon,temperature:{kelvin:n.temp,celsius:convertTemperature(n.temp,"kToC"),fahrenheit:convertTemperature(n.temp,"kToF")},timestamp:r}})}},{key:"_serviceHandler",value:function(t){var e=t.appid,n=t.host,r=t.location;return fetch("https://"+n+"/data/2.5/weather?q="+r+"&appid="+e,{method:"GET"}).then(function(t){if(t.ok)return t.json()})}},{key:"refresh",value:function(){var t={appid:this.parentElement.getAttribute("appid"),host:this.parentElement.getAttribute("host"),location:this.parentElement.getAttribute("location")};return this._getCurrentWeather(t)}},{key:"render",value:function(t){var e=t.iconAlt,n=t.iconSrc,r=t.temperature,a=t.timestamp;this.temperature=Number.parseFloat(r["C"===this.scale?"celsius":"fahrenheit"]).toFixed(2),this.iconAlt=e,this.iconSrc="https://openweathermap.org/themes/openweathermap/assets/vendor/owm/img/widgets/"+n+".png",this.timestamp=a}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}},{key:"iconAlt",set:function(t){this.shadowRoot.querySelector("#icon").setAttribute("alt",t)}},{key:"iconSrc",set:function(t){this.shadowRoot.querySelector("#icon").src=t}},{key:"scale",get:function(){return this.getAttribute("scale")},set:function(t){this.setAttribute("scale",t)}},{key:"temperature",set:function(t){this.setAttribute("temperature",t),this.shadowRoot.querySelector("#temperature").textContent=t}},{key:"timestamp",set:function(t){this.shadowRoot.querySelector("#time").innerHTML="\n
\n "+to12HourTime(dateTime(unixEpochToDate(t)).H(":").M(":").S().getResults())+" ("+dateTime(new Date).m("-").d().getResults()+"):\n
\n "}}],[{key:"observedAttributes",get:function(){return["scale"]}}]),e}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-current",element:XCurrent})};export default XCurrent;export{load}; diff --git a/lib/build-no-polyfills-esm/esm/x-forecast-item.js b/lib/build-no-polyfills-esm/esm/x-forecast-item.js deleted file mode 100644 index c1a725a..0000000 --- a/lib/build-no-polyfills-esm/esm/x-forecast-item.js +++ /dev/null @@ -1 +0,0 @@ -import{a as loadComponent,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template='\n \n\n
    \n
  • \n \n
  • \n
  • ° °
  • \n
  • \n \n
  • \n
\n',XForecastItem=function(t){function e(){classCallCheck(this,e);var t=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n=document.createElement("div");return n.innerHTML=template,t.attachShadow({mode:"open"}).appendChild(n),t}return inherits(e,_CustomElement),createClass(e,[{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"day":this.shadowRoot.getElementById("day").textContent=n.slice(0,-1);break;case"description":this.shadowRoot.getElementById("icon").alt=n;break;case"forecast-date":this.shadowRoot.getElementById("forecastDate").textContent=n;break;case"icon":this.shadowRoot.getElementById("icon").src=n;break;case"night":this.shadowRoot.getElementById("night").textContent=n.slice(0,-1);break;case"scale":this.shadowRoot.querySelectorAll("[data-scale]").forEach(function(t){t.textContent=n})}}}],[{key:"observedAttributes",get:function(){return["day","description","forecast-date","icon","night","scale"]}}]),e}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-forecast-item",element:XForecastItem})};export default XForecastItem;export{load}; diff --git a/lib/build-no-polyfills-esm/esm/x-forecast.js b/lib/build-no-polyfills-esm/esm/x-forecast.js deleted file mode 100644 index fb03a2d..0000000 --- a/lib/build-no-polyfills-esm/esm/x-forecast.js +++ /dev/null @@ -1 +0,0 @@ -import{g as convertTemperature,h as dateTime,k as isObjectEmpty,a as loadComponent,j as unixEpochToDate,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template="\n \n\n
\n
\n
\n",XForecast=function(t){function e(){classCallCheck(this,e);var t=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),a=document.createElement("div");return a.innerHTML=template,t.attachShadow({mode:"open"}).appendChild(a),t}return inherits(e,_CustomElement),createClass(e,[{key:"connectedCallback",value:function(){var t=this;this.refresh().then(function(e){t.render(e,t.days),t.currentForecast=e})}},{key:"attributeChangedCallback",value:function(t,e,a){e!==a&&null!==this.days&&("days"!==t&&"scale"!==t||this.render(this.currentForecast,this.days))}},{key:"_buildDateContainer",value:function(t,e){var a=this,n=document.createElement("div");if(n.setAttribute("data-x-forecast-date-container",""),t&&!isObjectEmpty(t)){var r=dateTime(new Date).Y("-").m("-").d("").getResults();t.length>e&&(t.length=e),t.forEach(function(t){var e=t.dt,o=t.temp,s=(t.pressure,t.humidity,t.weather),i=(t.speed,t.deg,t.clouds,t.rain,document.createElement("x-forecast-item"));i.setAttribute("day",a._convertForecast({scale:a.scale,timeOfDayTemp:o.day})),i.setAttribute("description",s[0].description),i.setAttribute("forecast-date",a._getDayOfWeek({dt:e,today:r})),i.setAttribute("icon","https://openweathermap.org/themes/openweathermap/assets/vendor/owm/img/widgets/"+s[0].icon+".png"),i.setAttribute("night",a._convertForecast({scale:a.scale,timeOfDayTemp:o.night})),i.setAttribute("scale",a.scale),n.appendChild(i)})}return n}},{key:"_convertForecast",value:function(t){var e=t.scale,a=t.timeOfDayTemp;return""+Number.parseFloat("F"===e?convertTemperature(a,"cToF"):a).toFixed(2)}},{key:"_getDayOfWeek",value:function(t){var e=t.dt,a=t.today,n=unixEpochToDate(e),r=dateTime(n).Y("-").m("-").d().getResults(),o=dateTime(n).m("/").d().getResults();return r===a?"Today ("+o+"):":dateTime(n).date.toLocaleString("en-US",{weekday:"long"})+" ("+o+"):"}},{key:"_getForecast",value:function(t){var e=t.appid,a=t.host,n=t.location;if(e&&a&&n)return this._serviceHandler({appid:e,host:a,location:n}).then(function(t){t.city,t.cod,t.message,t.cnt;return t.list})}},{key:"_serviceHandler",value:function(t){var e=t.appid,a=t.host,n=t.location;return fetch("https://"+a+"/data/2.5/forecast/daily?q="+n+"&mode=json&units=metric&cnt=14&appid="+e,{method:"GET"}).then(function(t){if(t.ok)return t.json()})}},{key:"refresh",value:function(){var t={appid:this.parentElement.getAttribute("appid"),host:this.parentElement.getAttribute("host"),location:this.parentElement.getAttribute("location")};return this._getForecast(t)}},{key:"render",value:function(t,e){var a=this.shadowRoot.querySelector("[data-x-forecast]"),n=this.shadowRoot.querySelector("[data-x-forecast] > [data-x-forecast-date-container]");a.replaceChild(this._buildDateContainer(t,e),n)}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"days",get:function(){return this.getAttribute("days")},set:function(t){this.setAttribute("days",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}},{key:"scale",get:function(){return this.getAttribute("scale")},set:function(t){this.setAttribute("scale",t)}}],[{key:"observedAttributes",get:function(){return["days","scale"]}}]),e}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-forecast",element:XForecast})};export default XForecast;export{load}; diff --git a/lib/build-no-polyfills-esm/esm/x-weather-bottom.js b/lib/build-no-polyfills-esm/esm/x-weather-bottom.js deleted file mode 100644 index c37625e..0000000 --- a/lib/build-no-polyfills-esm/esm/x-weather-bottom.js +++ /dev/null @@ -1 +0,0 @@ -import{a as loadComponent,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template='\n \n\n
\n \n
\n',XWeatherBottom=function(t){function e(){classCallCheck(this,e);var t=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),o=document.createElement("div");return o.innerHTML=template,t.attachShadow({mode:"open"}).appendChild(o),t}return inherits(e,_CustomElement),e}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-weather-bottom",element:XWeatherBottom})};export default XWeatherBottom;export{load}; diff --git a/lib/build-no-polyfills-esm/esm/x-weather-middle.js b/lib/build-no-polyfills-esm/esm/x-weather-middle.js deleted file mode 100644 index df35c0a..0000000 --- a/lib/build-no-polyfills-esm/esm/x-weather-middle.js +++ /dev/null @@ -1 +0,0 @@ -import{a as loadComponent,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template='\n \n\n
\n \n
\n',XWeatherMiddle=function(e){function t(){classCallCheck(this,t);var e=possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),n=document.createElement("div");return n.innerHTML=template,e.attachShadow({mode:"open"}).appendChild(n),e}return inherits(t,_CustomElement),t}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-weather-middle",element:XWeatherMiddle})};export default XWeatherMiddle;export{load}; diff --git a/lib/build-no-polyfills-esm/esm/x-weather-top.js b/lib/build-no-polyfills-esm/esm/x-weather-top.js deleted file mode 100644 index d40dc2b..0000000 --- a/lib/build-no-polyfills-esm/esm/x-weather-top.js +++ /dev/null @@ -1 +0,0 @@ -import{a as loadComponent,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template="\n \n\n
\n \n
\n",XWeatherTop=function(t){function e(){classCallCheck(this,e);var t=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),o=document.createElement("div");return o.innerHTML=template,t.attachShadow({mode:"open"}).appendChild(o),t}return inherits(e,_CustomElement),e}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-weather-top",element:XWeatherTop})};export default XWeatherTop;export{load}; diff --git a/lib/build-no-polyfills-esm/esm/x-weather.js b/lib/build-no-polyfills-esm/esm/x-weather.js deleted file mode 100644 index 14493cd..0000000 --- a/lib/build-no-polyfills-esm/esm/x-weather.js +++ /dev/null @@ -1 +0,0 @@ -import{a as loadComponent,b as classCallCheck,c as createClass,d as inherits,e as possibleConstructorReturn,f as toConsumableArray}from"./utilities-d21591dc.js";function _CustomElement(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(_CustomElement.prototype,HTMLElement.prototype),Object.setPrototypeOf(_CustomElement,HTMLElement);var template='\n \n\n
\n
\n\n \n
\n',XWeather=function(t){function e(){classCallCheck(this,e);var t=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),o=document.createElement("div");return o.innerHTML=template,t.attachShadow({mode:"open"}).appendChild(o),t}return inherits(e,_CustomElement),createClass(e,[{key:"connectedCallback",value:function(){var t=this;this._upgradeProperty("appid"),this._upgradeProperty("host"),this._upgradeProperty("location"),this.xCurrent=this.querySelector("x-current"),this.xForecast=this.querySelector("x-forecast"),this._renderLocation(this.location);var e=this.shadowRoot.querySelector("#location");e.addEventListener("change",function(){t.location=e.value,t.xCurrent.refresh().then(function(e){t.xCurrent.render(e),t.xCurrent.currentWeather=e}),t.xForecast.refresh().then(function(e){t.xForecast.render(e),t.xForecast.currentForecast=e})})}},{key:"attributeChangedCallback",value:function(t,e,o){(e!==o&&"appid"===t||"host"===t||"location"===t)&&("location"===t&&this._renderLocation(this.location),this.xCurrent&&this.xCurrent.setAttribute(t,o),this.xForecast&&this.xForecast.setAttribute(t,o))}},{key:"_renderLocation",value:function(t){var e=this.shadowRoot.querySelector("#location");e.value=t;var o=window.getComputedStyle(this.shadowRoot.querySelector("div[data-x-weather] #location")).fontSize.slice(0,-2);e.style.width=e.value.length*Number(o)/2+"px"}},{key:"_upgradeProperty",value:function(t){if(this.hasOwnProperty(t)){var e=this[t];delete this[t],this[t]=e}}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}}],[{key:"observedAttributes",get:function(){return["appid","host","location"]}}]),e}(),load=function(){return loadComponent({customElements:customElements,tagName:"x-weather",element:XWeather})};export default XWeather;export{load}; diff --git a/lib/build-no-polyfills-esm/favicon.ico b/lib/build-no-polyfills-esm/favicon.ico deleted file mode 100644 index 7dfb6e667ac50eddebc4671ce840db03f98a03eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34494 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 - - - - - XWeather - - - - - - -
- - - - - - -
- - - - - - diff --git a/lib/build-no-polyfills-esm/service-worker.js b/lib/build-no-polyfills-esm/service-worker.js deleted file mode 100644 index 9b20a3b..0000000 --- a/lib/build-no-polyfills-esm/service-worker.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Welcome to your Workbox-powered service worker! - * - * You'll need to register this file in your web app and you should - * disable HTTP caching for this file too. - * See https://goo.gl/nhQhGp - * - * The rest of the code is auto-generated. Please don't update this file - * directly; instead, make changes to your Workbox build configuration - * and re-run your build process. - * See https://goo.gl/2aRDsh - */ - -importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); - -self.addEventListener('message', (event) => { - if (event.data && event.data.type === 'SKIP_WAITING') { - self.skipWaiting(); - } -}); - -/** - * The workboxSW.precacheAndRoute() method efficiently caches and responds to - * requests for URLs in the manifest. - * See https://goo.gl/S9QRab - */ -self.__precacheManifest = [ - { - "url": "esm/main.js", - "revision": "e3d385660a4ae57ecfae67eb8e0b9678" - }, - { - "url": "esm/registerServiceWorker.js", - "revision": "9842b9d6be06080908fd80ed37ae3bf4" - }, - { - "url": "esm/utilities-d21591dc.js", - "revision": "cc932eb3f62808bbba02db92ec1f0f06" - }, - { - "url": "esm/utilities.js", - "revision": "d40ce527aeaa265418ec2eb124064af6" - }, - { - "url": "esm/workbox-config.js", - "revision": "ed4d5e6797b55e60c1eb8d3efb074f87" - }, - { - "url": "esm/x-current.js", - "revision": "9c7b978211c8b622f27a855854bfe2e8" - }, - { - "url": "esm/x-forecast-item.js", - "revision": "f5690ae477682871608143e8654d4476" - }, - { - "url": "esm/x-forecast.js", - "revision": "6d83f11fd4f92cd0d15838bc01ac7cf0" - }, - { - "url": "esm/x-weather-bottom.js", - "revision": "6260f2e481e080b24e83c8c0f17ecd54" - }, - { - "url": "esm/x-weather-middle.js", - "revision": "faee729ab18580a0a058169695156339" - }, - { - "url": "esm/x-weather-top.js", - "revision": "1d8b6ae28b6b5cff29c29b3697000a88" - }, - { - "url": "esm/x-weather.js", - "revision": "898ef4ce8dfec6ab96252c4455462c43" - }, - { - "url": "favicon.ico", - "revision": "8e95f1cb8b20c3c74e03e8788dcf2130" - }, - { - "url": "index.html", - "revision": "0cf1f247cf0936d6cb6c9d7b8146d100" - }, - { - "url": "registerServiceWorker.js", - "revision": "978ca08cac55cee9992016f4e8c266fc" - }, - { - "url": "workbox-config.js", - "revision": "f1fa12bfce8b985337133a4ed7ec6c10" - }, - { - "url": "/x-weather/", - "revision": "799f3b1e64a0ec48abde2678953717de" - } -].concat(self.__precacheManifest || []); -workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); - -workbox.routing.registerRoute(/\.(?:png|jpg|jpeg|svg)$/, new workbox.strategies.CacheFirst({ "cacheName":"images", plugins: [new workbox.expiration.Plugin({ maxEntries: 100, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/api.openweathermap.org\/data\/2.5.*$/, new workbox.strategies.NetworkFirst({ "cacheName":"openweathermap-api-cache", plugins: [new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/openweathermap.org\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"openweathermap-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/cdn.jsdelivr.net\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"cdn-jsdeliver-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/rawgit.com\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"rawgit-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/unpkg.com\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"unpkg-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); diff --git a/lib/build-no-polyfills-esm/workbox-config.js b/lib/build-no-polyfills-esm/workbox-config.js deleted file mode 100644 index b675c2f..0000000 --- a/lib/build-no-polyfills-esm/workbox-config.js +++ /dev/null @@ -1,98 +0,0 @@ -module.exports = { - "globDirectory": "./", - "globPatterns": [ - "**/*.{js,png,ico,html}" - ], - templatedURLs: { - '/x-weather/': `${new Date()}`, - }, - "swDest": "service-worker.js", - // Define runtime caching rules. - runtimeCaching: [ - { - // Match any request ends with .png, .jpg, .jpeg or .svg. - urlPattern: /\.(?:png|jpg|jpeg|svg)$/, - - // Apply a cache-first strategy. - handler: 'CacheFirst', - - options: { - // Use a custom cache name. - cacheName: 'images', - - // Only cache 10 images. - expiration: { - maxEntries: 100, - }, - }, - }, - { - urlPattern: new RegExp('^https://api.openweathermap.org/data/2.5.*$'), - handler: 'NetworkFirst', - options: { - cacheName: 'openweathermap-api-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://openweathermap.org/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'openweathermap-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://cdn.jsdelivr.net/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'cdn-jsdeliver-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://rawgit.com/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'rawgit-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://unpkg.com/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'unpkg-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - ], - -}; diff --git a/lib/build-no-polyfills-iife/favicon.ico b/lib/build-no-polyfills-iife/favicon.ico deleted file mode 100644 index 7dfb6e667ac50eddebc4671ce840db03f98a03eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34494 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\n "+function(t){var e=String(t).split(":"),n=Number(e[0]),r=Number(e[1])||0,i=Number(e[2])||0;(n<0||23\n "}}],[{key:"observedAttributes",get:function(){return["scale"]}}]),n}();function l(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(l.prototype,HTMLElement.prototype),Object.setPrototypeOf(l,HTMLElement);var d=function(t){function n(){r(this,n);var t=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML='\n \n\n
    \n
  • \n \n
  • \n
  • ° °
  • \n
  • \n \n
  • \n
\n',t.attachShadow({mode:"open"}).appendChild(e),t}return i(n,l),e(n,[{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"day":this.shadowRoot.getElementById("day").textContent=n.slice(0,-1);break;case"description":this.shadowRoot.getElementById("icon").alt=n;break;case"forecast-date":this.shadowRoot.getElementById("forecastDate").textContent=n;break;case"icon":this.shadowRoot.getElementById("icon").src=n;break;case"night":this.shadowRoot.getElementById("night").textContent=n.slice(0,-1);break;case"scale":this.shadowRoot.querySelectorAll("[data-scale]").forEach(function(t){t.textContent=n})}}}],[{key:"observedAttributes",get:function(){return["day","description","forecast-date","icon","night","scale"]}}]),n}();function h(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(h.prototype,HTMLElement.prototype),Object.setPrototypeOf(h,HTMLElement);var p=function(t){function n(){r(this,n);var t=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML="\n \n\n
\n
\n
\n",t.attachShadow({mode:"open"}).appendChild(e),t}return i(n,h),e(n,[{key:"connectedCallback",value:function(){var e=this;this.refresh().then(function(t){e.render(t,e.days),e.currentForecast=t})}},{key:"attributeChangedCallback",value:function(t,e,n){e!==n&&null!==this.days&&("days"!==t&&"scale"!==t||this.render(this.currentForecast,this.days))}},{key:"_buildDateContainer",value:function(t,e){var n,a=this,o=document.createElement("div");if(o.setAttribute("data-x-forecast-date-container",""),t&&(n=t,0!==Object.keys(n).length||n.constructor!==Object)){var s=c(new Date).Y("-").m("-").d("").getResults();t.length>e&&(t.length=e),t.forEach(function(t){var e=t.dt,n=t.temp,r=(t.pressure,t.humidity,t.weather),i=(t.speed,t.deg,t.clouds,t.rain,document.createElement("x-forecast-item"));i.setAttribute("day",a._convertForecast({scale:a.scale,timeOfDayTemp:n.day})),i.setAttribute("description",r[0].description),i.setAttribute("forecast-date",a._getDayOfWeek({dt:e,today:s})),i.setAttribute("icon","https://openweathermap.org/themes/openweathermap/assets/vendor/owm/img/widgets/"+r[0].icon+".png"),i.setAttribute("night",a._convertForecast({scale:a.scale,timeOfDayTemp:n.night})),i.setAttribute("scale",a.scale),o.appendChild(i)})}return o}},{key:"_convertForecast",value:function(t){var e=t.scale,n=t.timeOfDayTemp;return""+Number.parseFloat("F"===e?o(n,"cToF"):n).toFixed(2)}},{key:"_getDayOfWeek",value:function(t){var e=t.dt,n=t.today,r=s(e),i=c(r).Y("-").m("-").d().getResults(),a=c(r).m("/").d().getResults();return i===n?"Today ("+a+"):":c(r).date.toLocaleString("en-US",{weekday:"long"})+" ("+a+"):"}},{key:"_getForecast",value:function(t){var e=t.appid,n=t.host,r=t.location;if(e&&n&&r)return this._serviceHandler({appid:e,host:n,location:r}).then(function(t){t.city,t.cod,t.message,t.cnt;return t.list})}},{key:"_serviceHandler",value:function(t){var e=t.appid,n=t.host,r=t.location;return fetch("https://"+n+"/data/2.5/forecast/daily?q="+r+"&mode=json&units=metric&cnt=14&appid="+e,{method:"GET"}).then(function(t){if(t.ok)return t.json()})}},{key:"refresh",value:function(){var t={appid:this.parentElement.getAttribute("appid"),host:this.parentElement.getAttribute("host"),location:this.parentElement.getAttribute("location")};return this._getForecast(t)}},{key:"render",value:function(t,e){var n=this.shadowRoot.querySelector("[data-x-forecast]"),r=this.shadowRoot.querySelector("[data-x-forecast] > [data-x-forecast-date-container]");n.replaceChild(this._buildDateContainer(t,e),r)}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"days",get:function(){return this.getAttribute("days")},set:function(t){this.setAttribute("days",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}},{key:"scale",get:function(){return this.getAttribute("scale")},set:function(t){this.setAttribute("scale",t)}}],[{key:"observedAttributes",get:function(){return["days","scale"]}}]),n}();function f(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(f.prototype,HTMLElement.prototype),Object.setPrototypeOf(f,HTMLElement);var m=function(t){function n(){r(this,n);var t=a(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),e=document.createElement("div");return e.innerHTML='\n \n\n
\n
\n\n \n
\n',t.attachShadow({mode:"open"}).appendChild(e),t}return i(n,f),e(n,[{key:"connectedCallback",value:function(){var e=this;this._upgradeProperty("appid"),this._upgradeProperty("host"),this._upgradeProperty("location"),this.xCurrent=this.querySelector("x-current"),this.xForecast=this.querySelector("x-forecast"),this._renderLocation(this.location);var t=this.shadowRoot.querySelector("#location");t.addEventListener("change",function(){e.location=t.value,e.xCurrent.refresh().then(function(t){e.xCurrent.render(t),e.xCurrent.currentWeather=t}),e.xForecast.refresh().then(function(t){e.xForecast.render(t),e.xForecast.currentForecast=t})})}},{key:"attributeChangedCallback",value:function(t,e,n){(e!==n&&"appid"===t||"host"===t||"location"===t)&&("location"===t&&this._renderLocation(this.location),this.xCurrent&&this.xCurrent.setAttribute(t,n),this.xForecast&&this.xForecast.setAttribute(t,n))}},{key:"_renderLocation",value:function(t){var e=this.shadowRoot.querySelector("#location");e.value=t;var n=window.getComputedStyle(this.shadowRoot.querySelector("div[data-x-weather] #location")).fontSize.slice(0,-2);e.style.width=e.value.length*Number(n)/2+"px"}},{key:"_upgradeProperty",value:function(t){if(this.hasOwnProperty(t)){var e=this[t];delete this[t],this[t]=e}}},{key:"appid",get:function(){return this.getAttribute("appid")},set:function(t){this.setAttribute("appid",t)}},{key:"host",get:function(){return this.getAttribute("host")},set:function(t){this.setAttribute("host",t)}},{key:"location",get:function(){return this.getAttribute("location")},set:function(t){this.setAttribute("location",t)}}],[{key:"observedAttributes",get:function(){return["appid","host","location"]}}]),n}();return t({customElements:customElements,tagName:"x-current",element:n}),t({customElements:customElements,tagName:"x-forecast-item",element:d}),t({customElements:customElements,tagName:"x-forecast",element:p}),t({customElements:customElements,tagName:"x-weather",element:m}),{XCurrent:n,XForecastItem:d,XForecast:p,XWeather:m}}(); diff --git a/lib/build-no-polyfills-iife/index.html b/lib/build-no-polyfills-iife/index.html deleted file mode 100644 index 14440d6..0000000 --- a/lib/build-no-polyfills-iife/index.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - XWeather - - - - - - -
- - - - - - -
- - - - - - diff --git a/lib/build-no-polyfills-iife/registerServiceWorker.js b/lib/build-no-polyfills-iife/registerServiceWorker.js deleted file mode 100644 index 1077f6f..0000000 --- a/lib/build-no-polyfills-iife/registerServiceWorker.js +++ /dev/null @@ -1,96 +0,0 @@ -// Register a service worker to serve assets from local cache. - -// This lets the app load faster on subsequent visits and gives it offline capabilities. It also means that users will -// only see deployed updates on the "N+1" visit to a page, since previously cached resources are updated in the -// background. - -// To learn more about the benefits of this model, read https://goo.gl/KwvDNy. -const isLocalhost = Boolean( - window.location.hostname === 'localhost' || - // [::1] is the IPv6 localhost address. - window.location.hostname === '[::1]' || - // 127.0.0.1/8 is considered localhost for IPv4. - window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/) -) - -const register = publicUrl => { - if ('serviceWorker' in navigator) { - // The URL constructor is available in all browsers that support SW. - const url = new URL(publicUrl, window.location) - if (url.origin !== window.location.origin) { - // Our service worker won't work if publicUrl is on a different origin - // from what our page is served on. This might happen if a CDN is used to - // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374 - return - } - - window.addEventListener('load', () => { - const swUrl = `${publicUrl}service-worker.js` - - if (isLocalhost) { - // This is running on localhost. Lets check if a service worker still exists or not. - checkValidServiceWorker(swUrl) - } else { - // Is not local host. Just register service worker - registerValidSW(swUrl) - } - }) - } -} - -const registerValidSW = swUrl => { - navigator.serviceWorker - .register(swUrl) - .then(registration => { - registration.onupdatefound = () => { - const installingWorker = registration.installing - - installingWorker.onstatechange = () => { - if (installingWorker.state === 'installed') { - if (navigator.serviceWorker.controller) { - console.log('New content is available; Reloading...') // eslint-disable-line no-console - - window.location.reload(true) - } else { - console.log('Content is cached for offline use.') // eslint-disable-line no-console - } - } - } - } - }) - .catch(error => { - console.error('Error during service worker registration:', error) // eslint-disable-line no-console - }) -} - -const checkValidServiceWorker = swUrl => { - // Check if the service worker can be found. If it can't reload the page. - fetch(swUrl) - .then(response => { - // Ensure service worker exists, and that we really are getting a JS file. - if (response.status === 404 || response.headers.get('content-type').indexOf('javascript') === -1) { - // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then(registration => { - registration.unregister().then(() => { - window.location.reload() - }) - }) - } else { - // Service worker found. Proceed as normal. - registerValidSW(swUrl) - } - }) - .catch(() => { - console.log('No internet connection found. App is running in offline mode.') // eslint-disable-line no-console - }) -} - -export const unregister = () => { - if ('serviceWorker' in navigator) { - navigator.serviceWorker.ready.then(registration => { - registration.unregister() - }) - } -} - -export default register diff --git a/lib/build-no-polyfills-iife/service-worker.js b/lib/build-no-polyfills-iife/service-worker.js deleted file mode 100644 index e396d59..0000000 --- a/lib/build-no-polyfills-iife/service-worker.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Welcome to your Workbox-powered service worker! - * - * You'll need to register this file in your web app and you should - * disable HTTP caching for this file too. - * See https://goo.gl/nhQhGp - * - * The rest of the code is auto-generated. Please don't update this file - * directly; instead, make changes to your Workbox build configuration - * and re-run your build process. - * See https://goo.gl/2aRDsh - */ - -importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); - -self.addEventListener('message', (event) => { - if (event.data && event.data.type === 'SKIP_WAITING') { - self.skipWaiting(); - } -}); - -/** - * The workboxSW.precacheAndRoute() method efficiently caches and responds to - * requests for URLs in the manifest. - * See https://goo.gl/S9QRab - */ -self.__precacheManifest = [ - { - "url": "favicon.ico", - "revision": "8e95f1cb8b20c3c74e03e8788dcf2130" - }, - { - "url": "iife/main.js", - "revision": "a6d085d57b2ff24e58d08eb74f2d7888" - }, - { - "url": "index.html", - "revision": "e5de36abc33a6fcbc986123f3f736e26" - }, - { - "url": "registerServiceWorker.js", - "revision": "978ca08cac55cee9992016f4e8c266fc" - }, - { - "url": "workbox-config.js", - "revision": "f1fa12bfce8b985337133a4ed7ec6c10" - }, - { - "url": "/x-weather/", - "revision": "6302cf26cac076e0cb677ee78247a77b" - } -].concat(self.__precacheManifest || []); -workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); - -workbox.routing.registerRoute(/\.(?:png|jpg|jpeg|svg)$/, new workbox.strategies.CacheFirst({ "cacheName":"images", plugins: [new workbox.expiration.Plugin({ maxEntries: 100, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/api.openweathermap.org\/data\/2.5.*$/, new workbox.strategies.NetworkFirst({ "cacheName":"openweathermap-api-cache", plugins: [new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/openweathermap.org\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"openweathermap-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/cdn.jsdelivr.net\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"cdn-jsdeliver-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/rawgit.com\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"rawgit-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); -workbox.routing.registerRoute(/^https:\/\/unpkg.com\/.*$/, new workbox.strategies.CacheFirst({ "cacheName":"unpkg-cache", plugins: [new workbox.cacheableResponse.Plugin({ statuses: [ 0, 200 ] }), new workbox.expiration.Plugin({ maxEntries: 1000, maxAgeSeconds: 31536000, purgeOnQuotaError: false })] }), 'GET'); diff --git a/lib/build-no-polyfills-iife/workbox-config.js b/lib/build-no-polyfills-iife/workbox-config.js deleted file mode 100644 index b675c2f..0000000 --- a/lib/build-no-polyfills-iife/workbox-config.js +++ /dev/null @@ -1,98 +0,0 @@ -module.exports = { - "globDirectory": "./", - "globPatterns": [ - "**/*.{js,png,ico,html}" - ], - templatedURLs: { - '/x-weather/': `${new Date()}`, - }, - "swDest": "service-worker.js", - // Define runtime caching rules. - runtimeCaching: [ - { - // Match any request ends with .png, .jpg, .jpeg or .svg. - urlPattern: /\.(?:png|jpg|jpeg|svg)$/, - - // Apply a cache-first strategy. - handler: 'CacheFirst', - - options: { - // Use a custom cache name. - cacheName: 'images', - - // Only cache 10 images. - expiration: { - maxEntries: 100, - }, - }, - }, - { - urlPattern: new RegExp('^https://api.openweathermap.org/data/2.5.*$'), - handler: 'NetworkFirst', - options: { - cacheName: 'openweathermap-api-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://openweathermap.org/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'openweathermap-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://cdn.jsdelivr.net/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'cdn-jsdeliver-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://rawgit.com/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'rawgit-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://unpkg.com/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'unpkg-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - ], - -}; diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..df2e578 --- /dev/null +++ b/manifest.json @@ -0,0 +1,55 @@ +{ + "short_name": "XWeather", + "name": "XWeather", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "./icons/icon-72x72.png", + "sizes": "72x72", + "type": "image/png" + }, + { + "src": "./icons/icon-96x96.png", + "sizes": "96x96", + "type": "image/png" + }, + { + "src": "./icons/icon-128x128.png", + "sizes": "128x128", + "type": "image/png" + }, + { + "src": "./icons/icon-144x144.png", + "sizes": "144x144", + "type": "image/png" + }, + { + "src": "./icons/icon-152x152.png", + "sizes": "152x152", + "type": "image/png" + }, + { + "src": "./icons/icon-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "./icons/icon-384x384.png", + "sizes": "384x384", + "type": "image/png" + }, + { + "src": "./icons/icon-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "start_url": "./index.html", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/package-lock.json b/package-lock.json index 2229827..b60d0e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,1356 +1,1187 @@ { "name": "x-weather", - "version": "1.3.7", + "version": "2.0.4", "lockfileVersion": 1, "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "dev": true, + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", "requires": { "@babel/highlight": "^7.0.0" } }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "@babel/core": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.0.tgz", + "integrity": "sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.0", + "@babel/helpers": "^7.6.0", + "@babel/parser": "^7.6.0", + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.0", + "@babel/types": "^7.6.0", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, - "@babel/runtime": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz", - "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==", + "@babel/generator": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.0.tgz", + "integrity": "sha512-Ms8Mo7YBdMMn1BYuNtKuP/z0TgEIhbcyB8HVR6PPNYp4P61lMsABiS4A3VG1qznjXVCf3r+fVHhm4efTYVsySA==", "dev": true, "requires": { - "regenerator-runtime": "^0.13.2" + "@babel/types": "^7.6.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" }, "dependencies": { - "regenerator-runtime": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", - "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==", + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, - "@hapi/address": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.0.0.tgz", - "integrity": "sha512-mV6T0IYqb0xL1UALPFplXYQmR0twnXG0M6jUswpquqT2sD12BOiCiLy3EvMp/Fy7s3DZElC4/aPjEjo2jeZpvw==", - "dev": true - }, - "@hapi/hoek": { - "version": "6.2.4", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-6.2.4.tgz", - "integrity": "sha512-HOJ20Kc93DkDVvjwHyHawPwPkX44sIrbXazAUDiUXaY2R9JwQGo2PhFfnQtdrsIe4igjG2fPgMra7NYw7qhy0A==", - "dev": true + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } }, - "@hapi/joi": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.0.tgz", - "integrity": "sha512-n6kaRQO8S+kepUTbXL9O/UOL788Odqs38/VOfoCrATDtTvyfiO3fgjlSRaNkHabpTLgM7qru9ifqXlXbXk8SeQ==", + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", "dev": true, "requires": { - "@hapi/address": "2.x.x", - "@hapi/hoek": "6.x.x", - "@hapi/marker": "1.x.x", - "@hapi/topo": "3.x.x" + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "@hapi/marker": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@hapi/marker/-/marker-1.0.0.tgz", - "integrity": "sha512-JOfdekTXnJexfE8PyhZFyHvHjt81rBFSAbTIRAhF2vv/2Y1JzoKsGqxH/GpZJoF7aEfYok8JVcAHmSz1gkBieA==", - "dev": true + "@babel/helper-call-delegate": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + } }, - "@hapi/topo": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.0.tgz", - "integrity": "sha512-gZDI/eXOIk8kP2PkUKjWu9RW8GGVd2Hkgjxyr/S7Z+JF+0mr7bAlbw+DkTRxnD580o8Kqxlnba9wvqp5aOHBww==", + "@babel/helper-define-map": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", + "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", "dev": true, "requires": { - "@hapi/hoek": "6.x.x" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" } }, - "@skatejs/ssr": { - "version": "0.19.9", - "resolved": "https://registry.npmjs.org/@skatejs/ssr/-/ssr-0.19.9.tgz", - "integrity": "sha512-23tX2RwRjz9OlkZfOdoNgx3tpSS5EdXsPx71WVAeLrdqMnlhDHTrKA+KAs7IgYuv0oPFxA7tqfWbM75JeFBwNw==", + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", "dev": true, "requires": { - "babel-register": "6.26.0", - "glob": "7.1.2", - "jest-environment-node": "22.4.1", - "js-beautify": "1.7.5", - "mkdirp": "0.5.1", - "outdent": "^0.5.0", - "parse5": "4.0.0", - "preact": "8.2.7", - "uglify-es": "3.3.10", - "undom": "0.3.3", - "yargs": "11.0.0" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } }, - "@types/node": { - "version": "10.12.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.5.tgz", - "integrity": "sha512-GzdHjq3t3eGLMv92Al90Iq+EoLL+86mPfQhuglbBFO7HiLdC/rkt+zrzJJumAiBF6nsrBWhou22rPW663AAyFw==", - "dev": true + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } }, - "@webcomponents/webcomponentsjs": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-1.2.7.tgz", - "integrity": "sha512-011DyXjpQoZ7f6oMCpYTYgrzsWJ7+0fEbt6Y8KcfZZa3ZdJ/ttoMgeH75SqHDe7aNdolfMhCvrSNNgh9wcsgpA==", - "dev": true + "@babel/helper-hoist-variables": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } }, - "@zeit/schemas": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.1.1.tgz", - "integrity": "sha512-7uBms9Uwzq1GnLK7ar4FvhUONW5PuuASBomeMJ5rREMYxWdm2R0/5iXH2gUm8uqVT1x8U51CGuoaF40Tc0xoJA==", - "dev": true + "@babel/helper-member-expression-to-functions": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", + "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", + "dev": true, + "requires": { + "@babel/types": "^7.5.5" + } }, - "abab": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", - "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", - "dev": true + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "requires": { + "@babel/types": "^7.0.0" + } }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "@babel/helper-module-transforms": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", + "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } }, - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "@babel/types": "^7.0.0" } }, - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", "dev": true }, - "acorn-globals": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", - "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", + "@babel/helper-regex": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", "dev": true, "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - }, - "dependencies": { - "acorn": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz", - "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==", - "dev": true - } + "lodash": "^4.17.13" } }, - "acorn-jsx": { - "version": "3.0.1", - "resolved": "http://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", "dev": true, "requires": { - "acorn": "^3.0.4" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "http://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - } + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "acorn-walk": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", - "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==", - "dev": true - }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true + "@babel/helper-replace-supers": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", + "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5" + } }, - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } }, - "ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "@babel/helper-wrap-function": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "dev": true, "requires": { - "string-width": "^2.0.0" + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" } }, - "ansi-escapes": { - "version": "3.1.0", - "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", - "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", - "dev": true + "@babel/helpers": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.0.tgz", + "integrity": "sha512-W9kao7OBleOjfXtFGgArGRX6eCP0UEcA2ZWEWNkJdRZnHhW4eEbeswbG3EwaRsnQUAEGWYgMq1HsIXuNNNy2eQ==", + "dev": true, + "requires": { + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.0", + "@babel/types": "^7.6.0" + } }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "@babel/parser": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.0.tgz", + "integrity": "sha512-+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ==", "dev": true }, - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", "dev": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" } }, - "append-transform": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "@babel/plugin-proposal-dynamic-import": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", + "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0" } }, - "arch": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", - "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==", - "dev": true + "@babel/plugin-proposal-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" + } }, - "arg": { - "version": "2.0.0", - "resolved": "http://registry.npmjs.org/arg/-/arg-2.0.0.tgz", - "integrity": "sha512-XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk/HNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV/K8wZd7PG4w==", - "dev": true + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz", + "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" } }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", + "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" } }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true + "@babel/plugin-syntax-async-generators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true + "@babel/plugin-syntax-import-meta": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.2.0.tgz", + "integrity": "sha512-Hq6kFSZD7+PHkmBN8bCpHR6J8QEoCuEV/B38AIQscYjgMZkGlXB7cHNFzP5jR4RCh5545yP1ujHdmO7hAgKtBA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } }, - "array-equal": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true + "@babel/plugin-syntax-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } }, - "array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "@babel/plugin-transform-async-to-generator": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", + "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", "dev": true, "requires": { - "array-uniq": "^1.0.1" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" } }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true + "@babel/plugin-transform-block-scoping": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.0.tgz", + "integrity": "sha512-tIt4E23+kw6TgL/edACZwP1OUKrjOTyMrFMLoT5IOFrfMRabCgekjqFd5o6PaAMildBu46oFkekIdMuGkkPEpA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.13" + } }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true + "@babel/plugin-transform-classes": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", + "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.5.5", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4", + "globals": "^11.1.0" + } }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true + "@babel/plugin-transform-computed-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "@babel/plugin-transform-destructuring": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", + "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", "dev": true, "requires": { - "safer-buffer": "~2.1.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "@babel/plugin-transform-dotall-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", + "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "async-done": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", - "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.2", - "process-nextick-args": "^2.0.0", - "stream-exhaust": "^1.0.1" - } - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "async-each-series": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=", - "dev": true - }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true - }, - "axios": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz", - "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=", + "@babel/plugin-transform-duplicate-keys": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", + "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", "dev": true, "requires": { - "follow-redirects": "^1.2.5", - "is-buffer": "^1.1.5" - } - }, - "babel-cli": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz", - "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", - "dev": true, - "requires": { - "babel-core": "^6.26.0", - "babel-polyfill": "^6.26.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "chokidar": "^1.6.1", - "commander": "^2.11.0", - "convert-source-map": "^1.5.0", - "fs-readdir-recursive": "^1.0.0", - "glob": "^7.1.2", - "lodash": "^4.17.4", - "output-file-sync": "^1.1.2", - "path-is-absolute": "^1.0.1", - "slash": "^1.0.0", - "source-map": "^0.5.6", - "v8flags": "^2.1.1" + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-extract-comments": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", - "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", + "@babel/plugin-transform-for-of": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", "dev": true, "requires": { - "babylon": "^6.18.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "@babel/plugin-transform-function-name": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-helper-bindify-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", - "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", + "@babel/plugin-transform-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "@babel/plugin-transform-member-expression-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", + "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "@babel/plugin-transform-modules-amd": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", + "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" } }, - "babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "@babel/plugin-transform-modules-commonjs": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz", + "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "@babel/helper-module-transforms": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "babel-plugin-dynamic-import-node": "^2.3.0" } }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "@babel/plugin-transform-modules-systemjs": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", + "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" } }, - "babel-helper-explode-class": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", - "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "@babel/plugin-transform-modules-umd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", "dev": true, "requires": { - "babel-helper-bindify-decorators": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.0.tgz", + "integrity": "sha512-jem7uytlmrRl3iCAuQyw8BpB4c4LWvSpvIeXKpMb+7j84lkx4m4mYr5ErAcmN5KM7B6BqrAvRGjBIbbzqCczew==", "dev": true, "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "regexp-tree": "^0.1.13" } }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "@babel/plugin-transform-new-target": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "@babel/plugin-transform-object-super": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", + "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5" } }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "@babel/plugin-transform-parameters": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "@babel/helper-call-delegate": "^7.4.4", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "@babel/plugin-transform-property-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", + "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "@babel/plugin-transform-regenerator": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "regenerator-transform": "^0.14.0" } }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "@babel/plugin-transform-reserved-words": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", + "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", "dev": true, "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "@babel/plugin-transform-shorthand-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-jest": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.6.0.tgz", - "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", + "@babel/plugin-transform-spread": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", + "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", "dev": true, "requires": { - "babel-plugin-istanbul": "^4.1.6", - "babel-preset-jest": "^23.2.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" } }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "@babel/plugin-transform-template-literals": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-plugin-external-helpers": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz", - "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", + "@babel/plugin-transform-typeof-symbol": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, - "babel-plugin-istanbul": { - "version": "4.1.6", - "resolved": "http://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", - "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", + "@babel/plugin-transform-unicode-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", + "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", "dev": true, "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "find-up": "^2.1.0", - "istanbul-lib-instrument": "^1.10.1", - "test-exclude": "^4.2.1" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" } }, - "babel-plugin-jest-hoist": { - "version": "23.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz", - "integrity": "sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=", - "dev": true - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", - "dev": true - }, - "babel-plugin-syntax-async-generators": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", - "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", - "dev": true - }, - "babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", - "dev": true - }, - "babel-plugin-syntax-decorators": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", - "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", - "dev": true - }, - "babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", - "dev": true - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", - "dev": true - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", - "dev": true - }, - "babel-plugin-transform-async-generator-functions": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", - "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", + "@babel/preset-env": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.0.tgz", + "integrity": "sha512-1efzxFv/TcPsNXlRhMzRnkBFMeIqBBgzwmZwlFDw5Ubj0AGLeufxugirwZmkkX/ayi3owsSqoQ4fw8LkfK9SYg==", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-generators": "^6.5.0", - "babel-runtime": "^6.22.0" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-dynamic-import": "^7.5.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.5.5", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.5.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.6.0", + "@babel/plugin-transform-classes": "^7.5.5", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.6.0", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/plugin-transform-duplicate-keys": "^7.5.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.5.0", + "@babel/plugin-transform-modules-commonjs": "^7.6.0", + "@babel/plugin-transform-modules-systemjs": "^7.5.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.0", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.5.5", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.4.4", + "@babel/types": "^7.6.0", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" } }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "@babel/runtime": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.2.tgz", + "integrity": "sha512-EXxN64agfUqqIGeEjI5dL5z0Sw0ZwWo1mLTi4mQowCZ42O59b7DRpZAnTC6OqdF28wMBMFKNb/4uFGrVaigSpg==", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" + "regenerator-runtime": "^0.13.2" } }, - "babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "@babel/template": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", + "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.0" } }, - "babel-plugin-transform-custom-element-classes": { - "version": "0.1.0", - "resolved": "http://registry.npmjs.org/babel-plugin-transform-custom-element-classes/-/babel-plugin-transform-custom-element-classes-0.1.0.tgz", - "integrity": "sha1-RBTc7CP5aBUEHYULdXurqD3YxUI=", + "@babel/traverse": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.0.tgz", + "integrity": "sha512-93t52SaOBgml/xY74lsmt7xOR4ufYvhb5c5qiM6lu4J/dWGMAfAh6eKw4PjLes6DI6nQgearoxnFJk60YchpvQ==", "dev": true, "requires": { - "babel-template": "^6.16.0" + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.0", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" } }, - "babel-plugin-transform-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", - "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", - "dev": true, + "@babel/types": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz", + "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==", "requires": { - "babel-helper-explode-class": "^6.24.1", - "babel-plugin-syntax-decorators": "^6.13.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-types": "^6.24.1" + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } + "@hapi/address": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.2.tgz", + "integrity": "sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q==", + "dev": true }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } + "@hapi/hoek": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.2.4.tgz", + "integrity": "sha512-Ze5SDNt325yZvNO7s5C4fXDscjJ6dcqLFXJQ/M7dZRQCewuDj2iDUuBi6jLQt+APbW9RjjVEvLr35FXuOEqjow==", + "dev": true }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", "dev": true, "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" } }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "@hapi/topo": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.4.tgz", + "integrity": "sha512-aVWQTOI9wBD6zawmOr6f+tdEIxQC8JXfQVLTjgGe8YEStAWGn/GNNVTobKJhbWKveQj2RyYF3oYbO9SC8/eOCA==", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "@hapi/hoek": "8.x.x" } }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "@open-wc/building-utils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@open-wc/building-utils/-/building-utils-2.8.2.tgz", + "integrity": "sha512-DAJbvt1A2ACkUqpR/cVE7bTb89o0fEf6MTlpmmd869Zkn6+x+9qR02T+E/xPw2awFv2MhMihHlZWTaZgQ9Xs+w==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "@babel/core": "^7.3.3", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "@webcomponents/webcomponentsjs": "^2.2.10", + "arrify": "^2.0.1", + "browserslist": "^4.5.6", + "chokidar": "^3.0.0", + "clean-css": "^4.2.1", + "clone": "^2.1.2", + "core-js-bundle": "^3.1.4", + "deepmerge": "^3.2.0", + "es-module-shims": "^0.2.13", + "html-minifier": "^4.0.0", + "lru-cache": "^5.1.1", + "minimatch": "^3.0.4", + "parse5": "^5.1.0", + "path-is-inside": "^1.0.2", + "regenerator-runtime": "^0.13.2", + "resolve": "^1.11.1", + "rimraf": "^2.6.3", + "systemjs": "^4.0.1", + "terser": "^4.0.0", + "valid-url": "^1.0.9", + "whatwg-fetch": "^3.0.0", + "whatwg-url": "^7.0.0" } }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } + "@types/node": { + "version": "12.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.5.tgz", + "integrity": "sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w==" }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "dev": true, + "@types/resolve": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", + "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", "requires": { - "babel-runtime": "^6.22.0" + "@types/node": "*" } }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } + "@webcomponents/webcomponentsjs": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.2.10.tgz", + "integrity": "sha512-5dzhUhP+h0qMiK0IWb7VNb0OGBoXO3AuI6Qi8t9PoKT50s5L1jv0xnwnLq+cFgPuTB8FLTNP8xIDmyoOsKBy9Q==", + "dev": true }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "dev": true, - "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } + "@zeit/schemas": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.6.0.tgz", + "integrity": "sha512-uUrgZ8AxS+Lio0fZKAipJjAh415JyrOZowliZAzmnJSsf7piVL5w+G0+gFJ0KSu3QRhvui/7zuvpLz03YjXAhg==", + "dev": true }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "mime-types": "~2.1.24", + "negotiator": "0.6.2" } }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } + "acorn": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.0.0.tgz", + "integrity": "sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==" }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "dev": true, - "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } + "acorn-jsx": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", + "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==", + "dev": true }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", "dev": true, "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "string-width": "^2.0.0" } }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "dev": true, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "babel-runtime": "^6.22.0" + "color-convert": "^1.9.0" } }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "anymatch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.0.tgz", + "integrity": "sha512-Ozz7l4ixzI7Oxj2+cw+p0tVUt27BpaJ+1+q1TCeANWxHpvyn2+Un+YamBdfKu0uh8xLodGhoa1v7595NhKDAuA==", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "dev": true, - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } + "arch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", + "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==", + "dev": true }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "dev": true, - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } + "arg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arg/-/arg-2.0.0.tgz", + "integrity": "sha512-XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk/HNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV/K8wZd7PG4w==", + "dev": true }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "regenerator-transform": "^0.10.0" + "sprintf-js": "~1.0.2" } }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true }, - "babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", - "dev": true - } - } + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true }, - "babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - } + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true }, - "babel-preset-jest": { - "version": "23.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz", - "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^23.2.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0" - } + "array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "dev": true }, - "babel-preset-stage-2": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", - "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", - "dev": true, - "requires": { - "babel-plugin-syntax-dynamic-import": "^6.18.0", - "babel-plugin-transform-class-properties": "^6.24.1", - "babel-plugin-transform-decorators": "^6.24.1", - "babel-preset-stage-3": "^6.24.1" - } + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true }, - "babel-preset-stage-3": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", - "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", "dev": true, "requires": { - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-generator-functions": "^6.24.1", - "babel-plugin-transform-async-to-generator": "^6.24.1", - "babel-plugin-transform-exponentiation-operator": "^6.24.1", - "babel-plugin-transform-object-rest-spread": "^6.22.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" } }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babylon": "^6.18.0" } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "babel-plugin-bare-import-rewrite": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-bare-import-rewrite/-/babel-plugin-bare-import-rewrite-1.5.1.tgz", + "integrity": "sha512-1pvMq1G5RPmpiPcF0xOfY5dx29ZhYcdMhD2I3d6xhnuBMPRoElLuDg/hEweiUM0SzZ9FsKmmlH3zZ127V2TGGg==", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "@babel/plugin-syntax-dynamic-import": "^7.2.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4", + "path-is-inside": "^1.0.2", + "resolve": "^1.11.1", + "whatwg-url": "^7.0.0" } }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "object.assign": "^4.1.0" } }, - "babel-traverse": { + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-transform-object-rest-spread": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" } }, - "babel-types": { + "babel-runtime": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } } }, "babylon": { @@ -1359,12 +1190,6 @@ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -1423,92 +1248,15 @@ "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true } } }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, - "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, - "requires": { - "callsite": "1.0.0" - } - }, "binary-extensions": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", - "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==", - "dev": true - }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, - "bluebird": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", - "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", "dev": true }, - "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - } - }, "boxen": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", @@ -1524,34 +1272,11 @@ "widest-line": "^2.0.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true } } }, @@ -1566,7666 +1291,3124 @@ } }, "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "fill-range": "^7.0.1" } }, - "browser-process-hrtime": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", - "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", + "browserslist": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", + "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000989", + "electron-to-chromium": "^1.3.247", + "node-releases": "^1.1.29" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "builtin-modules": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", + "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-content-type": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", + "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", + "dev": true, + "requires": { + "mime-types": "^2.1.18", + "ylru": "^1.2.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", "dev": true, "requires": { - "resolve": "1.1.7" + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" }, "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "http://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true } } }, - "browser-sync": { - "version": "2.26.3", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.3.tgz", - "integrity": "sha512-VLzpjCA4uXqfzkwqWtMM6hvPm2PNHp2RcmzBXcbi6C9WpkUhhFb8SVAr4CFrCsFxDg+oY6HalOjn8F+egyvhag==", - "dev": true, - "requires": { - "browser-sync-client": "^2.26.2", - "browser-sync-ui": "^2.26.2", - "bs-recipes": "1.3.4", - "bs-snippet-injector": "^2.0.1", - "chokidar": "^2.0.4", - "connect": "3.6.6", - "connect-history-api-fallback": "^1", - "dev-ip": "^1.0.1", - "easy-extender": "^2.3.4", - "eazy-logger": "^3", - "etag": "^1.8.1", - "fresh": "^0.5.2", - "fs-extra": "3.0.1", - "http-proxy": "1.15.2", - "immutable": "^3", - "localtunnel": "1.9.1", - "micromatch": "2.3.11", - "opn": "5.3.0", - "portscanner": "2.1.1", - "qs": "6.2.3", - "raw-body": "^2.3.2", - "resp-modifier": "6.0.2", - "rx": "4.1.0", - "send": "0.16.2", - "serve-index": "1.9.1", - "serve-static": "1.13.2", - "server-destroy": "1.0.1", - "socket.io": "2.1.1", - "ua-parser-js": "0.7.17", - "yargs": "6.4.0" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - } - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "caniuse-lite": { + "version": "1.0.30000989", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz", + "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==", + "dev": true + }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chokidar": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz", + "integrity": "sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==", + "dev": true, + "requires": { + "anymatch": "^3.0.1", + "braces": "^3.0.2", + "fsevents": "^2.0.6", + "glob-parent": "^5.0.0", + "is-binary-path": "^2.1.0", + "is-glob": "^4.0.1", + "normalize-path": "^3.0.0", + "readdirp": "^3.1.1" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "is-descriptor": "^0.1.0" } - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + } + } + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-spinners": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", + "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==", + "dev": true + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "clipboardy": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", + "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", + "dev": true, + "requires": { + "arch": "^2.1.0", + "execa": "^0.8.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "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" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "command-line-args": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.1.tgz", + "integrity": "sha512-hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg==", + "dev": true, + "requires": { + "array-back": "^3.0.1", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + } + }, + "command-line-usage": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-5.0.5.tgz", + "integrity": "sha512-d8NrGylA5oCXSbGoKz05FkehDAzSmIm4K03S5VDh4d5lZAtTWfc3D1RuETtuQCn8129nYfJfDdF7P/lwcz1BlA==", + "dev": true, + "requires": { + "array-back": "^2.0.0", + "chalk": "^2.4.1", + "table-layout": "^0.4.3", + "typical": "^2.6.1" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "typical": "^2.6.1" } }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "os-locale": { - "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "qs": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz", - "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=", + "typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=", "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + } + } + }, + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compressible": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "dev": true, + "requires": { + "mime-db": ">= 1.40.0 < 2" + } + }, + "compression": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", + "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.14", + "debug": "2.6.9", + "on-headers": "~1.0.1", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "ms": "2.0.0" } }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true - }, - "yargs": { - "version": "6.4.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-6.4.0.tgz", - "integrity": "sha1-gW4ahm1VmMzzTlWW3c4i2S2kkNQ=", - "dev": true, - "requires": { - "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", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.1.0" - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } } } }, - "browser-sync-client": { - "version": "2.26.2", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.2.tgz", - "integrity": "sha512-FEuVJD41fI24HJ30XOT2RyF5WcnEtdJhhTqeyDlnMk/8Ox9MZw109rvk9pdfRWye4soZLe+xcAo9tHSMxvgAdw==", - "dev": true, - "requires": { - "etag": "1.8.1", - "fresh": "0.5.2", - "mitt": "^1.1.3", - "rxjs": "^5.5.6" - } + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, - "browser-sync-ui": { - "version": "2.26.2", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.2.tgz", - "integrity": "sha512-LF7GMWo8ELOE0eAlxuRCfnGQT1ZxKP9flCfGgZdXFc6BwmoqaJHlYe7MmVvykKkXjolRXTz8ztXAKGVqNwJ3EQ==", + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "async-each-series": "0.1.1", - "connect-history-api-fallback": "^1", - "immutable": "^3", - "server-destroy": "1.0.1", - "socket.io-client": "^2.0.4", - "stream-throttle": "^0.1.3" + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, - "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" + "safe-buffer": "5.1.2" } }, - "bs-recipes": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", - "integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=", + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true }, - "bs-snippet-injector": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz", - "integrity": "sha1-YbU5PxH1JVntEgaTEANDtu2wTdU=", - "dev": true + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } }, - "bser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", - "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", + "cookies": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.7.3.tgz", + "integrity": "sha512-+gixgxYSgQLTaTIilDHAdlNPZDENDQernEMiIcZpYYP14zgHsCt4Ce1FEjFtcp6GefhozebB6orvhAAWx/IS0A==", "dev": true, "requires": { - "node-int64": "^0.4.0" + "depd": "~1.1.2", + "keygrip": "~1.0.3" } }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true + "core-js": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz", + "integrity": "sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw==" }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + "core-js-bundle": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.2.1.tgz", + "integrity": "sha512-VbfmL66EqXkVDImfpK+kdxtvvb/IosyOmF18bOD1WHnOTPOBtS6VYV/Tgh3C2pIATTrEfM8UA3rsGIHiUUQV3A==", + "dev": true }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "core-js-compat": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz", + "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "browserslist": "^4.6.6", + "semver": "^6.3.0" }, "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "callsites": "^0.2.0" - }, - "dependencies": { - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true - } + "capture-stack-trace": "^1.0.0" } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" + "array-find-index": "^1.0.1" } }, - "caniuse-lite": { - "version": "1.0.30000907", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000907.tgz", - "integrity": "sha512-No5sQ/OB2Nmka8MNOOM6nJx+Hxt6MQ6h7t7kgJFu9oTuwjykyKRSBP/+i/QAyFHxeHB+ddE0Da1CG5ihx9oehQ==", - "dev": true + "date-fns": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.2.1.tgz", + "integrity": "sha512-4V1i5CnTinjBvJpXTq7sDHD4NY6JPcl15112IeSNNLUWQOQ+kIuCvRGOFZMQZNvkadw8F9QTyZxz59rIRU6K+w==" }, - "capture-exit": { + "debounce": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", - "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "rsvp": "^3.3.3" + "ms": "^2.1.1" } }, - "capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } } }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" - } + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "deepmerge": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", + "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==", + "dev": true + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "clone": "^1.0.2" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "dev": true } } }, - "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "object-keys": "^1.0.12" } }, - "cli-spinners": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.1.0.tgz", - "integrity": "sha512-8B00fJOEh1HPrx4fo5eW16XmE1PcL1tGpGrxy63CXGP9nHdPBN63X75hA1zhvQuhVztJWLqV58Roj2qlNM7cAA==", - "dev": true - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "clipboardy": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", - "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { - "arch": "^2.1.0", - "execa": "^0.8.0" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { - "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "kind-of": "^6.0.0" } - } - } - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { - "color-name": "1.1.3" + "esutils": "^2.0.2" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "is-obj": "^1.0.0" } }, - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "common-tags": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", - "dev": true - }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", + "electron-to-chromium": { + "version": "1.3.259", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.259.tgz", + "integrity": "sha512-NMHS8iQzAYwiFZ1jL/rNOfrZJhvoowKN5uHrbbHOeNgBT5W762wpe/SRLo9kJoTiJ4d2R8i01/NQHwndo9N5PQ==", "dev": true }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "dev": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "configstore": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", - "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", - "dev": true, - "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "once": "^1.4.0" } }, - "connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", - "utils-merge": "1.0.1" - }, - "dependencies": { - "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" - } - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true - } + "is-arrayish": "^0.2.1" } }, - "connect-history-api-fallback": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", - "dev": true - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" + "error-inject": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/error-inject/-/error-inject-1.0.0.tgz", + "integrity": "sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc=", + "dev": true + }, + "es-dev-server": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-dev-server/-/es-dev-server-1.18.0.tgz", + "integrity": "sha512-cw6NyLxim8WB5EeAJOJA4wEq87ZC3NTIx7earYVtR4k3ihJMuLm2pLFpMqovWao7zWZ1WQgoETNsdxSx+0uj3A==", + "dev": true, + "requires": { + "@babel/core": "^7.4.5", + "@babel/plugin-syntax-import-meta": "^7.2.0", + "@babel/preset-env": "^7.4.5", + "@open-wc/building-utils": "^2.8.2", + "@types/minimatch": "^3.0.3", + "babel-plugin-bare-import-rewrite": "^1.5.1", + "camelcase": "^5.3.1", + "chokidar": "^3.0.0", + "command-line-args": "^5.0.2", + "command-line-usage": "^5.0.5", + "debounce": "^1.2.0", + "deepmerge": "^3.3.0", + "es-module-lexer": "0.3.9", + "get-stream": "^5.1.0", + "is-stream": "^2.0.0", + "koa": "^2.7.0", + "koa-etag": "^3.0.0", + "koa-static": "^5.0.0", + "lru-cache": "^5.1.1", + "minimatch": "^3.0.4", + "opn": "^5.4.0", + "path-is-inside": "^1.0.2", + "portfinder": "^1.0.21", + "resolve": "^1.12.0", + "strip-ansi": "^5.2.0", + "whatwg-url": "^7.0.0" } }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "es-module-lexer": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.3.9.tgz", + "integrity": "sha512-beowXiBsaVS208GHoJckwOxlG/RpWLLz2ioJHwkUJ3RGFmW508E5RfntV21bMjzO3hQcwZOTHewUFwnGzrBtIg==", "dev": true }, - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "es-module-shims": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/es-module-shims/-/es-module-shims-0.2.15.tgz", + "integrity": "sha512-KJt8AdAIauSa9DDY442VqfiMHtFd2bG2cUtKuqycQUR7/0q2Uw+iM7ckQuma6j82u64Hz1wIG0eH+4m8l+mliA==", "dev": true }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "dev": true, - "requires": { - "capture-stack-trace": "^1.0.0" - } + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "eslint": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.4.0.tgz", + "integrity": "sha512-WTVEzK3lSFoXUovDHEbkJqCVPEPwbhCq4trDktNI6ygs7aO41d4cDT0JFAT5MivzZeVLWlg7vHL+bgrQv/t3vA==", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.2", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.4.1", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" }, "dependencies": { - "lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", - "dev": true - }, - "cssom": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", - "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==", - "dev": true - }, - "cssstyle": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.1.1.tgz", - "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", + "eslint-config-prettier": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.3.0.tgz", + "integrity": "sha512-EWaGjlDAZRzVFveh2Jsglcere2KK5CJBhkNSa1xs3KfMUGdRiT7lG089eqPdvlzWHpAqaekubOsOMu8W8Yk71A==", "dev": true, "requires": { - "cssom": "0.3.x" + "get-stdin": "^6.0.0" } }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "eslint-plugin-prettier": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.0.tgz", + "integrity": "sha512-XWX2yVuwVNLOUhQijAkXz+rMPPoCr7WFiAl8ig6I7Xn+pPVhDhzg4DxHpmbeb0iqjO9UronEA3Tb09ChnFVHHA==", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "prettier-linter-helpers": "^1.0.0" } }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "eslint-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", + "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", "dev": true, "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - }, - "dependencies": { - "whatwg-url": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", - "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" + "eslint-visitor-keys": "^1.0.0" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", "dev": true }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "espree": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz", + "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==", "dev": true, "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - } + "acorn": "^7.0.0", + "acorn-jsx": "^5.0.2", + "eslint-visitor-keys": "^1.1.0" } }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, - "default-require-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "strip-bom": "^2.0.0" + "estraverse": "^4.0.0" } }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "clone": "^1.0.2" + "estraverse": "^4.1.0" } }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "ms": "2.0.0" } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } } } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "repeating": "^2.0.0" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } } }, - "detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, - "dev-ip": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", - "integrity": "sha1-p2o+0YVb56ASu4rBbLgPPADcKPA=", + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", "dev": true }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", "dev": true, "requires": { - "esutils": "^2.0.2" + "punycode": "^1.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } } }, - "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "webidl-conversions": "^4.0.2" + "escape-string-regexp": "^1.0.5" } }, - "dot-prop": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "flat-cache": "^2.0.1" } }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "easy-extender": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", - "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "lodash": "^4.17.10" + "to-regex-range": "^5.0.1" } }, - "eazy-logger": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.0.2.tgz", - "integrity": "sha1-oyWqXlPROiIliJsqxBE7K5Y29Pw=", + "find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", "dev": true, "requires": { - "tfunk": "^3.0.1" + "array-back": "^3.0.1" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "locate-path": "^2.0.0" } }, - "editorconfig": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.13.3.tgz", - "integrity": "sha512-WkjsUNVCu+ITKDj73QDvi0trvpdDWdkDyHybDGSXPfekLCqwmpD7CP7iPbvBgosNuLcI96XTDwNa75JyFl7tEQ==", + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "requires": { - "bluebird": "^3.0.5", - "commander": "^2.9.0", - "lru-cache": "^3.2.0", - "semver": "^5.1.0", - "sigmund": "^1.0.1" + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "electron-to-chromium": { - "version": "1.3.84", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.84.tgz", - "integrity": "sha512-IYhbzJYOopiTaNWMBp7RjbecUBsbnbDneOP86f3qvS0G0xfzwNSvMJpTrvi5/Y1gU7tg2NAgeg8a8rCYvW9Whw==", + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", "dev": true }, - "encodeurl": { + "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dev": true, "requires": { - "once": "^1.4.0" + "for-in": "^1.0.1" } }, - "engine.io": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", - "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "accepts": "~1.3.4", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "map-cache": "^0.2.2" } }, - "engine.io-client": { - "version": "3.2.1", - "resolved": "http://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", - "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", - "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "fsevents": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz", + "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==", "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } + "optional": true }, - "es-abstract": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", - "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz", + "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==", + "dev": true + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "pump": "^3.0.0" } }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "dev": true, "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escodegen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", - "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", + "glob-parent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", + "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } + "is-glob": "^4.0.1" } }, - "eslint": { - "version": "4.19.1", - "resolved": "http://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", - "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "glob-watcher": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz", + "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==", "dev": true, "requires": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", - "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.4", - "esquery": "^1.0.0", - "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", - "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", - "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", - "require-uncached": "^1.0.3", - "semver": "^5.3.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", - "table": "4.0.2", - "text-table": "~0.2.0" + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "object.defaults": "^1.1.0" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "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" } }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } } }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "ms": "^2.1.1" + "is-extendable": "^0.1.0" } }, - "globals": { - "version": "11.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", - "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "strip-ansi": { + "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", "dev": true, + "optional": true, "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", - "dev": true - }, - "espree": { - "version": "3.5.4", - "resolved": "http://registry.npmjs.org/espree/-/espree-3.5.4.tgz", - "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", - "dev": true, - "requires": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", - "dev": true, - "requires": { - "estraverse": "^4.0.0" - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "estree-walker": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", - "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "eventemitter3": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", - "dev": true - }, - "exec-sh": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", - "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", - "dev": true, - "requires": { - "merge": "^1.2.0" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - } - }, - "expect": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-23.6.0.tgz", - "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "jest-diff": "^23.6.0", - "jest-get-type": "^22.1.0", - "jest-matcher-utils": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-regex-util": "^23.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "jest-message-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", - "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0-beta.35", - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", - "stack-utils": "^1.0.1" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", - "requires": { - "accepts": "~1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", - "content-type": "~1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.1.1", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", - "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "2.2.0", - "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "dev": true, - "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", - "dev": true, - "requires": { - "punycode": "^1.3.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "fb-watchman": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", - "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", - "dev": true, - "requires": { - "bser": "^2.0.0" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, - "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "filename-reserved-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", - "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", - "dev": true - }, - "filenamify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", - "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", - "dev": true, - "requires": { - "filename-reserved-regex": "^1.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - } - }, - "filenamify-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", - "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=", - "dev": true, - "requires": { - "filenamify": "^1.0.0", - "humanize-url": "^1.0.0" - } - }, - "fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", - "dev": true, - "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" - } - }, - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "finalhandler": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", - "unpipe": "~1.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat-cache": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.2.tgz", - "integrity": "sha512-KByBY8c98sLUAGpnmjEdWTrtrLZRtZdwds+kAL/ciFXTCb7AZgqKsAnVnYFQj1hxepwO8JKN/8AsRWwLq+RK0A==", - "dev": true, - "requires": { - "circular-json": "^0.3.1", - "del": "^3.0.0", - "graceful-fs": "^4.1.2", - "write": "^0.2.1" - } - }, - "follow-redirects": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz", - "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==", - "dev": true, - "requires": { - "debug": "=3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": "^2.1.0" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz", - "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "gh-pages": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-1.2.0.tgz", - "integrity": "sha512-cGLYAvxtlQ1iTwAS4g7FreZPXoE/g62Fsxln2mmR19mgs4zZI+XJ+wVVUhBFCF/0+Nmvbq+abyTWue1m1BSnmg==", - "dev": true, - "requires": { - "async": "2.6.1", - "commander": "2.15.1", - "filenamify-url": "^1.0.0", - "fs-extra": "^5.0.0", - "globby": "^6.1.0", - "graceful-fs": "4.1.11", - "rimraf": "^2.6.2" - }, - "dependencies": { - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "dev": true, - "requires": { - "lodash": "^4.17.10" - } - }, - "commander": { - "version": "2.15.1", - "resolved": "http://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", - "dev": true - }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "glob-slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glob-slash/-/glob-slash-1.0.0.tgz", - "integrity": "sha1-/lLvpDMjP3Si/mTHq7m8hIICq5U=", - "dev": true - }, - "glob-slasher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/glob-slasher/-/glob-slasher-1.0.1.tgz", - "integrity": "sha1-dHoOW7IiZC7hDT4FRD4QlJPLD44=", - "dev": true, - "requires": { - "glob-slash": "^1.0.0", - "lodash.isobject": "^2.4.1", - "toxic": "^1.0.0" - } - }, - "glob-watcher": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz", - "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-done": "^1.2.0", - "chokidar": "^2.0.0", - "is-negated-glob": "^1.0.0", - "just-debounce": "^1.0.0", - "object.defaults": "^1.1.0" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", - "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true, - "optional": true - }, - "upath": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", - "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", - "dev": true - } - } - }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "dev": true, - "requires": { - "ini": "^1.3.4" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", - "dev": true, - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "handlebars": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz", - "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", - "dev": true, - "requires": { - "async": "^2.5.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - }, - "dependencies": { - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "dev": true, - "requires": { - "lodash": "^4.17.10" - } - }, - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true, - "optional": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", - "dev": true, - "optional": true, - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" - } - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", - "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - } - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "dev": true - }, - "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.1" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "http-proxy": { - "version": "1.15.2", - "resolved": "http://registry.npmjs.org/http-proxy/-/http-proxy-1.15.2.tgz", - "integrity": "sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE=", - "dev": true, - "requires": { - "eventemitter3": "1.x.x", - "requires-port": "1.x.x" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "humanize-url": { - "version": "1.0.1", - "resolved": "http://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", - "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=", - "dev": true, - "requires": { - "normalize-url": "^1.0.0", - "strip-url-auth": "^1.0.0" - } - }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=", - "dev": true - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, - "import-local": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", - "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", - "dev": true, - "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "^1.0.0" - } - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true - }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "dev": true, - "requires": { - "ci-info": "^1.5.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "^2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-generator-fn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", - "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", - "dev": true, - "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" - } - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "is-negated-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", - "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", - "dev": true - }, - "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", - "dev": true - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-number-like": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", - "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", - "dev": true, - "requires": { - "lodash.isfinite": "^3.3.2" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "dev": true - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "^1.0.1" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "dev": true - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-api": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz", - "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", - "dev": true, - "requires": { - "async": "^2.1.4", - "fileset": "^2.0.2", - "istanbul-lib-coverage": "^1.2.1", - "istanbul-lib-hook": "^1.2.2", - "istanbul-lib-instrument": "^1.10.2", - "istanbul-lib-report": "^1.1.5", - "istanbul-lib-source-maps": "^1.2.6", - "istanbul-reports": "^1.5.1", - "js-yaml": "^3.7.0", - "mkdirp": "^0.5.1", - "once": "^1.4.0" - }, - "dependencies": { - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "dev": true, - "requires": { - "lodash": "^4.17.10" - } - } - } - }, - "istanbul-lib-coverage": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", - "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", - "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", - "dev": true, - "requires": { - "append-transform": "^0.4.0" - } - }, - "istanbul-lib-instrument": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", - "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", - "dev": true, - "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.1", - "semver": "^5.3.0" - } - }, - "istanbul-lib-report": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", - "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^1.2.1", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", - "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", - "dev": true, - "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.2.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", - "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", - "dev": true, - "requires": { - "handlebars": "^4.0.3" - } - }, - "jest": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-23.6.0.tgz", - "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", - "dev": true, - "requires": { - "import-local": "^1.0.0", - "jest-cli": "^23.6.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "jest-cli": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-23.6.0.tgz", - "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "import-local": "^1.0.0", - "is-ci": "^1.0.10", - "istanbul-api": "^1.3.1", - "istanbul-lib-coverage": "^1.2.0", - "istanbul-lib-instrument": "^1.10.1", - "istanbul-lib-source-maps": "^1.2.4", - "jest-changed-files": "^23.4.2", - "jest-config": "^23.6.0", - "jest-environment-jsdom": "^23.4.0", - "jest-get-type": "^22.1.0", - "jest-haste-map": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-regex-util": "^23.3.0", - "jest-resolve-dependencies": "^23.6.0", - "jest-runner": "^23.6.0", - "jest-runtime": "^23.6.0", - "jest-snapshot": "^23.6.0", - "jest-util": "^23.4.0", - "jest-validate": "^23.6.0", - "jest-watcher": "^23.4.0", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "node-notifier": "^5.2.1", - "prompts": "^0.1.9", - "realpath-native": "^1.0.0", - "rimraf": "^2.5.4", - "slash": "^1.0.0", - "string-length": "^2.0.0", - "strip-ansi": "^4.0.0", - "which": "^1.2.12", - "yargs": "^11.0.0" - } - }, - "jest-message-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", - "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0-beta.35", - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", - "stack-utils": "^1.0.1" - } - }, - "jest-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz", - "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", - "dev": true, - "requires": { - "callsites": "^2.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "jest-message-util": "^23.4.0", - "mkdirp": "^0.5.1", - "slash": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-changed-files": { - "version": "23.4.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-23.4.2.tgz", - "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", - "dev": true, - "requires": { - "throat": "^4.0.0" - } - }, - "jest-config": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-23.6.0.tgz", - "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", - "dev": true, - "requires": { - "babel-core": "^6.0.0", - "babel-jest": "^23.6.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^23.4.0", - "jest-environment-node": "^23.4.0", - "jest-get-type": "^22.1.0", - "jest-jasmine2": "^23.6.0", - "jest-regex-util": "^23.3.0", - "jest-resolve": "^23.6.0", - "jest-util": "^23.4.0", - "jest-validate": "^23.6.0", - "micromatch": "^2.3.11", - "pretty-format": "^23.6.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "jest-environment-node": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-23.4.0.tgz", - "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", - "dev": true, - "requires": { - "jest-mock": "^23.2.0", - "jest-util": "^23.4.0" - } - }, - "jest-message-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", - "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0-beta.35", - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", - "stack-utils": "^1.0.1" - } - }, - "jest-mock": { - "version": "23.2.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-23.2.0.tgz", - "integrity": "sha1-rRxg8p6HGdR8JuETgJi20YsmETQ=", - "dev": true - }, - "jest-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz", - "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", - "dev": true, - "requires": { - "callsites": "^2.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "jest-message-util": "^23.4.0", - "mkdirp": "^0.5.1", - "slash": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-diff": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz", - "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "diff": "^3.2.0", - "jest-get-type": "^22.1.0", - "pretty-format": "^23.6.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-docblock": { - "version": "23.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", - "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", - "dev": true, - "requires": { - "detect-newline": "^2.1.0" - } - }, - "jest-each": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-23.6.0.tgz", - "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "pretty-format": "^23.6.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz", - "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", - "dev": true, - "requires": { - "jest-mock": "^23.2.0", - "jest-util": "^23.4.0", - "jsdom": "^11.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "jest-message-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", - "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0-beta.35", - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", - "stack-utils": "^1.0.1" - } - }, - "jest-mock": { - "version": "23.2.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-23.2.0.tgz", - "integrity": "sha1-rRxg8p6HGdR8JuETgJi20YsmETQ=", - "dev": true - }, - "jest-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz", - "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", - "dev": true, - "requires": { - "callsites": "^2.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "jest-message-util": "^23.4.0", - "mkdirp": "^0.5.1", - "slash": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-environment-node": { - "version": "22.4.1", - "resolved": "http://registry.npmjs.org/jest-environment-node/-/jest-environment-node-22.4.1.tgz", - "integrity": "sha512-wj9+zzfRgnUbm5VwFOCGgG1QmbucUyrjPKBKUJdLW8K5Ss5zrNc1k+v6feZhFg6sS3ZGnjgtIyklaxEARxu+LQ==", - "dev": true, - "requires": { - "jest-mock": "^22.2.0", - "jest-util": "^22.4.1" - } - }, - "jest-get-type": { - "version": "22.4.3", - "resolved": "http://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", - "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", - "dev": true - }, - "jest-haste-map": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.6.0.tgz", - "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", - "dev": true, - "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "invariant": "^2.2.4", - "jest-docblock": "^23.2.0", - "jest-serializer": "^23.0.1", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0" - } - }, - "jest-jasmine2": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz", - "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", - "dev": true, - "requires": { - "babel-traverse": "^6.0.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^23.6.0", - "is-generator-fn": "^1.0.0", - "jest-diff": "^23.6.0", - "jest-each": "^23.6.0", - "jest-matcher-utils": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-snapshot": "^23.6.0", - "jest-util": "^23.4.0", - "pretty-format": "^23.6.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "jest-message-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", - "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0-beta.35", - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", - "stack-utils": "^1.0.1" - } - }, - "jest-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz", - "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", - "dev": true, - "requires": { - "callsites": "^2.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "jest-message-util": "^23.4.0", - "mkdirp": "^0.5.1", - "slash": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-leak-detector": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz", - "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", - "dev": true, - "requires": { - "pretty-format": "^23.6.0" - } - }, - "jest-matcher-utils": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz", - "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^22.1.0", - "pretty-format": "^23.6.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-message-util": { - "version": "22.4.3", - "resolved": "http://registry.npmjs.org/jest-message-util/-/jest-message-util-22.4.3.tgz", - "integrity": "sha512-iAMeKxhB3Se5xkSjU0NndLLCHtP4n+GtCqV0bISKA5dmOXQfEbdEmYiu2qpnWBDCQdEafNDDU6Q+l6oBMd/+BA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0-beta.35", - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", - "stack-utils": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-mock": { - "version": "22.4.3", - "resolved": "http://registry.npmjs.org/jest-mock/-/jest-mock-22.4.3.tgz", - "integrity": "sha512-+4R6mH5M1G4NK16CKg9N1DtCaFmuxhcIqF4lQK/Q1CIotqMs/XBemfpDPeVZBFow6iyUNu6EBT9ugdNOTT5o5Q==", - "dev": true - }, - "jest-regex-util": { - "version": "23.3.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-23.3.0.tgz", - "integrity": "sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U=", - "dev": true - }, - "jest-resolve": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.6.0.tgz", - "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", - "dev": true, - "requires": { - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "realpath-native": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz", - "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", - "dev": true, - "requires": { - "jest-regex-util": "^23.3.0", - "jest-snapshot": "^23.6.0" - } - }, - "jest-runner": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-23.6.0.tgz", - "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", - "dev": true, - "requires": { - "exit": "^0.1.2", - "graceful-fs": "^4.1.11", - "jest-config": "^23.6.0", - "jest-docblock": "^23.2.0", - "jest-haste-map": "^23.6.0", - "jest-jasmine2": "^23.6.0", - "jest-leak-detector": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-runtime": "^23.6.0", - "jest-util": "^23.4.0", - "jest-worker": "^23.2.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "jest-message-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", - "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0-beta.35", - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", - "stack-utils": "^1.0.1" - } - }, - "jest-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz", - "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", - "dev": true, - "requires": { - "callsites": "^2.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "jest-message-util": "^23.4.0", - "mkdirp": "^0.5.1", - "slash": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-runtime": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-23.6.0.tgz", - "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", - "dev": true, - "requires": { - "babel-core": "^6.0.0", - "babel-plugin-istanbul": "^4.1.6", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "exit": "^0.1.2", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.1.11", - "jest-config": "^23.6.0", - "jest-haste-map": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-regex-util": "^23.3.0", - "jest-resolve": "^23.6.0", - "jest-snapshot": "^23.6.0", - "jest-util": "^23.4.0", - "jest-validate": "^23.6.0", - "micromatch": "^2.3.11", - "realpath-native": "^1.0.0", - "slash": "^1.0.0", - "strip-bom": "3.0.0", - "write-file-atomic": "^2.1.0", - "yargs": "^11.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "jest-message-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", - "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0-beta.35", - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", - "stack-utils": "^1.0.1" - } - }, - "jest-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz", - "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", - "dev": true, - "requires": { - "callsites": "^2.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "jest-message-util": "^23.4.0", - "mkdirp": "^0.5.1", - "slash": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-serializer": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz", - "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU=", - "dev": true - }, - "jest-snapshot": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.6.0.tgz", - "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", - "dev": true, - "requires": { - "babel-types": "^6.0.0", - "chalk": "^2.0.1", - "jest-diff": "^23.6.0", - "jest-matcher-utils": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-resolve": "^23.6.0", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^23.6.0", - "semver": "^5.5.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "jest-message-util": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", - "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0-beta.35", - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", - "stack-utils": "^1.0.1" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-util": { - "version": "22.4.3", - "resolved": "http://registry.npmjs.org/jest-util/-/jest-util-22.4.3.tgz", - "integrity": "sha512-rfDfG8wyC5pDPNdcnAlZgwKnzHvZDu8Td2NJI/jAGKEGxJPYiE4F0ss/gSAkG4778Y23Hvbz+0GMrDJTeo7RjQ==", - "dev": true, - "requires": { - "callsites": "^2.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "jest-message-util": "^22.4.3", - "mkdirp": "^0.5.1", - "source-map": "^0.6.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-validate": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.6.0.tgz", - "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^22.1.0", - "leven": "^2.1.0", - "pretty-format": "^23.6.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-watcher": { - "version": "23.4.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-23.4.0.tgz", - "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "string-length": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-worker": { - "version": "23.2.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", - "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", - "dev": true, - "requires": { - "merge-stream": "^1.0.1" - } - }, - "js-beautify": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.7.5.tgz", - "integrity": "sha512-9OhfAqGOrD7hoQBLJMTA+BKuKmoEtTJXzZ7WDF/9gvjtey1koVLuZqIY6c51aPDjbNdNtIXAkiWKVhziawE9Og==", - "dev": true, - "requires": { - "config-chain": "~1.1.5", - "editorconfig": "^0.13.2", - "mkdirp": "~0.5.0", - "nopt": "~3.0.1" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "jsesc": { - "version": "1.3.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "just-debounce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", - "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "kleur": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz", - "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==", - "dev": true - }, - "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", - "dev": true, - "requires": { - "package-json": "^4.0.0" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "dev": true - }, - "leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "limiter": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.3.tgz", - "integrity": "sha512-zrycnIMsLw/3ZxTbW7HCez56rcFGecWTx5OZNplzcXUUmJLmoYArC6qdJzmAN5BWiNXGcpjhF9RQ1HSv5zebEw==", - "dev": true - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "localtunnel": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-1.9.1.tgz", - "integrity": "sha512-HWrhOslklDvxgOGFLxi6fQVnvpl6XdX4sPscfqMZkzi3gtt9V7LKBWYvNUcpHSVvjwCQ6xzXacVvICNbNcyPnQ==", - "dev": true, - "requires": { - "axios": "0.17.1", - "debug": "2.6.9", - "openurl": "1.1.1", - "yargs": "6.6.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "yargs": { - "version": "6.6.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "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-parser": { - "version": "4.2.1", - "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "lodash._objecttypes": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=", - "dev": true - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.isfinite": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", - "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=", - "dev": true - }, - "lodash.isobject": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", - "dev": true, - "requires": { - "lodash._objecttypes": "~2.4.1" - } - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "lodash.template": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", - "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", - "dev": true, - "requires": { - "lodash._reinterpolate": "~3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", - "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", - "dev": true, - "requires": { - "lodash._reinterpolate": "~3.0.0" - } - }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "requires": { - "chalk": "^2.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, - "lru-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz", - "integrity": "sha1-cXibO39Tmb7IVl3aOKow0qCX7+4=", - "dev": true, - "requires": { - "pseudomap": "^1.0.1" - } - }, - "magic-string": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.1.tgz", - "integrity": "sha512-sCuTz6pYom8Rlt4ISPFn6wuFodbKMIHUMv4Qko9P17dpxb7s52KJTmRuZZqHdGmLCK9AOcDare039nRIcfdkEg==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.1" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "requires": { - "tmpl": "1.0.x" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "math-random": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", - "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "meow": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", - "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0", - "yargs-parser": "^10.0.0" - }, - "dependencies": { - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } } }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "binary-extensions": "^1.0.0" } }, - "path-type": { + "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "pify": "^3.0.0" + "kind-of": "^3.0.2" } }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "is-buffer": "^1.1.5" } }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "remove-trailing-separator": "^1.0.1" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } } } }, - "merge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", - "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", - "dev": true - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "readable-stream": "^2.0.1" + "ini": "^1.3.4" } }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" - }, - "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true }, - "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, "requires": { - "mime-db": "~1.37.0" + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + } } }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", "dev": true }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, - "minimist": { - "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", "dev": true }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, - "mitt": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.1.3.tgz", - "integrity": "sha512-mUDCnVNsAi+eD6qA0HkRkwYczbLHJ49z17BGe2PYRhZL4wpZUFZGJHU7/5tmvohoma+Hdn0Vh/oJTiPEmgSruA==", - "dev": true - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "nan": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", - "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } } } }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "ncp": { - "version": "2.0.0", - "resolved": "http://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", - "dev": true - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "hosted-git-info": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", + "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==", "dev": true }, - "node-notifier": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.3.0.tgz", - "integrity": "sha512-AhENzCSGZnZJgBARsUjnQ7DnZbzyP+HxlVXuD0xqAnvL8q+OqtSX7lGg9e8nHzwXkMMXNdVeqq4E2M3EUAqX6Q==", + "html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", "dev": true, "requires": { - "growly": "^1.3.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" } }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "http-assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz", + "integrity": "sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==", "dev": true, "requires": { - "abbrev": "1" + "deep-equal": "~1.0.1", + "http-errors": "~1.7.2" } }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" } }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "safer-buffer": ">= 2.1.2 < 3" } }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "import-fresh": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", + "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", "dev": true, "requires": { - "path-key": "^2.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "nwsapi": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.9.tgz", - "integrity": "sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", "dev": true }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", "dev": true }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "once": "^1.3.0", + "wrappy": "1" } }, - "object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "object-path": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", - "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=", + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", - "dev": true, - "requires": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - }, - "dependencies": { - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" } }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "loose-envify": "^1.0.0" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "isobject": "^3.0.1" + "kind-of": "^3.0.2" }, "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } } } }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "openurl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", - "integrity": "sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=", + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, - "opn": { - "version": "5.3.0", - "resolved": "http://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "requires": { - "is-wsl": "^1.1.0" + "binary-extensions": "^2.0.0" } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } - } + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "ci-info": "^1.5.0" } }, - "ora": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", - "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-spinners": "^2.0.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1" + "kind-of": "^3.0.2" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "has-flag": "^3.0.0" + "is-buffer": "^1.1.5" } } } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } } }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, - "outdent": { - "version": "0.5.0", - "resolved": "http://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz", - "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==", + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "output-file-sync": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", - "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.4", - "mkdirp": "^0.5.1", - "object-assign": "^4.1.0" - } + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "is-generator-function": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz", + "integrity": "sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==", "dev": true }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { - "p-try": "^1.0.0" + "is-extglob": "^2.1.1" } }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" } }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" + }, + "is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", "dev": true }, - "p-try": { + "is-npm": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", "dev": true }, - "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", - "dev": true, - "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" - } + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "path-is-inside": "^1.0.1" } }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "error-ex": "^1.2.0" + "isobject": "^3.0.1" } }, - "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", "requires": { - "better-assert": "~1.0.0" + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { - "better-assert": "~1.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "path-dirname": { + "json-parse-better-errors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "path-is-absolute": { + "json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "just-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", + "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", "dev": true }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "keygrip": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.0.3.tgz", + "integrity": "sha512-/PpesirAIfaklxUzp4Yb7xBper9MwP6hNRA6BGGUFCgbJ+BM5CKBtsoxinNXkLHAr+GXS1/lSlF2rP7cv5Fl+g==", "dev": true }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "koa": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.8.1.tgz", + "integrity": "sha512-iCgjRkntcVud5amnioi+79r7TPVhKPfCY8UzL9GjyU+nIWTE9xsqyrJ6kib3InT9JYRyUu9Y67i5apCjf997TQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "accepts": "^1.3.5", + "cache-content-type": "^1.0.0", + "content-disposition": "~0.5.2", + "content-type": "^1.0.4", + "cookies": "~0.7.1", + "debug": "~3.1.0", + "delegates": "^1.0.0", + "depd": "^1.1.2", + "destroy": "^1.0.4", + "error-inject": "^1.0.0", + "escape-html": "^1.0.3", + "fresh": "~0.5.2", + "http-assert": "^1.3.0", + "http-errors": "^1.6.3", + "is-generator-function": "^1.0.7", + "koa-compose": "^4.1.0", + "koa-convert": "^1.2.0", + "koa-is-json": "^1.0.0", + "on-finished": "^2.3.0", + "only": "~0.0.2", + "parseurl": "^1.3.2", + "statuses": "^1.5.0", + "type-is": "^1.6.16", + "vary": "^1.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "koa-compose": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", + "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==", "dev": true }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "koa-convert": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz", + "integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "co": "^4.6.0", + "koa-compose": "^3.0.0" + }, + "dependencies": { + "koa-compose": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz", + "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=", + "dev": true, + "requires": { + "any-promise": "^1.1.0" + } + } } }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "koa-etag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/koa-etag/-/koa-etag-3.0.0.tgz", + "integrity": "sha1-nvc4Ld1agqsN6xU0FckVg293HT8=", "dev": true, "requires": { - "find-up": "^2.1.0" + "etag": "^1.3.0", + "mz": "^2.1.0" } }, - "pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", - "dev": true - }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "koa-is-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz", + "integrity": "sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ=", "dev": true }, - "portscanner": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", - "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=", + "koa-send": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/koa-send/-/koa-send-5.0.0.tgz", + "integrity": "sha512-90ZotV7t0p3uN9sRwW2D484rAaKIsD8tAVtypw/aBU+ryfV+fR2xrcAwhI8Wl6WRkojLUs/cB9SBSCuIb+IanQ==", "dev": true, "requires": { - "async": "1.5.2", - "is-number-like": "^1.0.3" + "debug": "^3.1.0", + "http-errors": "^1.6.3", + "mz": "^2.7.0", + "resolve-path": "^1.4.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "preact": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.7.tgz", - "integrity": "sha512-m34Ke8U32HyKRVzUOCAcaiIBLR2ye6syiuRclU5DxyixDPDFqdLbIElhERBrF6gDbPKQR+Vpv5bZ9CCbvN6pdQ==", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "pretty-bytes": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.2.0.tgz", - "integrity": "sha512-ujANBhiUsl9AhREUDUEY1GPOharMGm8x8juS7qOHybcLi7XsKfrYQ88hSly1l2i0klXHTDYrlL8ihMCG55Dc3w==", - "dev": true - }, - "pretty-format": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", - "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "koa-static": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz", + "integrity": "sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "debug": "^3.1.0", + "koa-send": "^5.0.0" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "ms": "^2.1.1" } } } }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "^4.0.0" + } }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } }, - "progress": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz", - "integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==", - "dev": true + "lit-element": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.2.1.tgz", + "integrity": "sha512-ipDcgQ1EpW6Va2Z6dWm79jYdimVepO5GL0eYkZrFvdr0OD/1N260Q9DH+K5HXHFrRoC7dOg+ZpED2XE0TgGdXw==", + "requires": { + "lit-html": "^1.0.0" + } + }, + "lit-html": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.1.2.tgz", + "integrity": "sha512-FFlUMKHKi+qG1x1iHNZ1hrtc/zHmfYTyrSvs3/wBTvaNtpZjOZGWzU7efGYVpgp6KvWeKF6ql9/KsCq6Z/mEDA==" }, - "prompts": { - "version": "0.1.14", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-0.1.14.tgz", - "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "kleur": "^2.0.1", - "sisteransi": "^0.1.1" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true - }, - "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", "dev": true }, - "psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", "dev": true }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "lodash.padend": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", + "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=", "dev": true }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", "dev": true, "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" } }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", - "dev": true + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } + "chalk": "^2.0.1" } }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } + "yallist": "^3.0.2" } }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "magic-string": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", + "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "sourcemap-codec": "^1.4.4" } }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } + "object-visit": "^1.0.0" } }, - "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", + "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0", + "yargs-parser": "^10.0.0" } }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "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" }, "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", @@ -9255,134 +4438,6 @@ } } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -9406,944 +4461,1095 @@ } } }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + } + } + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, + "requires": { + "mime-db": "1.40.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + }, + "dependencies": { + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + } + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-plain-object": "^2.0.4" } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-releases": { + "version": "1.1.30", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.30.tgz", + "integrity": "sha512-BHcr1g6NeUH12IL+X3Flvs4IOnl1TL0JczUhEZjDE+FXXPQcVCNr8NEPb01zqGxzhTpdyJL5GXemaCW7aw6Khw==", + "dev": true, + "requires": { + "semver": "^5.3.0" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-descriptor": "^0.1.0" } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "is-buffer": "^1.1.5" } } } }, - "realpath-native": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.2.tgz", - "integrity": "sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g==", + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "util.promisify": "^1.0.0" + "isobject": "^3.0.0" } }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "dev": true, "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" } }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "dev": true }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "only": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", + "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=", "dev": true }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", "dev": true, "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" } }, - "regex-not": { + "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "p-try": "^1.0.0" } }, - "regexpp": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", - "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" } }, - "registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "dev": true, "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "no-case": "^2.2.0" } }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { - "rc": "^1.0.1" + "callsites": "^3.0.0" } }, - "regjsgen": { - "version": "0.2.0", - "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", "dev": true }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.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" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - } - } + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true }, - "request-promise-core": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", - "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", - "dev": true, - "requires": { - "lodash": "^4.13.1" - } + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true }, - "request-promise-native": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz", - "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=", - "dev": true, - "requires": { - "request-promise-core": "1.1.1", - "stealthy-require": "^1.1.0", - "tough-cookie": ">=2.3.3" - } + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, - "require-relative": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", - "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", "dev": true }, - "require-uncached": { - "version": "1.0.3", - "resolved": "http://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" + "pify": "^3.0.0" } }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "picomatch": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", + "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==", "dev": true }, - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "dev": true, - "requires": { - "path-parse": "^1.0.5" - } + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "portfinder": { + "version": "1.0.24", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz", + "integrity": "sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" }, "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, - "resp-modifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", - "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=", - "dev": true, - "requires": { - "debug": "^2.2.0", - "minimatch": "^3.0.2" - } + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "prettier": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz", + "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "fast-diff": "^1.1.2" } }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "pretty-bytes": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz", + "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==", "dev": true }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "requires": { - "glob": "^7.0.5" - } + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true }, - "rollup": { - "version": "0.59.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.59.4.tgz", - "integrity": "sha512-ISiMqq/aJa+57QxX2MRcvLESHdJ7wSavmr6U1euMr+6UgFe6KM+3QANrYy8LQofwhTC1I7BcAdlLnDiaODs1BA==", - "dev": true, - "requires": { - "@types/estree": "0.0.39", - "@types/node": "*" - } + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, - "rollup-plugin-babel": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-3.0.7.tgz", - "integrity": "sha512-bVe2y0z/V5Ax1qU8NX/0idmzIwJPdUGu8Xx3vXH73h0yGjxfv2gkFI82MBVg49SlsFlLTBadBHb67zy4TWM3hA==", + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { - "rollup-pluginutils": "^1.5.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "rollup-plugin-commonjs": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.2.0.tgz", - "integrity": "sha512-0RM5U4Vd6iHjL6rLvr3lKBwnPsaVml+qxOGaaNUWN1lSq6S33KhITOfHmvxV3z2vy9Mk4t0g4rNlVaJJsNQPWA==", + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "pwa-helpers": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/pwa-helpers/-/pwa-helpers-0.9.1.tgz", + "integrity": "sha512-4sP/C9sSxQ3w80AATmvCEI3R+MHzCwr2RSZEbLyMkeJgV3cRk7ySZRUrQnBDSA7A0/z6dkYtjuXlkhN1ZFw3iA==" + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "estree-walker": "^0.5.2", - "magic-string": "^0.25.1", - "resolve": "^1.8.1", - "rollup-pluginutils": "^2.3.3" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { - "estree-walker": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", - "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==", + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true - }, - "rollup-pluginutils": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.3.3.tgz", - "integrity": "sha512-2XZwja7b6P5q4RZ5FhyX1+f46xi1Z3qBKigLRZ6VTZjwbN0K1IFGMlwm06Uu0Emcre2Z63l77nq/pzn+KxIEoA==", - "dev": true, - "requires": { - "estree-walker": "^0.5.2", - "micromatch": "^2.3.11" - } } } }, - "rollup-plugin-node-resolve": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.4.0.tgz", - "integrity": "sha512-PJcd85dxfSBWih84ozRtBkB731OjXk0KnzN0oGp7WOWcarAFkVa71cV5hTJg2qpVsV2U8EUwrzHP3tvy9vS3qg==", + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "builtin-modules": "^2.0.0", - "is-module": "^1.0.0", - "resolve": "^1.1.6" - }, - "dependencies": { - "builtin-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz", - "integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==", - "dev": true - } + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" } }, - "rollup-plugin-terser": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-1.0.1.tgz", - "integrity": "sha512-VC6chT7QnrV6JzdgkPE0hP/atRBxaa3CPbVXfZJ8nJLjcidSdWftOst098RasYRUTKxJWAgdaJN1+uiZM6iffA==", + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0-beta.47", - "terser": "^3.7.5" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "rollup-plugin-uglify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-4.0.0.tgz", - "integrity": "sha512-f6W31EQLzxSEYfN3x6/lyljHqXSoCjXKcTsnwz3evQvHgU1+qTzU2SE0SIG7tbAvaCewp2UaZ5x3k6nYsxOP9A==", + "readdirp": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.2.tgz", + "integrity": "sha512-8rhl0xs2cxfVsqzreYCvs8EwBfn/DhVdqtoLmw19uI3SC5avYX9teCurlErfpPXGmYtMHReGaP2RsLnFvz/lnw==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0-beta.47", - "uglify-js": "^3.3.25" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", - "dev": true, - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" - } - } + "picomatch": "^2.0.4" } }, - "rollup-pluginutils": { - "version": "1.5.2", - "resolved": "http://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", - "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", "dev": true, "requires": { - "estree-walker": "^0.2.1", - "minimatch": "^3.0.2" + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" } }, - "rollup-watch": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/rollup-watch/-/rollup-watch-4.3.1.tgz", - "integrity": "sha512-6yjnIwfjpSrqA8IafyIu7fsEyeImNR4aDjA1bQ7KWeVuiA+Clfsx8+PGQkyABWIQzmauQ//tIJ5wAxLXsXs8qQ==", - "dev": true, + "reduce-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz", + "integrity": "sha1-JYx479FT3fk8tWEjf2EYTzaW4yc=", + "dev": true + }, + "redux": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.4.tgz", + "integrity": "sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q==", "requires": { - "chokidar": "^1.7.0", - "require-relative": "0.8.7", - "rollup-pluginutils": "^2.0.1" - }, - "dependencies": { - "estree-walker": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", - "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==", - "dev": true - }, - "rollup-pluginutils": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.3.3.tgz", - "integrity": "sha512-2XZwja7b6P5q4RZ5FhyX1+f46xi1Z3qBKigLRZ6VTZjwbN0K1IFGMlwm06Uu0Emcre2Z63l77nq/pzn+KxIEoA==", - "dev": true, - "requires": { - "estree-walker": "^0.5.2", - "micromatch": "^2.3.11" - } - } + "loose-envify": "^1.4.0", + "symbol-observable": "^1.2.0" } }, - "rsvp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", - "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", + "redux-thunk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", + "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", "dev": true }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", "dev": true, "requires": { - "is-promise": "^2.1.0" + "regenerate": "^1.4.0" } }, - "rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", - "dev": true - }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", "dev": true }, - "rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", "dev": true, "requires": { - "rx-lite": "*" + "private": "^0.1.6" } }, - "rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "symbol-observable": "1.0.1" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "regexp-tree": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.13.tgz", + "integrity": "sha512-hwdV/GQY5F8ReLZWO+W1SRoN5YfpOKY6852+tBFcma72DKBIcHjPRIlIvQN35bCOljuAfP2G2iB0FC/w236mUw==", + "dev": true }, - "safe-regex": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", "dev": true, "requires": { - "ret": "~0.1.10" + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" } }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sane": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", - "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", + "registry-auth-token": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", "dev": true, "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-path": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz", + "integrity": "sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc=", + "dev": true, + "requires": { + "http-errors": "~1.6.2", + "path-is-absolute": "1.0.1" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true } } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "1.21.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.21.3.tgz", + "integrity": "sha512-43CgeUtHhfiqBOUd0uJo5NEOg2FuheF3SqGN8BqgvnqB4xM2TbfPdudeSdllDcMKpagHb//qtpaAADBurT4GzA==", + "requires": { + "@types/estree": "0.0.39", + "@types/node": "^12.7.5", + "acorn": "^7.0.0" + } + }, + "rollup-plugin-babel": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.3.3.tgz", + "integrity": "sha512-tKzWOCmIJD/6aKNz0H1GMM+lW1q9KyFubbWzGiOG540zxPPifnEAHTZwjo0g991Y+DyOZcLqBgqOdqazYE5fkw==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "rollup-pluginutils": "^2.8.1" + } + }, + "rollup-plugin-node-resolve": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", + "requires": { + "@types/resolve": "0.0.8", + "builtin-modules": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" + } + }, + "rollup-plugin-replace": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-replace/-/rollup-plugin-replace-2.2.0.tgz", + "integrity": "sha512-/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA==", + "dev": true, + "requires": { + "magic-string": "^0.25.2", + "rollup-pluginutils": "^2.6.0" + } + }, + "rollup-plugin-terser": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.1.2.tgz", + "integrity": "sha512-sWKBCOS+vUkRtHtEiJPAf+WnBqk/C402fBD9AVHxSIXMqjsY7MnYWKYEUqGixtr0c8+1DjzUEPlNgOYQPVrS1g==", + "requires": { + "@babel/code-frame": "^7.0.0", + "jest-worker": "^24.6.0", + "rollup-pluginutils": "^2.8.1", + "serialize-javascript": "^1.7.0", + "terser": "^4.1.0" + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "requires": { + "estree-walker": "^0.6.1" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "semver-diff": { @@ -10355,61 +5561,38 @@ "semver": "^5.0.3" } }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" - } + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==" }, "serve": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/serve/-/serve-9.6.0.tgz", - "integrity": "sha512-E5wtMirS9ADD+bs99GofXsLUxwW8EJWc2zQA+x4FwgVGAVnJdzTWIJeFtbVFLaheBewCfN849RwZU2tyAUTIZg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/serve/-/serve-11.1.0.tgz", + "integrity": "sha512-+4wpDtOSS+4ZLyDWMxThutA3iOTawX2+yDovOI8cjOUOmemyvNlHyFAsezBlSgbZKTYChI3tzA1Mh0z6XZ62qA==", "dev": true, "requires": { - "@zeit/schemas": "2.1.1", - "ajv": "6.5.2", + "@zeit/schemas": "2.6.0", + "ajv": "6.5.3", "arg": "2.0.0", "boxen": "1.3.0", "chalk": "2.4.1", "clipboardy": "1.2.3", - "serve-handler": "4.0.0", + "compression": "1.7.3", + "serve-handler": "6.1.0", "update-check": "1.5.2" }, "dependencies": { "ajv": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", - "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" + "uri-js": "^4.2.2" } }, "chalk": { @@ -10422,40 +5605,18 @@ "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, "serve-handler": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-4.0.0.tgz", - "integrity": "sha512-zCRfTTfE7Fit2k4JQC/EoKhDyPqMv3FTIQZ/Pvg0ec4d22LdWeqArPCpQmrnnSXlHMbcgFJ/3r7bCuhvrkwFbg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.0.tgz", + "integrity": "sha512-63N075Tn3PsFYcu0NVV7tb367UbiW3gnC+/50ohL4oqOhAG6bmbaWqiRcXQgbzqc0ALBjSAzg7VTfa0Qw4E3hA==", "dev": true, "requires": { "bytes": "3.0.0", "content-disposition": "0.5.2", "fast-url-parser": "1.1.3", - "glob-slasher": "1.0.1", "mime-types": "2.1.18", "minimatch": "3.0.4", "path-is-inside": "1.0.2", @@ -10463,71 +5624,33 @@ "range-parser": "1.2.0" }, "dependencies": { + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, "mime-db": { "version": "1.33.0", - "resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", "dev": true }, "mime-types": { "version": "2.1.18", - "resolved": "http://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "requires": { "mime-db": "~1.33.0" } - }, - "path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", - "dev": true } } }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - } - }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" - } - }, - "server-destroy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", - "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -10548,9 +5671,10 @@ } }, "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true }, "shebang-command": { "version": "1.2.0", @@ -10567,42 +5691,20 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, - "sisteransi": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-0.1.1.tgz", - "integrity": "sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g==", - "dev": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", "is-fullwidth-code-point": "^2.0.0" } }, @@ -10622,6 +5724,15 @@ "use": "^3.1.0" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -10639,6 +5750,18 @@ "requires": { "is-extendable": "^0.1.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -10690,18 +5813,6 @@ "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true } } }, @@ -10712,114 +5823,23 @@ "dev": true, "requires": { "kind-of": "^3.2.0" - } - }, - "socket.io": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", - "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", - "dev": true, - "requires": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "socket.io-adapter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", - "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=", - "dev": true - }, - "socket.io-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", - "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "socket.io-parser": { - "version": "3.2.0", - "resolved": "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", - "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" }, "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "ms": "2.0.0" + "is-buffer": "^1.1.5" } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true } } }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-resolve": { "version": "0.5.2", @@ -10835,12 +5855,12 @@ } }, "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "requires": { - "source-map": "^0.5.6" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "source-map-url": { @@ -10850,15 +5870,15 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.3.tgz", - "integrity": "sha512-vFrY/x/NdsD7Yc8mpTJXuao9S8lq08Z/kOITHz6b7YbfI9xL8Spe5EvSQUHOI7SbpY8bRPr0U3kKSsPuqEGSfA==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", "dev": true }, "spdx-correct": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz", - "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -10882,9 +5902,9 @@ } }, "spdx-license-ids": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", - "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", "dev": true }, "split-string": { @@ -10902,29 +5922,6 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "sshpk": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", - "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", - "dev": true - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -10947,14 +5944,9 @@ } }, "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, "stream-exhaust": { @@ -10963,49 +5955,6 @@ "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", "dev": true }, - "stream-throttle": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", - "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=", - "dev": true, - "requires": { - "commander": "^2.2.0", - "limiter": "^1.0.5" - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", - "dev": true, - "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -11054,22 +6003,19 @@ } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^4.1.0" } }, "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true }, "strip-comments": { "version": "1.0.2", @@ -11083,7 +6029,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, @@ -11094,86 +6040,82 @@ "dev": true }, "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", "dev": true }, - "strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "escape-string-regexp": "^1.0.2" + "has-flag": "^3.0.0" } }, - "strip-url-auth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", - "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" }, - "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "systemjs": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-4.1.1.tgz", + "integrity": "sha512-/0x3bcMrl1pxDCLw6sJWEKPVy0ZGEu7I0nItFSHxfPoDU2Lll6TUyB1wqltvbm7n5y5jVOoK4lei4oMpmW7XJQ==", "dev": true }, "table": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "requires": { - "ajv": "^5.2.3", - "ajv-keywords": "^2.1.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", - "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + } + } + }, + "table-layout": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz", + "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==", + "dev": true, + "requires": { + "array-back": "^2.0.0", + "deep-extend": "~0.6.0", + "lodash.padend": "^4.6.1", + "typical": "^2.6.1", + "wordwrapjs": "^3.0.0" + }, + "dependencies": { + "array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "typical": "^2.6.1" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=", + "dev": true } } }, @@ -11187,51 +6129,13 @@ } }, "terser": { - "version": "3.10.11", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.11.tgz", - "integrity": "sha512-iruZ7j14oBbRYJC5cP0/vTU7YOWjN+J1ZskEGoF78tFzXdkK2hbCL/3TRZN8XB+MuvFhvOHMp7WkOCBO4VEL5g==", - "dev": true, + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.1.tgz", + "integrity": "sha512-pnzH6dnFEsR2aa2SJaKb1uSCl3QmIsJ8dEkj0Fky+2AwMMcC9doMqLOQIH6wVTEKaVfKVvLSk5qxPBEZT9mywg==", "requires": { - "commander": "~2.17.1", + "commander": "^2.20.0", "source-map": "~0.6.1", - "source-map-support": "~0.5.6" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "test-exclude": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", - "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "micromatch": "^2.3.11", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "source-map-support": "~0.5.12" } }, "text-table": { @@ -11240,25 +6144,27 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "tfunk": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-3.1.0.tgz", - "integrity": "sha1-OORBT8ZJd9h6/apy+sttKfgve1s=", + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", "dev": true, "requires": { - "chalk": "^1.1.1", - "object-path": "^0.9.0" + "any-promise": "^1.0.0" } }, - "throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", - "dev": true + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, @@ -11277,23 +6183,10 @@ "os-tmpdir": "~1.0.2" } }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, "to-object-path": { "version": "0.3.0", @@ -11302,6 +6195,17 @@ "dev": true, "requires": { "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "to-regex": { @@ -11317,44 +6221,19 @@ } }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - } - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "is-number": "^7.0.0" } }, - "toxic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toxic/-/toxic-1.0.1.tgz", - "integrity": "sha512-WI3rIGdcaKULYg7KVoB0zcjikqvcYYvcuT6D89bFPz2rVR0Rl0PK6x8/X62rtdLtBKIE985NzVf/auTtGegIIg==", - "dev": true, - "requires": { - "lodash": "^4.17.10" - } + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true }, "tr46": { "version": "1.0.1", @@ -11371,15 +6250,6 @@ "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", "dev": true }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", @@ -11392,21 +6262,6 @@ "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", "dev": true }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", @@ -11417,95 +6272,69 @@ } }, "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "~2.1.24" } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", "dev": true }, - "ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==", + "uglify-js": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", + "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", + "dev": true, + "requires": { + "commander": "~2.20.0", + "source-map": "~0.6.1" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", "dev": true }, - "uglify-es": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.10.tgz", - "integrity": "sha512-rPzPisCzW68Okj1zNrfa2dR9uEm43SevDmpR6FChoZABFk9dANGnzzBMgHYUXI3609//63fnVkyQ1SQmAMyjww==", + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", "dev": true, "requires": { - "commander": "~2.14.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.14.1", - "resolved": "http://registry.npmjs.org/commander/-/commander-2.14.1.tgz", - "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" } }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", "dev": true }, - "undom": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/undom/-/undom-0.3.3.tgz", - "integrity": "sha1-WNGisM4GWXX3/DacGAoBMbYlwcM=", + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "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.1" } }, "unique-string": { @@ -11523,11 +6352,6 @@ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", @@ -11565,12 +6389,6 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true } } }, @@ -11581,9 +6399,9 @@ "dev": true }, "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true }, "update-check": { @@ -11594,6 +6412,18 @@ "requires": { "registry-auth-token": "3.3.2", "registry-url": "3.1.0" + }, + "dependencies": { + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + } } }, "update-notifier": { @@ -11612,39 +6442,14 @@ "latest-version": "^3.0.0", "semver-diff": "^2.0.0", "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -11675,47 +6480,23 @@ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", "dev": true }, - "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", - "dev": true, - "requires": { - "user-home": "^1.1.1" - } + "valid-url": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", + "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=", + "dev": true }, "validate-npm-package-license": { "version": "3.0.4", @@ -11730,54 +6511,8 @@ "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "w3c-hr-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", - "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", - "dev": true, - "requires": { - "browser-process-hrtime": "^0.1.2" - } - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "requires": { - "makeerror": "1.0.x" - } - }, - "watch": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", - "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", - "dev": true, - "requires": { - "exec-sh": "^0.2.0", - "minimist": "^1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true }, "wcwidth": { "version": "1.0.1", @@ -11794,36 +6529,16 @@ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", "dev": true }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==", "dev": true }, "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", "dev": true, "requires": { "lodash.sortby": "^4.7.0", @@ -11840,12 +6555,6 @@ "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, "widest-line": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", @@ -11855,18 +6564,30 @@ "string-width": "^2.1.1" } }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", - "dev": true - }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, + "wordwrapjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz", + "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==", + "dev": true, + "requires": { + "reduce-flatten": "^1.0.1", + "typical": "^2.6.1" + }, + "dependencies": { + "typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=", + "dev": true + } + } + }, "workbox-background-sync": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", @@ -11926,15 +6647,6 @@ "jsonfile": "^4.0.0", "universalify": "^0.1.0" } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } } } }, @@ -11965,134 +6677,6 @@ "pretty-bytes": "^5.1.0", "update-notifier": "^2.5.0", "workbox-build": "^4.3.1" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "external-editor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", - "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "inquirer": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.4.1.tgz", - "integrity": "sha512-/Jw+qPZx4EDYsaT6uz7F4GJRNFMRdKNeUZw3ZnKV8lyuUgz/YWRCSUAJMZSVhSq4Ec0R2oYnyi6b3d4JXcL5Nw==", - "dev": true, - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.11", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "rxjs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz", - "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "workbox-core": { @@ -12191,38 +6775,6 @@ "workbox-core": "^4.3.1" } }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -12230,18 +6782,18 @@ "dev": true }, "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, "requires": { "mkdirp": "^0.5.1" } }, "write-file-atomic": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -12249,80 +6801,39 @@ "signal-exit": "^3.0.2" } }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, "xdg-basedir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", "dev": true }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", "dev": true }, - "yargs": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", - "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" - } - }, "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", "dev": true, "requires": { "camelcase": "^4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } } }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", + "ylru": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz", + "integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==", "dev": true } } diff --git a/package.json b/package.json index 6f36410..7ab99ab 100644 --- a/package.json +++ b/package.json @@ -1,92 +1,62 @@ { "name": "x-weather", - "version": "1.3.7", + "version": "2.0.4", "description": "A collection of web components implementing portions of the OpenWeatherMap API.", + "author": "x-weather", + "main": "dist/umd/module.js", + "module": "dist/esm/module.js", + "types": "types/index.d.ts", "repository": { "type": "git", "url": "https://github.com/kherrick/x-weather.git" }, "files": [ - "lib", - "src" + "dist", + "src", + "types" ], - "keywords": [ - "weather", - "weather app", - "web components", - "custom elements", - "internet explorer", - "service worker" - ], - "main": "lib/build-no-polyfills-esm/esm/main.js", "scripts": { - "bootstrap": "bin/npm_check", - "browser-sync": "npx browser-sync start --server --serveStatic ./dist/ --files ./dist/** ./src/**", - "build-ie11-iife-ssr": "npx rimraf ./dist && npx mkdirp ./dist && npx rollup --config ./config/rollup.config.ie11-iife-ssr.js", - "build-custom-elements-shady-dom-esm": "npx rimraf ./dist && npx mkdirp ./dist && npx rollup --config ./config/rollup.config.custom.elements.shady.dom-esm.js && npm run copy-custom-elements-shady-dom-esm", - "build-custom-elements-shady-dom-systemjs": "npx rimraf ./dist && npx mkdirp ./dist && npx rollup --config ./config/rollup.config.custom.elements.shady.dom-systemjs.js && npm run copy-custom-elements-shady-dom-systemjs", - "build-ie11-systemjs": "npx rimraf ./dist && npx mkdirp ./dist && npx rollup --config ./config/rollup.config.ie11-systemjs.js && npm run copy-ie11-systemjs", - "build-ie11-iife": "npx rimraf ./dist && npx mkdirp ./dist && npx rollup --config ./config/rollup.config.ie11-iife.js && npm run copy-ie11-iife", - "build-no-polyfills-esm": "npx rimraf ./dist && npx mkdirp ./dist && npx rollup --config ./config/rollup.config.no.polyfills-esm.js && npm run copy-no-polyfills-esm", - "build-no-polyfills-iife": "npx rimraf ./dist && npx mkdirp ./dist && npx rollup --config ./config/rollup.config.no.polyfills-iife.js && npm run copy-no-polyfills-iife", - "build": "npm run bootstrap && npm run build-ie11-iife", - "build-templates": "bin/build_templates $1 $2", - "bundle-modules": "npx rimraf ./bundle && npx mkdirp ./bundle && npx rimraf ./dist ./lib && npm run build-ie11-systemjs && npx ncp ./dist ./bundle/build-ie11-systemjs && npx rimraf ./dist && npm run build-ie11-iife && npx ncp ./dist ./bundle/build-ie11-iife && npx rimraf ./dist && npm run build-no-polyfills-esm && npx ncp ./dist ./bundle/build-no-polyfills-esm && npx rimraf ./dist && npm run build-no-polyfills-iife && npx ncp ./dist ./bundle/build-no-polyfills-iife && npx rimraf ./dist && npm run build-custom-elements-shady-dom-esm && npx ncp ./dist ./bundle/build-custom-elements-shady-dom-esm && npx rimraf ./dist && npm run build-custom-elements-shady-dom-systemjs && npx ncp ./dist ./bundle/build-custom-elements-shady-dom-systemjs && npx rimraf ./dist && npx ncp ./bundle ./dist && npx rimraf ./bundle && npx ncp ./dist ./lib", - "copy-custom-elements-shady-dom-esm": "npx ncp src/index.custom.elements.shady.dom-esm.html dist/index.html && npx ncp ./assets/favicon.ico dist/favicon.ico && npx ncp src/service-worker* dist/ && cd dist/ && npx workbox generateSW ./workbox-config.js", - "copy-custom-elements-shady-dom-systemjs": "npx ncp src/index.custom.elements.shady.dom-systemjs.html dist/index.html && npx ncp ./assets/favicon.ico dist/favicon.ico", - "copy-ie11-systemjs": "npx ncp src/index.ie11-systemjs.html dist/index.html && npx ncp ./assets/favicon.ico dist/favicon.ico", - "copy-ie11-iife": "npx ncp src/index.ie11-iife.html dist/index.html && npx ncp ./assets/favicon.ico dist/favicon.ico && npx ncp src/service-worker* dist/ && cd dist/ && npx workbox generateSW ./workbox-config.js", - "copy-no-polyfills-esm": "npx ncp src/index.no.polyfills-esm.html dist/index.html && npx ncp ./assets/favicon.ico dist/favicon.ico && npx ncp src/service-worker* dist/ && cd dist/ && npx workbox generateSW ./workbox-config.js", - "copy-no-polyfills-iife": "npx ncp src/index.no.polyfills-iife.html dist/index.html && npx ncp ./assets/favicon.ico dist/favicon.ico && npx ncp src/service-worker* dist/ && cd dist/ && npx workbox generateSW ./workbox-config.js", - "copy": "npm run copy-ie11-iife", - "deploy": "gh-pages -d dist", - "predeploy": "NODE_ENV=production npm run build-ie11-iife", - "prepublishOnly": "NODE_ENV=production npm run bundle-modules", - "serve-custom-elements-shady-dom-esm": "cd src/ && ln -sf ./index.custom.elements.shady.dom-esm.html ./index.html && cd .. && npm run browser-sync & npx rollup --watch --config ./config/rollup.config.custom.elements.shady.dom-esm.js", - "serve-custom-elements-shady-dom-systemjs": "cd src/ && ln -sf ./index.custom.elements.shady.dom-systemjs.html ./index.html && cd .. && npm run browser-sync & npx rollup --watch --config ./config/rollup.config.custom.elements.shady.dom-systemjs.js", - "serve-ie11-systemjs": "cd src/ && ln -sf ./index.ie11-systemjs.html ./index.html && cd .. && npm run browser-sync & npx rollup --watch --config ./config/rollup.config.ie11-systemjs.js", - "serve-ie11-iife": "cd src/ && ln -sf ./index.ie11-iife.html ./index.html && cd .. && npm run browser-sync & npx rollup --watch --config ./config/rollup.config.ie11-iife.js", - "serve-no-polyfills-esm": "cd src/ && ln -sf ./index.no.polyfills-esm.html ./index.html && cd .. && npm run browser-sync & npx rollup --watch --config ./config/rollup.config.no.polyfills-esm.js", - "serve-no-polyfills-iife": "cd src/ && ln -sf ./index.no.polyfills-iife.html ./index.html && cd .. && npm run browser-sync & npx rollup --watch --config ./config/rollup.config.no.polyfills-iife.js", - "serve": "npm run serve-ie11-iife", - "start-development-ssr-server": "npx babel-node src/server.js --presets env", - "start-custom-elements-shady-dom-esm": "npm run build-custom-elements-shady-dom-esm && npm run serve-custom-elements-shady-dom-esm", - "start-custom-elements-shady-dom-systemjs": "npm run build-custom-elements-shady-dom-systemjs && npm run serve-custom-elements-shady-dom-systemjs", - "start-ie11-systemjs": "npm run build-ie11-systemjs && npm run serve-ie11-systemjs", - "start-ie11-iife": "npm run build-ie11-iife && npm run serve-ie11-iife", - "start-no-polyfills-esm": "npm run build-no-polyfills-esm && npm run serve-no-polyfills-esm", - "start-no-polyfills-iife": "npm run build-no-polyfills-iife && npm run serve-no-polyfills-iife", - "start": "npm run start-ie11-iife", - "test": "npx jest --config tests/jest/jest.json", - "test-coverage": "npm run test -- --coverage --coverageReporters html && printf '\ntests/jest/coverage/\n' && ls -al tests/jest/coverage" + "build": "NODE_ENV=production rollup -c", + "build:development": "NODE_ENV=development rollup -c", + "build:service-worker": "workbox generateSW ./service-worker/workbox-config.js", + "prepublishOnly": "npm run build", + "start": "es-dev-server --app-index dev/index.html --node-resolve --open --watch", + "lint": "eslint --ext .js,.html . --ignore-path .eslintignore", + "serve": "serve -s . -p 3000", + "test": "echo \"no test specified\" && exit 0" + }, + "dependencies": { + "core-js": "^3.2.1", + "date-fns": "^2.2.1", + "lit-element": "^2.2.1", + "lit-html": "^1.1.2", + "pwa-helpers": "^0.9.1", + "redux": "^4.0.4", + "redux-thunk": "^2.3.0", + "rollup": "^1.21.3", + "rollup-plugin-babel": "^4.3.3", + "rollup-plugin-node-resolve": "^5.2.0", + "rollup-plugin-terser": "^5.1.2" }, - "license": "AGPL-3.0", "devDependencies": { - "@skatejs/ssr": "^0.19.4", - "@webcomponents/webcomponentsjs": "^1.0.19", - "babel-cli": "^6.26.0", - "babel-plugin-external-helpers": "^6.22.0", - "babel-plugin-transform-custom-element-classes": "^0.1.0", - "babel-polyfill": "^6.26.0", - "babel-preset-env": "^1.6.1", - "babel-preset-stage-2": "^6.24.1", - "browser-sync": "^2.12.5", - "eslint": "^4.12.0", - "gh-pages": "^1.2.0", - "glob": "^7.1.2", - "jest": "^23.6.0", - "ncp": "^2.0.0", - "rollup": "^0.59.4", - "rollup-plugin-babel": "^3.0.4", - "rollup-plugin-commonjs": "^9.1.3", - "rollup-plugin-node-resolve": "^3.3.0", - "rollup-plugin-terser": "^1.0.1", - "rollup-plugin-uglify": "^4.0.0", - "rollup-watch": "^4.3.1", - "serve": "^9.0.0", + "es-dev-server": "^1.18.0", + "eslint": "^6.4.0", + "eslint-config-prettier": "^6.3.0", + "eslint-plugin-prettier": "^3.1.0", + "glob": "^7.1.4", + "prettier": "^1.18.2", + "rollup-plugin-replace": "^2.2.0", + "serve": "^11.1.0", "workbox-cli": "^4.3.1" }, - "dependencies": { - "express": "^4.16.3" - } + "license": "AGPL-3.0", + "keywords": [ + "Web Components", + "Custom Elements", + "Redux", + "LitElement", + "Weather", + "Weather App", + "Service Worker" + ] } diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..a1a0d9e --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,43 @@ +import { terser } from 'rollup-plugin-terser' +import babel from 'rollup-plugin-babel' +import replace from 'rollup-plugin-replace' +import resolve from 'rollup-plugin-node-resolve' + +import glob from 'glob' +import path from 'path' + +const isProduction = () => process.env.NODE_ENV === 'production' + +export default [ + { + output: { + dir: path.join('dist', 'esm'), + format: 'esm' + }, + input: [...glob.sync('./src/**/*.js')], + plugins: [ + replace({ + 'process.env.NODE_ENV': isProduction() ? JSON.stringify('production') : JSON.stringify('development') + }), + resolve(), + babel(), + isProduction() ? terser() : undefined + ] + }, + { + output: { + dir: path.join('dist', 'umd'), + format: 'umd', + name: 'x-weather' + }, + input: [path.join('src/module.js')], + plugins: [ + replace({ + 'process.env.NODE_ENV': isProduction() ? JSON.stringify('production') : JSON.stringify('development') + }), + resolve(), + babel(), + isProduction() ? terser() : undefined + ] + } +] diff --git a/lib/build-no-polyfills-esm/registerServiceWorker.js b/service-worker/registerServiceWorker.js similarity index 98% rename from lib/build-no-polyfills-esm/registerServiceWorker.js rename to service-worker/registerServiceWorker.js index 1077f6f..487d3d7 100644 --- a/lib/build-no-polyfills-esm/registerServiceWorker.js +++ b/service-worker/registerServiceWorker.js @@ -25,7 +25,7 @@ const register = publicUrl => { } window.addEventListener('load', () => { - const swUrl = `${publicUrl}service-worker.js` + const swUrl = `${publicUrl}/service-worker.js` if (isLocalhost) { // This is running on localhost. Lets check if a service worker still exists or not. diff --git a/lib/build-custom-elements-shady-dom-esm/workbox-config.js b/service-worker/workbox-config.js similarity index 85% rename from lib/build-custom-elements-shady-dom-esm/workbox-config.js rename to service-worker/workbox-config.js index b675c2f..f334575 100644 --- a/lib/build-custom-elements-shady-dom-esm/workbox-config.js +++ b/service-worker/workbox-config.js @@ -1,12 +1,13 @@ +const WORKBOX_CONFIG_PATH = process.env.WORKBOX_CONFIG_PATH || '/' + module.exports = { - "globDirectory": "./", - "globPatterns": [ - "**/*.{js,png,ico,html}" - ], + globDirectory: './', + globPatterns: ['**/*.{js,png,ico,html}'], + globIgnores: ['**/node_modules/**/*', '**/service-worker.js', 'dev/**', 'src/**', 'rollup.config.js'], templatedURLs: { - '/x-weather/': `${new Date()}`, + [`${WORKBOX_CONFIG_PATH}`]: `${new Date()}` }, - "swDest": "service-worker.js", + swDest: 'service-worker.js', // Define runtime caching rules. runtimeCaching: [ { @@ -22,9 +23,9 @@ module.exports = { // Only cache 10 images. expiration: { - maxEntries: 100, - }, - }, + maxEntries: 100 + } + } }, { urlPattern: new RegExp('^https://api.openweathermap.org/data/2.5.*$'), @@ -92,7 +93,6 @@ module.exports = { maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days } } - }, - ], - -}; + } + ] +} diff --git a/src/XWeather.js b/src/XWeather.js new file mode 100644 index 0000000..eb43b65 --- /dev/null +++ b/src/XWeather.js @@ -0,0 +1,63 @@ +import { html, css, LitElement } from 'lit-element' +import { connect } from 'pwa-helpers/connect-mixin' +import { store } from './store/configureStore' +import { getCurrentWeather, getForecastWeather } from './dispatchers/dispatchers' + +import './containers/XCurrent' +import './containers/XForecast' + +const XWeather = class extends connect(store)(LitElement) { + static get styles() { + return css` + :host { + display: block; + } + + header { + font-size: var(--x-weather-header-font-size, 1.5rem); + text-align: center; + } + ` + } + + static get properties() { + return { + appid: { type: String, reflect: false }, + host: { type: String, reflect: true }, + location: { type: String, reflect: true } + } + } + + constructor() { + super() + + this.appid = undefined + this.host = 'api.openweathermap.org' + this.location = 'Detroit, Michigan' + } + + render() { + const hasRequiredAttributes = this.appid && this.host && this.location + + if (hasRequiredAttributes) { + getCurrentWeather({ appid: this.appid, host: this.host, location: this.location }) + getForecastWeather({ appid: this.appid, host: this.host, location: this.location }) + } + + return hasRequiredAttributes + ? html` +
${this.location}
+ + ` + : html` +
Please make sure required attributes (appid, host, and location) are set on <x-weather>.
+ ` + } +} + +if (!customElements.get('x-weather')) { + customElements.define('x-weather', XWeather) +} + +export { XWeather } +export default XWeather diff --git a/src/actions/creators/currentWeather/thunks/getCurrentWeather.js b/src/actions/creators/currentWeather/thunks/getCurrentWeather.js new file mode 100644 index 0000000..28bccbb --- /dev/null +++ b/src/actions/creators/currentWeather/thunks/getCurrentWeather.js @@ -0,0 +1,53 @@ +import { convertTemperature } from '../../../../utilities' +import { updateCurrentWeather } from '../updateCurrentWeather' + +const _serviceHandler = ({ appid, host, location }) => { + const url = `https://${host}/data/2.5/weather?q=${location}&appid=${appid}` // eslint-disable-line no-unused-vars + + // return current + return fetch(url, { + method: 'GET' + }).then(res => { + if (res.ok) { + return res.json() + } + }) +} + +const _getCurrentWeather = ({ appid, host, location }) => { + if (appid && host && location) { + return _serviceHandler({ appid, host, location }).then(result => { + if (!result) { + throw new Error( + `failed to get result from the current weather service using: appid: ${appid}, host: ${host}, location: ${location}` + ) + } + + const { coord, weather, base, main, visibility, wind, clouds, dt, sys, id, name, cod } = result // eslint-disable-line no-unused-vars + + return JSON.stringify({ + iconAlt: weather[0].description, + iconSrc: weather[0].icon, + temperature: { + kelvin: main.temp, + celsius: convertTemperature(main.temp, 'kToC'), + fahrenheit: convertTemperature(main.temp, 'kToF') + }, + timestamp: dt + }) + }) + } +} + +const getCurrentWeather = ({ appid, host, location }) => { + return dispatch => { + return _getCurrentWeather({ appid, host, location }).then(json => { + if (json.length > 0) { + dispatch(updateCurrentWeather({ json })) + } + }) + } +} + +export { getCurrentWeather } +export default getCurrentWeather diff --git a/src/actions/creators/currentWeather/updateCurrentWeather.js b/src/actions/creators/currentWeather/updateCurrentWeather.js new file mode 100644 index 0000000..1bbaf27 --- /dev/null +++ b/src/actions/creators/currentWeather/updateCurrentWeather.js @@ -0,0 +1,3 @@ +import { UPDATE_CURRENT_WEATHER } from '../../types' + +export const updateCurrentWeather = ({ json }) => ({ type: UPDATE_CURRENT_WEATHER, payload: JSON.parse(json) }) diff --git a/src/actions/creators/forecastWeather/thunks/getForecastWeather.js b/src/actions/creators/forecastWeather/thunks/getForecastWeather.js new file mode 100644 index 0000000..c2835cc --- /dev/null +++ b/src/actions/creators/forecastWeather/thunks/getForecastWeather.js @@ -0,0 +1,44 @@ +import { convertTemperature } from '../../../../utilities' +import { updateForecastWeather } from '../updateForecastWeather' + +const _serviceHandler = ({ appid, host, location }) => { + const url = `https://${host}/data/2.5/forecast/daily?q=${location}&mode=json&units=metric&cnt=14&appid=${appid}` // eslint-disable-line no-unused-vars + + // return forecast + return fetch(url, { + method: 'GET' + }).then(res => { + if (res.ok) { + return res.json() + } + }) +} + +const _getForecastWeather = ({ appid, host, location }) => { + if (appid && host && location) { + return _serviceHandler({ appid, host, location }).then(result => { + if (!result) { + throw new Error( + `failed to get result from the forecast weather service using: appid: ${appid}, host: ${host}, location: ${location}` + ) + } + + const { city, cod, message, cnt, list } = result // eslint-disable-line no-unused-vars + + return JSON.stringify(list) + }) + } +} + +const getForecastWeather = ({ appid, host, location }) => { + return dispatch => { + return _getForecastWeather({ appid, host, location }).then(json => { + if (json.length > 0) { + dispatch(updateForecastWeather({ json })) + } + }) + } +} + +export { getForecastWeather } +export default getForecastWeather diff --git a/src/actions/creators/forecastWeather/updateForecastWeather.js b/src/actions/creators/forecastWeather/updateForecastWeather.js new file mode 100644 index 0000000..96ea5b2 --- /dev/null +++ b/src/actions/creators/forecastWeather/updateForecastWeather.js @@ -0,0 +1,3 @@ +import { UPDATE_FORECAST_WEATHER } from '../../types' + +export const updateForecastWeather = ({ json }) => ({ type: UPDATE_FORECAST_WEATHER, payload: JSON.parse(json) }) diff --git a/src/actions/creators/index.js b/src/actions/creators/index.js new file mode 100644 index 0000000..ba5acd8 --- /dev/null +++ b/src/actions/creators/index.js @@ -0,0 +1,4 @@ +import { SWAP_PRIMARY_SCALE_CURRENT, SWAP_PRIMARY_SCALE_FORECAST } from '../types' + +export const swapPrimaryScaleCurrent = primaryScale => ({ type: SWAP_PRIMARY_SCALE_CURRENT, payload: primaryScale }) +export const swapPrimaryScaleForecast = primaryScale => ({ type: SWAP_PRIMARY_SCALE_FORECAST, payload: primaryScale }) diff --git a/src/actions/types.js b/src/actions/types.js new file mode 100644 index 0000000..19b37cc --- /dev/null +++ b/src/actions/types.js @@ -0,0 +1,6 @@ +// action types +export const SWAP_PRIMARY_SCALE_CURRENT = 'SWAP_PRIMARY_SCALE_CURRENT' +export const SWAP_PRIMARY_SCALE_FORECAST = 'SWAP_PRIMARY_SCALE_FORECAST' + +export const UPDATE_CURRENT_WEATHER = 'UPDATE_CURRENT_WEATHER' +export const UPDATE_FORECAST_WEATHER = 'UPDATE_FORECAST_WEATHER' diff --git a/src/components/XDateTime.js b/src/components/XDateTime.js new file mode 100644 index 0000000..43625e8 --- /dev/null +++ b/src/components/XDateTime.js @@ -0,0 +1,39 @@ +import { html, css, LitElement } from 'lit-element' +import { format, fromUnixTime } from 'date-fns' + +const XDateTime = class extends LitElement { + static get styles() { + return css` + :host { + display: block; + } + ` + } + + static get properties() { + return { + datetimefmt: { type: String }, + timestamp: { type: String } + } + } + + constructor() { + super() + + this.datetimefmt = 'yyyy-MM-dd @ h:mm:ss a' + this.timestamp = '0' + } + + render() { + return html` + ${format(new Date(fromUnixTime(this.timestamp)), this.datetimefmt)} + ` + } +} + +if (!customElements.get('x-date-time')) { + customElements.define('x-date-time', XDateTime) +} + +export { XDateTime } +export default XDateTime diff --git a/src/components/XWeatherItem.js b/src/components/XWeatherItem.js new file mode 100644 index 0000000..fe126a4 --- /dev/null +++ b/src/components/XWeatherItem.js @@ -0,0 +1,61 @@ +import { html, css, LitElement } from 'lit-element' + +const XWeatherItem = class extends LitElement { + static get styles() { + return css` + :host { + display: block; + } + + img { + display: var(--x-weather-item-icon-display, block); + height: var(--x-weather-item-icon-height, 7.5rem); + margin: var(--x-weather-item-icon-margin, auto); + width: var(--x-weather-item-icon-width, 7.5rem); + } + + ul { + list-style-type: none; + padding: 0; + } + + ul > li { + text-align: center; + } + ` + } + + static get properties() { + return { + datetime: { type: Number }, + iconalt: { type: String }, + iconsrc: { type: String } + } + } + + render() { + // const iconurl = `https://openweathermap.org/img/w/${this.iconsrc}.png` + const iconurl = `https://openweathermap.org/themes/openweathermap/assets/vendor/owm/img/widgets/${this.iconsrc}.png` + + return html` +
    +
  • + +
  • +
  • + +
  • +
  • + ${this.iconalt} +
  • +
+ ` + } +} + +if (!customElements.get('x-weather-item')) { + customElements.define('x-weather-item', XWeatherItem) +} + +export { XWeatherItem } +export default XWeatherItem diff --git a/src/components/XWeatherItemTemperature.js b/src/components/XWeatherItemTemperature.js new file mode 100644 index 0000000..5826d42 --- /dev/null +++ b/src/components/XWeatherItemTemperature.js @@ -0,0 +1,47 @@ +import { html, css, LitElement } from 'lit-element' + +const XWeatherItemTemperature = class extends LitElement { + static get styles() { + return css` + :host { + display: block; + } + + #day, + #dayScale { + font-size: 1.25rem; + font-weight: bold; + } + + #night, + #nightScale { + color: rgb(0, 0, 128); + font-size: 0.75rem; + font-weight: bold; + } + ` + } + + static get properties() { + return { + daytemp: { type: Number }, + nighttemp: { type: Number }, + dayscale: { type: String }, + nightscale: { type: String } + } + } + + render() { + return html` + ${this.daytemp}°${this.dayscale}  + ${this.nighttemp}°${this.nightscale} + ` + } +} + +if (!customElements.get('x-weather-item-temperature')) { + customElements.define('x-weather-item-temperature', XWeatherItemTemperature) +} + +export { XWeatherItemTemperature } +export default XWeatherItemTemperature diff --git a/src/components/layout/x-weather-bottom.js b/src/components/layout/x-weather-bottom.js deleted file mode 100644 index ff64c93..0000000 --- a/src/components/layout/x-weather-bottom.js +++ /dev/null @@ -1,48 +0,0 @@ -import { loadComponent } from '../../utilities.js' - -const template = ` - - -
- -
-` - -const XWeatherBottom = class extends HTMLElement { - constructor() { - super() - - const container = document.createElement('div') - container.innerHTML = template - - this.attachShadow({ mode: 'open' }).appendChild(container) - } -} - -export const load = () => loadComponent({ - customElements: customElements, - tagName: 'x-weather-bottom', - element: XWeatherBottom -}) - -export default XWeatherBottom diff --git a/src/components/layout/x-weather-middle.js b/src/components/layout/x-weather-middle.js deleted file mode 100644 index 981f599..0000000 --- a/src/components/layout/x-weather-middle.js +++ /dev/null @@ -1,50 +0,0 @@ -import { loadComponent } from '../../utilities.js' - -const template = ` - - -
- -
-` - -const XWeatherMiddle = class extends HTMLElement { - constructor() { - super() - - const container = document.createElement('div') - container.innerHTML = template - - this.attachShadow({ mode: 'open' }).appendChild(container) - } -} - -export const load = () => loadComponent({ - customElements: customElements, - tagName: 'x-weather-middle', - element: XWeatherMiddle -}) - -export default XWeatherMiddle diff --git a/src/components/layout/x-weather-top.js b/src/components/layout/x-weather-top.js deleted file mode 100644 index bedad20..0000000 --- a/src/components/layout/x-weather-top.js +++ /dev/null @@ -1,45 +0,0 @@ -import { loadComponent } from '../../utilities.js' - -const template = ` - - -
- -
-` - -const XWeatherTop = class extends HTMLElement { - constructor() { - super() - - const container = document.createElement('div') - container.innerHTML = template - - this.attachShadow({ mode: 'open' }).appendChild(container) - } -} - -export const load = () => loadComponent({ - customElements: customElements, - tagName: 'x-weather-top', - element: XWeatherTop -}) - -export default XWeatherTop diff --git a/src/components/x-current.js b/src/components/x-current.js deleted file mode 100644 index 5cab962..0000000 --- a/src/components/x-current.js +++ /dev/null @@ -1,244 +0,0 @@ -import { convertTemperature, dateTime, loadComponent, to12HourTime, unixEpochToDate } from '../utilities.js' -// import current from '../../fixtures/current' - -const template = ` - - -
-
    -
  • -
  • ° /
  • -
-
- -
-
-` - -const XCurrent = class extends HTMLElement { - constructor() { - super() - - const container = document.createElement('div') - container.innerHTML = template - - this.attachShadow({ mode: 'open' }).appendChild(container) - } - - connectedCallback() { - this.refresh().then(currentWeather => { - this.render(currentWeather) - // set this as a class property to be used later - this.currentWeather = currentWeather - - this.primaryScale = this.shadowRoot.querySelector('#primaryScale') - this.alternateScale = this.shadowRoot.querySelector('#alternateScale') - - this.primaryScale.textContent = this.scale - this.alternateScale.textContent = this.scale === 'C' ? 'F' : 'C' - - this.alternateScale.onclick = () => { - // https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent#Differences_from_innerText - // Sometimes people use innerHTML to retrieve or write text inside an element. - // textContent has better performance because its value is not parsed as HTML. - // Moreover, using textContent can prevent XSS attacks. - this.scale = this.alternateScale.textContent - - // check for xForecast and set the scale attribute - const xForecast = this.parentElement.querySelector('x-forecast') - - if (xForecast) { - xForecast.setAttribute('scale', this.primaryScale.textContent) - } - } - }) - } - - attributeChangedCallback(attrName, oldVal, newVal) { - // handle the scale attribute change - if ( - attrName === 'scale' && - oldVal !== newVal && - this.alternateScale && - this.primaryScale - ) { - if (newVal === 'C') { - this.alternateScale.textContent = 'F' - this.primaryScale.textContent = newVal - } - - if (newVal === 'F') { - this.alternateScale.textContent = 'C' - this.primaryScale.textContent = newVal - } - - this.render(this.currentWeather) - } - } - - static get observedAttributes() { - return [ 'scale' ] - } - - get appid() { - return this.getAttribute('appid') - } - - set appid(appid) { - this.setAttribute('appid', appid) - } - - get host() { - return this.getAttribute('host') - } - - set host(host) { - this.setAttribute('host', host) - } - - get location() { - return this.getAttribute('location') - } - - set location(location) { - this.setAttribute('location', location) - } - - set iconAlt(iconAlt) { - this.shadowRoot.querySelector('#icon').setAttribute('alt', iconAlt) - } - - set iconSrc(iconSrc) { - this.shadowRoot.querySelector('#icon').src = iconSrc - } - - get scale() { - return this.getAttribute('scale') - } - - set scale(scale) { - this.setAttribute('scale', scale) - } - - set temperature(temperature) { - this.setAttribute('temperature', temperature) - - this.shadowRoot.querySelector('#temperature').textContent = temperature - } - - set timestamp(timestamp) { - this.shadowRoot.querySelector('#time').innerHTML = ` -
- ${to12HourTime( - dateTime(unixEpochToDate(timestamp)) - .H(':') - .M(':') - .S() - .getResults() - )} (${dateTime(new Date).m('-').d().getResults()}): -
- ` - } - - _getCurrentWeather({ appid, host, location }) { - if (appid && host && location) { - - return this._serviceHandler({ appid, host, location }).then(result => { - const { coord, weather, base, main, visibility, wind, clouds, dt, sys, id, name, cod } = result // eslint-disable-line no-unused-vars - - return { - iconAlt: weather[0].description, - iconSrc: weather[0].icon, - temperature: { - kelvin: main.temp, - celsius: convertTemperature(main.temp, 'kToC'), - fahrenheit: convertTemperature(main.temp, 'kToF') - }, - timestamp: dt - } - }) - } - } - - _serviceHandler({ appid, host, location }) { - const url = `https://${host}/data/2.5/weather?q=${location}&appid=${appid}` // eslint-disable-line no-unused-vars - - // return current - return fetch(url, { - method: 'GET' - }).then(res => { - if (res.ok) { - return res.json() - } - }) - } - - refresh() { - const config = { - appid: this.parentElement.getAttribute('appid'), - host: this.parentElement.getAttribute('host'), - location: this.parentElement.getAttribute('location') - } - - return this._getCurrentWeather(config) - } - - render({ iconAlt, iconSrc, temperature, timestamp }) { - this.temperature = Number.parseFloat(temperature[this.scale === 'C' ? 'celsius' : 'fahrenheit']).toFixed(2) - this.iconAlt = iconAlt - this.iconSrc = `https://openweathermap.org/themes/openweathermap/assets/vendor/owm/img/widgets/${iconSrc}.png` - // this.iconSrc = `https://openweathermap.org/img/w/${iconSrc}.png` - this.timestamp = timestamp - } -} - -export const load = () => loadComponent({ - customElements: customElements, - tagName: 'x-current', - element: XCurrent -}) - -export default XCurrent diff --git a/src/components/x-forecast-item.js b/src/components/x-forecast-item.js deleted file mode 100644 index 243a9bd..0000000 --- a/src/components/x-forecast-item.js +++ /dev/null @@ -1,100 +0,0 @@ -import { loadComponent } from '../utilities.js' - -const template = ` - - -
    -
  • - -
  • -
  • ° °
  • -
  • - -
  • -
-` - -const XForecastItem = class extends HTMLElement { - constructor() { - super() - - const container = document.createElement('div') - container.innerHTML = template - - this.attachShadow({ mode: 'open' }).appendChild(container) - } - - attributeChangedCallback(attrName, oldVal, newVal) { - switch (attrName) { - case 'day': - this.shadowRoot.getElementById('day').textContent = newVal.slice(0, -1) - break; - case 'description': - this.shadowRoot.getElementById('icon').alt = newVal - break; - case 'forecast-date': - this.shadowRoot.getElementById('forecastDate').textContent = newVal - break; - case 'icon': - this.shadowRoot.getElementById('icon').src = newVal - break; - case 'night': - this.shadowRoot.getElementById('night').textContent = newVal.slice(0, -1) - break; - case 'scale': - this.shadowRoot.querySelectorAll('[data-scale]').forEach(element => { - element.textContent = newVal - }) - break; - } - } - - static get observedAttributes() { - return [ 'day', 'description', 'forecast-date', 'icon', 'night', 'scale' ] - } -} - -export const load = () => loadComponent({ - customElements: customElements, - tagName: 'x-forecast-item', - element: XForecastItem -}) - -export default XForecastItem diff --git a/src/components/x-forecast.js b/src/components/x-forecast.js deleted file mode 100644 index 014f627..0000000 --- a/src/components/x-forecast.js +++ /dev/null @@ -1,211 +0,0 @@ -import { convertTemperature, dateTime, isObjectEmpty, loadComponent, unixEpochToDate } from '../utilities.js' -// import forecast from '../../fixtures/forecast' - -const template = ` - - -
-
-
-` - -const XForecast = class extends HTMLElement { - constructor() { - super() - - const container = document.createElement('div') - container.innerHTML = template - - this.attachShadow({ mode: 'open' }).appendChild(container) - } - - connectedCallback() { - this.refresh().then((currentForecast) => { - this.render(currentForecast, this.days) - - // set this as a class property to be used later - this.currentForecast = currentForecast - }) - } - - attributeChangedCallback(attrName, oldVal, newVal) { - // handle the scale and days attribute change - if (oldVal === newVal) { - return - } - - if (this.days === null) { - return - } - - if (attrName === 'days' || attrName === 'scale') { - this.render(this.currentForecast, this.days) - } - } - - static get observedAttributes() { - return [ 'days', 'scale' ] - } - - get appid() { - return this.getAttribute('appid') - } - - set appid(appid) { - this.setAttribute('appid', appid) - } - - get days() { - return this.getAttribute('days') - } - - set days(days) { - this.setAttribute('days', days) - } - - get host() { - return this.getAttribute('host') - } - - set host(host) { - this.setAttribute('host', host) - } - - get location() { - return this.getAttribute('location') - } - - set location(location) { - this.setAttribute('location', location) - } - - get scale() { - return this.getAttribute('scale') - } - - set scale(scale) { - this.setAttribute('scale', scale) - } - - _buildDateContainer(forecast, days) { - const dateContainer = document.createElement('div') - dateContainer.setAttribute('data-x-forecast-date-container', '') - - // build forecast list - if (forecast && !isObjectEmpty(forecast)) { - const today = dateTime(new Date()).Y('-').m('-').d('').getResults() - - // shorten the forecast to the requested number of days, https://mzl.la/2JDIuy6 - // if the attribute is changed to be smaller - if (forecast.length > days) { - forecast.length = days; - } - - forecast.forEach(props => { - const { dt, temp, pressure, humidity, weather, speed, deg, clouds, rain } = props // eslint-disable-line no-unused-vars - - const dateItem = document.createElement('x-forecast-item') - dateItem.setAttribute('day', this._convertForecast({ scale: this.scale, timeOfDayTemp: temp.day })) - dateItem.setAttribute('description', weather[0].description) - dateItem.setAttribute('forecast-date', this._getDayOfWeek({ dt, today })) - - dateItem.setAttribute('icon', `https://openweathermap.org/themes/openweathermap/assets/vendor/owm/img/widgets/${weather[0].icon}.png`) - // dateItem.setAttribute('icon', `https://openweathermap.org/img/w/${weather[0].icon}.png`) - - dateItem.setAttribute('night', this._convertForecast({ scale: this.scale, timeOfDayTemp: temp.night })) - dateItem.setAttribute('scale', this.scale) - - dateContainer.appendChild(dateItem) - }) - } - - return dateContainer - } - - _convertForecast({ scale, timeOfDayTemp }) { - return `${Number.parseFloat(scale === 'F' ? convertTemperature(timeOfDayTemp, 'cToF') : timeOfDayTemp).toFixed(2)}` - } - - _getDayOfWeek({ dt, today }) { - const timestamp = unixEpochToDate(dt) - const current = dateTime(timestamp).Y('-').m('-').d().getResults() - - const ddMM = dateTime(timestamp).m('/').d().getResults() - - if (current === today) { - return `Today (${ddMM}):` - } - - const weekDay = dateTime(timestamp)['date'].toLocaleString('en-US', { weekday: 'long'} ) - - return `${weekDay} (${ddMM}):` - } - - _getForecast({ appid, host, location }) { - if (appid && host && location) { - return this._serviceHandler({ appid, host, location }).then(result => { - const { city, cod, message, cnt, list } = result // eslint-disable-line no-unused-vars - - return list - }) - } - } - - _serviceHandler({ appid, host, location }) { - const url = `https://${host}/data/2.5/forecast/daily?q=${location}&mode=json&units=metric&cnt=14&appid=${appid}` // eslint-disable-line no-unused-vars - - // return forecast - return fetch(url, { - method: 'GET' - }).then(res => { - if (res.ok) { - return res.json() - } - }) - } - - refresh() { - const config = { - appid: this.parentElement.getAttribute('appid'), - host: this.parentElement.getAttribute('host'), - location: this.parentElement.getAttribute('location') - } - - return this._getForecast(config) - } - - render(res, days) { - const forecastDayNode = this.shadowRoot.querySelector('[data-x-forecast]') - const dateContainerNode = this.shadowRoot.querySelector('[data-x-forecast] > [data-x-forecast-date-container]') - - forecastDayNode.replaceChild(this._buildDateContainer(res, days), dateContainerNode) - } -} - -export const load = () => loadComponent({ - customElements: customElements, - tagName: 'x-forecast', - element: XForecast -}) - -export default XForecast diff --git a/src/components/x-weather.js b/src/components/x-weather.js deleted file mode 100644 index 8d52f4a..0000000 --- a/src/components/x-weather.js +++ /dev/null @@ -1,140 +0,0 @@ -import { loadComponent } from '../utilities.js' - -const template = ` - - -
-
- - -
-` - -const XWeather = class extends HTMLElement { - constructor() { - super() - - const container = document.createElement('div') - container.innerHTML = template - - this.attachShadow({ mode: 'open' }).appendChild(container) - } - - connectedCallback() { - this._upgradeProperty('appid') - this._upgradeProperty('host') - this._upgradeProperty('location') - - this.xCurrent = this.querySelector('x-current') - this.xForecast = this.querySelector('x-forecast') - - this._renderLocation(this.location) - - const locationInput = this.shadowRoot.querySelector('#location') - - locationInput.addEventListener('change', () => { - this.location = locationInput.value - - this.xCurrent.refresh().then(currentWeather => { - this.xCurrent.render(currentWeather) - // set this as a class property to be used later - this.xCurrent.currentWeather = currentWeather - }) - - this.xForecast.refresh().then(currentForecast => { - this.xForecast.render(currentForecast) - // set this as a class property to be used later - this.xForecast.currentForecast = currentForecast - }) - }) - } - - attributeChangedCallback(attrName, oldVal, newVal) { - if (oldVal !== newVal && attrName === 'appid' || attrName === 'host' || attrName === 'location') { - if (attrName === 'location') { - this._renderLocation(this.location) - } - - if (this.xCurrent) { - this.xCurrent.setAttribute(attrName, newVal) - } - - if (this.xForecast) { - this.xForecast.setAttribute(attrName, newVal) - } - } - } - - static get observedAttributes() { - return [ 'appid', 'host', 'location' ] - } - - get appid() { - return this.getAttribute('appid') - } - - set appid(appid) { - this.setAttribute('appid', appid) - } - - get host() { - return this.getAttribute('host') - } - - set host(host) { - this.setAttribute('host', host) - } - - get location() { - return this.getAttribute('location') - } - - set location(location) { - this.setAttribute('location', location) - } - - _renderLocation(location) { - const locationInput = this.shadowRoot.querySelector('#location') - - locationInput.value = location - - const inputFontSize = window.getComputedStyle( - this.shadowRoot.querySelector('div[data-x-weather] #location') - ).fontSize.slice(0, -2) - - // set locationInput width dynamically - locationInput.style.width = `${(locationInput.value.length * Number(inputFontSize)) / 2}px` - } - - _upgradeProperty(prop) { - if (this.hasOwnProperty(prop)) { - let value = this[prop] - - delete this[prop] - - this[prop] = value - } - } -} - -export const load = () => loadComponent({ - customElements: customElements, - tagName: 'x-weather', - element: XWeather -}) - -export default XWeather diff --git a/src/containers/XCurrent.js b/src/containers/XCurrent.js new file mode 100644 index 0000000..85cf68c --- /dev/null +++ b/src/containers/XCurrent.js @@ -0,0 +1,57 @@ +import { html, css, LitElement } from 'lit-element' +import { connect } from 'pwa-helpers/connect-mixin' +import { store } from '../store/configureStore' + +import '../components/XWeatherItem' +import '../components/XDateTime' + +import './XCurrentTemperature' + +const XCurrent = class extends connect(store)(LitElement) { + static get styles() { + return css` + :host { + display: block; + } + + x-date-time { + text-decoration: underline; + } + + x-weather-item { + margin-bottom: 0.5rem; + } + ` + } + + static get properties() { + return { + currentweather: { type: Object }, + primaryscale: { type: String } + } + } + + stateChanged({ weather }) { + this.currentweather = weather.current + this.primaryscale = weather.primaryScale || this.primaryscale + } + + render() { + return html` + + + + + ` + } +} + +if (!customElements.get('x-current')) { + customElements.define('x-current', XCurrent) +} + +export { XCurrent } +export default XCurrent diff --git a/src/containers/XCurrentTemperature.js b/src/containers/XCurrentTemperature.js new file mode 100644 index 0000000..1a15e86 --- /dev/null +++ b/src/containers/XCurrentTemperature.js @@ -0,0 +1,74 @@ +import { html, css, LitElement } from 'lit-element' +import { convertTemperature } from '../utilities.js' +import { connect } from 'pwa-helpers/connect-mixin' +import { store } from '../store/configureStore' + +import { swapPrimaryScaleCurrent, swapPrimaryScaleForecast } from '../dispatchers/dispatchers' + +const XCurrentTemperature = class extends connect(store)(LitElement) { + static get styles() { + return css` + :host { + display: block; + } + + #alternateScale { + cursor: pointer; + border-bottom: 1px dotted; + } + + #temperature { + font-size: 1.25rem; + font-weight: bold; + } + ` + } + + static get properties() { + return { + celsius: { type: Number }, + fahrenheit: { type: Number }, + primaryscale: { type: String } + } + } + + stateChanged({ weather }) { + this.celsius = String(weather.current.temperature.celsius).slice(0, 5) + this.fahrenheit = String(weather.current.temperature.fahrenheit).slice(0, 5) + this.primaryscale = weather.current.primaryScale || this.primaryscale + } + + constructor() { + super() + + this.celsius = '10.00' + this.fahrenheit = '50.00' + this.primaryscale = 'c' + } + + _handleScaleSwap(scale) { + return () => { + swapPrimaryScaleCurrent(scale) + swapPrimaryScaleForecast(scale) + } + } + + render() { + return this.primaryscale === 'c' + ? html` + ${this.celsius} °C + / ${this.fahrenheit} °F + ` + : html` + ${this.fahrenheit} °F + / ${this.celsius} °C + ` + } +} + +if (!customElements.get('x-current-temperature')) { + customElements.define('x-current-temperature', XCurrentTemperature) +} + +export { XCurrentTemperature } +export default XCurrentTemperature diff --git a/src/containers/XForecast.js b/src/containers/XForecast.js new file mode 100644 index 0000000..010ff14 --- /dev/null +++ b/src/containers/XForecast.js @@ -0,0 +1,81 @@ +import { html, css, LitElement } from 'lit-element' +import { connect } from 'pwa-helpers/connect-mixin' +import { store } from '../store/configureStore' + +import '../components/XDateTime' +import '../components/XWeatherItem' +import '../components/XWeatherItemTemperature' + +import { convertTemperature } from '../utilities' + +const XForecast = class extends connect(store)(LitElement) { + static get styles() { + return css` + :host { + display: var(--x-forecast-display, grid); + + grid-template-columns: var( + --x-forecast-date-container-grid-template-columns, + repeat(auto-fill, minmax(12rem, 1fr)) + ); + } + + x-date-time { + text-decoration: underline; + } + + x-weather-item { + margin-bottom: 0.5rem; + } + ` + } + + static get properties() { + return { + days: { type: Number, reflect: true }, + forecastweather: { type: Object, reflect: false }, + primaryscale: { type: String, reflect: true } + } + } + + stateChanged({ weather }) { + this.forecastweather = weather.forecast + this.primaryscale = weather.forecast.primaryScale || this.primaryscale + } + + setTemp(temp, scale) { + const returnTemp = scale === 'f' ? convertTemperature(temp, 'cToF') : temp + + return String(returnTemp).slice(0, 4) + } + + render() { + return html` + ${Object.keys(this.forecastweather).map(key => { + const forecast = this.forecastweather[key] + + return forecast.weather && key < this.days + ? html` + + + + + ` + : '' + })} + ` + } +} + +if (!customElements.get('x-forecast')) { + customElements.define('x-forecast', XForecast) +} + +export { XForecast } +export default XForecast diff --git a/src/defineCustomElements.js b/src/defineCustomElements.js new file mode 100644 index 0000000..dd83fcc --- /dev/null +++ b/src/defineCustomElements.js @@ -0,0 +1,26 @@ +import { XWeather } from './XWeather' +import { XCurrent } from './containers/XCurrent' +import { XForecast } from './containers/XForecast' + +export const defineCustomElements = () => { + const elements = [ + { + tagName: 'x-current', + element: XCurrent + }, + { + tagName: 'x-forecast', + element: XForecast + }, + { + tagName: 'x-weather', + element: XWeather + } + ] + + elements.forEach(({ tagName, element }) => { + if (!customElements.get(tagName)) { + customElements.define(tagName, element) + } + }) +} diff --git a/src/dispatchers/dispatchers.js b/src/dispatchers/dispatchers.js new file mode 100644 index 0000000..3fda078 --- /dev/null +++ b/src/dispatchers/dispatchers.js @@ -0,0 +1,25 @@ +import { store } from '../store/configureStore' + +import { getCurrentWeather as getCurrentWeatherCreator } from '../actions/creators/currentWeather/thunks/getCurrentWeather' +import { getForecastWeather as getForecastWeatherCreator } from '../actions/creators/forecastWeather/thunks/getForecastWeather' + +import { + swapPrimaryScaleCurrent as swapPrimaryScaleCurrentCreator, + swapPrimaryScaleForecast as swapPrimaryScaleForecastCreator +} from '../actions/creators' + +export const getCurrentWeather = ({ appid, host, location }) => { + store.dispatch(getCurrentWeatherCreator({ appid, host, location })) +} + +export const getForecastWeather = ({ appid, host, location }) => { + store.dispatch(getForecastWeatherCreator({ appid, host, location })) +} + +export const swapPrimaryScaleCurrent = primaryScale => { + store.dispatch(swapPrimaryScaleCurrentCreator(primaryScale)) +} + +export const swapPrimaryScaleForecast = primaryScale => { + store.dispatch(swapPrimaryScaleForecastCreator(primaryScale)) +} diff --git a/src/globalStyles.css b/src/globalStyles.css new file mode 100644 index 0000000..a2d8e75 --- /dev/null +++ b/src/globalStyles.css @@ -0,0 +1,4 @@ +body, html { + margin: 0; + padding: 0; +} diff --git a/src/index.custom.elements.shady.dom-esm.html b/src/index.custom.elements.shady.dom-esm.html deleted file mode 100644 index 2fd4d5e..0000000 --- a/src/index.custom.elements.shady.dom-esm.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - XWeather - - - - - - - - -
- - - - - - -
- - - - - diff --git a/src/index.custom.elements.shady.dom-systemjs.html b/src/index.custom.elements.shady.dom-systemjs.html deleted file mode 100644 index cf10730..0000000 --- a/src/index.custom.elements.shady.dom-systemjs.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - XWeather - - - - - - - - - -
- - - - - - -
- - - - diff --git a/src/index.ie11-iife.html b/src/index.ie11-iife.html deleted file mode 100644 index 0fb5969..0000000 --- a/src/index.ie11-iife.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - XWeather - - - - - - -
- - - - - - -
- - - - - - - -
- - - - -
- - - - - - - - - - diff --git a/src/index.ie11-systemjs.html b/src/index.ie11-systemjs.html deleted file mode 100644 index 1c65bf3..0000000 --- a/src/index.ie11-systemjs.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - XWeather - - - - - - -
- - - - - - -
- - - - - - - - -
- - - - -
- - - - - - - - - diff --git a/src/index.no.polyfills-esm.html b/src/index.no.polyfills-esm.html deleted file mode 100644 index 5920644..0000000 --- a/src/index.no.polyfills-esm.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - XWeather - - - - - - -
- - - - - - -
- - - - - - diff --git a/src/index.no.polyfills-iife.html b/src/index.no.polyfills-iife.html deleted file mode 100644 index 14440d6..0000000 --- a/src/index.no.polyfills-iife.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - XWeather - - - - - - -
- - - - - - -
- - - - - - diff --git a/src/main.js b/src/main.js deleted file mode 100644 index df7c83a..0000000 --- a/src/main.js +++ /dev/null @@ -1,15 +0,0 @@ -// get components -import XCurrent, { load as XCurrentLoad } from './components/x-current.js' -import XForecastItem, { load as XForecastItemLoad } from './components/x-forecast-item.js' -import XForecast, { load as XForecastLoad } from './components/x-forecast.js' -import XWeather, { load as XWeatherLoad } from './components/x-weather.js' - -XCurrentLoad() -XForecastItemLoad() -XForecastLoad() - -XWeatherLoad() - -export default { - XCurrent, XForecastItem, XForecast, XWeather -} diff --git a/src/module.js b/src/module.js new file mode 100644 index 0000000..cc295b4 --- /dev/null +++ b/src/module.js @@ -0,0 +1,5 @@ +export { XWeather } from './XWeather' +export { XCurrent } from './containers/XCurrent' +export { XForecast } from './containers/XForecast' + +export { defineCustomElements } from './defineCustomElements' diff --git a/src/reducers/initialState.js b/src/reducers/initialState.js new file mode 100644 index 0000000..9807d9a --- /dev/null +++ b/src/reducers/initialState.js @@ -0,0 +1,387 @@ +export default { + weather: { + current: { + iconAlt: 'clear sky', + iconSrc: '01d', + temperature: { + kelvin: 301.92, + celsius: 28.77000000000004, + fahrenheit: 83.78600000000007 + }, + timestamp: 1569182139 + }, + forecast: { + '0': { + dt: 1569171600, + sunrise: 1569151159, + sunset: 1569195047, + temp: { + day: 28.8, + min: 21.38, + max: 28.8, + night: 21.38, + eve: 23.65, + morn: 28.8 + }, + pressure: 1013.13, + humidity: 55, + weather: [ + { + id: 501, + main: 'Rain', + description: 'moderate rain', + icon: '10d' + } + ], + speed: 8.7, + deg: 222, + clouds: 48, + rain: 3.06 + }, + '1': { + dt: 1569258000, + sunrise: 1569237622, + sunset: 1569281339, + temp: { + day: 21.02, + min: 13.57, + max: 21.02, + night: 13.57, + eve: 16.65, + morn: 17.48 + }, + pressure: 1011.31, + humidity: 59, + weather: [ + { + id: 800, + main: 'Clear', + description: 'sky is clear', + icon: '01d' + } + ], + speed: 6.76, + deg: 288, + clouds: 1 + }, + '2': { + dt: 1569344400, + sunrise: 1569324086, + sunset: 1569367633, + temp: { + day: 21.55, + min: 12.46, + max: 21.55, + night: 15.05, + eve: 17.49, + morn: 12.46 + }, + pressure: 1013.31, + humidity: 49, + weather: [ + { + id: 800, + main: 'Clear', + description: 'sky is clear', + icon: '01d' + } + ], + speed: 4.08, + deg: 274, + clouds: 2 + }, + '3': { + dt: 1569430800, + sunrise: 1569410549, + sunset: 1569453926, + temp: { + day: 20.06, + min: 14.01, + max: 21.99, + night: 15.85, + eve: 19.33, + morn: 14.01 + }, + pressure: 1005.11, + humidity: 75, + weather: [ + { + id: 500, + main: 'Rain', + description: 'light rain', + icon: '10d' + } + ], + speed: 6.74, + deg: 231, + clouds: 50, + rain: 0.94 + }, + '4': { + dt: 1569517200, + sunrise: 1569497013, + sunset: 1569540219, + temp: { + day: 18.35, + min: 11.38, + max: 18.36, + night: 11.38, + eve: 14.16, + morn: 12.25 + }, + pressure: 1011.21, + humidity: 49, + weather: [ + { + id: 800, + main: 'Clear', + description: 'sky is clear', + icon: '01d' + } + ], + speed: 5.65, + deg: 281, + clouds: 10 + }, + '5': { + dt: 1569603600, + sunrise: 1569583477, + sunset: 1569626512, + temp: { + day: 18.78, + min: 13.12, + max: 22.91, + night: 20.98, + eve: 21.22, + morn: 13.12 + }, + pressure: 1012.14, + humidity: 65, + weather: [ + { + id: 501, + main: 'Rain', + description: 'moderate rain', + icon: '10d' + } + ], + speed: 6.49, + deg: 169, + clouds: 100, + rain: 3.38 + }, + '6': { + dt: 1569690000, + sunrise: 1569669941, + sunset: 1569712806, + temp: { + day: 20.45, + min: 14.45, + max: 20.7, + night: 14.45, + eve: 17.4, + morn: 19.45 + }, + pressure: 1016.21, + humidity: 90, + weather: [ + { + id: 501, + main: 'Rain', + description: 'moderate rain', + icon: '10d' + } + ], + speed: 4.15, + deg: 251, + clouds: 100, + rain: 3.94 + }, + '7': { + dt: 1569776400, + sunrise: 1569756405, + sunset: 1569799100, + temp: { + day: 17.95, + min: 12.55, + max: 20.59, + night: 17.87, + eve: 18.39, + morn: 12.55 + }, + pressure: 1023.24, + humidity: 57, + weather: [ + { + id: 500, + main: 'Rain', + description: 'light rain', + icon: '10d' + } + ], + speed: 2.83, + deg: 99, + clouds: 99, + rain: 0.44 + }, + '8': { + dt: 1569862800, + sunrise: 1569842870, + sunset: 1569885395, + temp: { + day: 27.16, + min: 18.08, + max: 27.16, + night: 21.37, + eve: 23.73, + morn: 18.08 + }, + pressure: 1017.18, + humidity: 71, + weather: [ + { + id: 501, + main: 'Rain', + description: 'moderate rain', + icon: '10d' + } + ], + speed: 4.35, + deg: 202, + clouds: 52, + rain: 7.75 + }, + '9': { + dt: 1569949200, + sunrise: 1569929335, + sunset: 1569971689, + temp: { + day: 28.25, + min: 20.59, + max: 28.25, + night: 21.56, + eve: 24.05, + morn: 20.59 + }, + pressure: 1015.4, + humidity: 60, + weather: [ + { + id: 803, + main: 'Clouds', + description: 'broken clouds', + icon: '04d' + } + ], + speed: 6.25, + deg: 227, + clouds: 80 + }, + '10': { + dt: 1570035600, + sunrise: 1570015800, + sunset: 1570057984, + temp: { + day: 28.75, + min: 17.07, + max: 28.75, + night: 17.07, + eve: 24.79, + morn: 20.77 + }, + pressure: 1011.43, + humidity: 56, + weather: [ + { + id: 500, + main: 'Rain', + description: 'light rain', + icon: '10d' + } + ], + speed: 7.95, + deg: 235, + clouds: 0, + rain: 1.63 + }, + '11': { + dt: 1570122000, + sunrise: 1570102265, + sunset: 1570144280, + temp: { + day: 13.63, + min: 5.91, + max: 13.63, + night: 5.91, + eve: 9.68, + morn: 11.05 + }, + pressure: 1020.4, + humidity: 46, + weather: [ + { + id: 803, + main: 'Clouds', + description: 'broken clouds', + icon: '04d' + } + ], + speed: 6.53, + deg: 301, + clouds: 82 + }, + '12': { + dt: 1570208400, + sunrise: 1570188731, + sunset: 1570230576, + temp: { + day: 12.78, + min: 4.67, + max: 13.21, + night: 6.6, + eve: 9.99, + morn: 4.67 + }, + pressure: 1027.93, + humidity: 42, + weather: [ + { + id: 800, + main: 'Clear', + description: 'sky is clear', + icon: '01d' + } + ], + speed: 2.95, + deg: 270, + clouds: 0 + }, + '13': { + dt: 1570294800, + sunrise: 1570275197, + sunset: 1570316872, + temp: { + day: 15.72, + min: 6.13, + max: 16.02, + night: 8.22, + eve: 11.9, + morn: 6.13 + }, + pressure: 1023.88, + humidity: 45, + weather: [ + { + id: 801, + main: 'Clouds', + description: 'few clouds', + icon: '02d' + } + ], + speed: 4.38, + deg: 254, + clouds: 12 + } + } + } +} diff --git a/src/reducers/root.js b/src/reducers/root.js new file mode 100644 index 0000000..901327d --- /dev/null +++ b/src/reducers/root.js @@ -0,0 +1,7 @@ +import { combineReducers } from 'redux' + +import weather from './weather' + +export const rootReducer = combineReducers({ + weather +}) diff --git a/src/reducers/utilities.js b/src/reducers/utilities.js new file mode 100644 index 0000000..5387102 --- /dev/null +++ b/src/reducers/utilities.js @@ -0,0 +1,2 @@ +export const createReducer = (initialState, handlers) => (state = initialState, action) => + handlers.hasOwnProperty(action.type) === true ? handlers[action.type](state, action) : state diff --git a/src/reducers/weather/current.js b/src/reducers/weather/current.js new file mode 100644 index 0000000..db290ec --- /dev/null +++ b/src/reducers/weather/current.js @@ -0,0 +1,20 @@ +import { createReducer } from '../utilities' +import { SWAP_PRIMARY_SCALE_CURRENT, UPDATE_CURRENT_WEATHER } from '../../actions/types' + +export default createReducer( + {}, + { + [UPDATE_CURRENT_WEATHER](state, { payload }) { + return { + ...state, + ...payload + } + }, + [SWAP_PRIMARY_SCALE_CURRENT](state, { payload }) { + return { + ...state, + primaryScale: payload + } + } + } +) diff --git a/src/reducers/weather/forecast.js b/src/reducers/weather/forecast.js new file mode 100644 index 0000000..1a9ae01 --- /dev/null +++ b/src/reducers/weather/forecast.js @@ -0,0 +1,20 @@ +import { createReducer } from '../utilities' +import { SWAP_PRIMARY_SCALE_FORECAST, UPDATE_FORECAST_WEATHER } from '../../actions/types' + +export default createReducer( + {}, + { + [UPDATE_FORECAST_WEATHER](state, { payload }) { + return { + ...state, + ...payload + } + }, + [SWAP_PRIMARY_SCALE_FORECAST](state, { payload }) { + return { + ...state, + primaryScale: payload + } + } + } +) diff --git a/src/reducers/weather/index.js b/src/reducers/weather/index.js new file mode 100644 index 0000000..41fb63f --- /dev/null +++ b/src/reducers/weather/index.js @@ -0,0 +1,9 @@ +import { combineReducers } from 'redux' + +import current from './current' +import forecast from './forecast' + +export default combineReducers({ + current, + forecast +}) diff --git a/src/server.js b/src/server.js deleted file mode 100644 index 9101c0a..0000000 --- a/src/server.js +++ /dev/null @@ -1,153 +0,0 @@ -const Express = require('express') -const render = require('@skatejs/ssr') - -import '@skatejs/ssr/register' //eslint-disable-line no-undef - -// get components -import XWeather, { load as XWeatherLoad } from './components/x-weather.js' - -const app = new Express() - -const template = (component) => { - return ` - - - - - - XWeather - - - - - -
- Detroit, Michigan -
- - - - - - - - -
- - - - -
- - - - - - ${component} - - - - ` -} - -app.get('/', (req, res) => { - // load components - XWeatherLoad() - - render(new XWeather).then(component => { - res.send(template(component)) - }) -}) - -app.listen(8080, error => { - if (error) { - console.error(error) // eslint-disable-line no-console - - return - } - - console.info(`==> 🌎 Listening on port ${8080} @ ${new Date()}.`) // eslint-disable-line max-len, no-console -}) diff --git a/src/service-worker/registerServiceWorker.js b/src/service-worker/registerServiceWorker.js deleted file mode 100644 index 1077f6f..0000000 --- a/src/service-worker/registerServiceWorker.js +++ /dev/null @@ -1,96 +0,0 @@ -// Register a service worker to serve assets from local cache. - -// This lets the app load faster on subsequent visits and gives it offline capabilities. It also means that users will -// only see deployed updates on the "N+1" visit to a page, since previously cached resources are updated in the -// background. - -// To learn more about the benefits of this model, read https://goo.gl/KwvDNy. -const isLocalhost = Boolean( - window.location.hostname === 'localhost' || - // [::1] is the IPv6 localhost address. - window.location.hostname === '[::1]' || - // 127.0.0.1/8 is considered localhost for IPv4. - window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/) -) - -const register = publicUrl => { - if ('serviceWorker' in navigator) { - // The URL constructor is available in all browsers that support SW. - const url = new URL(publicUrl, window.location) - if (url.origin !== window.location.origin) { - // Our service worker won't work if publicUrl is on a different origin - // from what our page is served on. This might happen if a CDN is used to - // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374 - return - } - - window.addEventListener('load', () => { - const swUrl = `${publicUrl}service-worker.js` - - if (isLocalhost) { - // This is running on localhost. Lets check if a service worker still exists or not. - checkValidServiceWorker(swUrl) - } else { - // Is not local host. Just register service worker - registerValidSW(swUrl) - } - }) - } -} - -const registerValidSW = swUrl => { - navigator.serviceWorker - .register(swUrl) - .then(registration => { - registration.onupdatefound = () => { - const installingWorker = registration.installing - - installingWorker.onstatechange = () => { - if (installingWorker.state === 'installed') { - if (navigator.serviceWorker.controller) { - console.log('New content is available; Reloading...') // eslint-disable-line no-console - - window.location.reload(true) - } else { - console.log('Content is cached for offline use.') // eslint-disable-line no-console - } - } - } - } - }) - .catch(error => { - console.error('Error during service worker registration:', error) // eslint-disable-line no-console - }) -} - -const checkValidServiceWorker = swUrl => { - // Check if the service worker can be found. If it can't reload the page. - fetch(swUrl) - .then(response => { - // Ensure service worker exists, and that we really are getting a JS file. - if (response.status === 404 || response.headers.get('content-type').indexOf('javascript') === -1) { - // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then(registration => { - registration.unregister().then(() => { - window.location.reload() - }) - }) - } else { - // Service worker found. Proceed as normal. - registerValidSW(swUrl) - } - }) - .catch(() => { - console.log('No internet connection found. App is running in offline mode.') // eslint-disable-line no-console - }) -} - -export const unregister = () => { - if ('serviceWorker' in navigator) { - navigator.serviceWorker.ready.then(registration => { - registration.unregister() - }) - } -} - -export default register diff --git a/src/service-worker/workbox-config.js b/src/service-worker/workbox-config.js deleted file mode 100644 index b675c2f..0000000 --- a/src/service-worker/workbox-config.js +++ /dev/null @@ -1,98 +0,0 @@ -module.exports = { - "globDirectory": "./", - "globPatterns": [ - "**/*.{js,png,ico,html}" - ], - templatedURLs: { - '/x-weather/': `${new Date()}`, - }, - "swDest": "service-worker.js", - // Define runtime caching rules. - runtimeCaching: [ - { - // Match any request ends with .png, .jpg, .jpeg or .svg. - urlPattern: /\.(?:png|jpg|jpeg|svg)$/, - - // Apply a cache-first strategy. - handler: 'CacheFirst', - - options: { - // Use a custom cache name. - cacheName: 'images', - - // Only cache 10 images. - expiration: { - maxEntries: 100, - }, - }, - }, - { - urlPattern: new RegExp('^https://api.openweathermap.org/data/2.5.*$'), - handler: 'NetworkFirst', - options: { - cacheName: 'openweathermap-api-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://openweathermap.org/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'openweathermap-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://cdn.jsdelivr.net/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'cdn-jsdeliver-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://rawgit.com/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'rawgit-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - { - urlPattern: new RegExp('^https://unpkg.com/.*$'), - handler: 'CacheFirst', - options: { - cacheableResponse: { - statuses: [0, 200] - }, - cacheName: 'unpkg-cache', - expiration: { - maxEntries: 1000, - maxAgeSeconds: 365 * 24 * 60 * 60 // 365 days - } - } - }, - ], - -}; diff --git a/src/store/configureStore.js b/src/store/configureStore.js new file mode 100644 index 0000000..6273de7 --- /dev/null +++ b/src/store/configureStore.js @@ -0,0 +1,16 @@ +import thunk from 'redux-thunk' + +import { createStore, compose, applyMiddleware } from 'redux' +import { rootReducer } from '../reducers/root' + +import initialState from '../reducers/initialState' + +import { logger } from './middleware' + +// enable logging in development +const configureStore = + process.env.NODE_ENV === 'development' + ? initialState => createStore(rootReducer, initialState, compose(applyMiddleware(logger, thunk))) + : initialState => createStore(rootReducer, initialState, compose(applyMiddleware(thunk))) + +export const store = configureStore(initialState) diff --git a/src/store/middleware.js b/src/store/middleware.js new file mode 100644 index 0000000..4eab523 --- /dev/null +++ b/src/store/middleware.js @@ -0,0 +1,9 @@ +export const logger = store => next => action => { + console.log('dispatching', action) + + let result = next(action) + + console.log('next state', store.getState()) + + return result +} diff --git a/src/utilities.js b/src/utilities.js index 1464c55..950cefb 100644 --- a/src/utilities.js +++ b/src/utilities.js @@ -1,8 +1,8 @@ export const convertTemperature = (t, calcString = 'cToF') => { const cToK = t => t + 273.15 const kToC = t => t - 273.15 - const cToF = t => (9 / 5 * t) + 32 - const fToC = t => (t - 32) * 5 / 9 + const cToF = t => (9 / 5) * t + 32 + const fToC = t => ((t - 32) * 5) / 9 return { cToK, @@ -13,180 +13,3 @@ export const convertTemperature = (t, calcString = 'cToF') => { fToK: t => cToK(fToC(t)) }[calcString](t) } - -/** - * attempting to be RFC4122 version 4 compliant adapted from: - * https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript - */ -export const generateUUID = () => { - let d = new Date().getTime() - - if (typeof performance !== 'undefined' && typeof performance.now === 'function') { - d += performance.now() - } - - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => { - const r = (d + Math.random() * 16) % 16 | 0 - - d = Math.floor(d / 16) - - return (c === 'x' - ? r - : (r & 0x3 | 0x8)).toString(16) - }) -} - -// custom getElementById intended for use with undom -export const getElementById = (id, root) => { - // a linkedList would be more performant in time and space complexity - let queue = [] - - queue.push(root) - - let currentNode - - while (queue.length) { - currentNode = queue.shift() - - if (currentNode.id === id) { - return currentNode - } - - queue.push(...currentNode.children) - } - - return false -} - -export const isObjectEmpty = obj => Object.keys(obj).length === 0 && obj.constructor === Object - -export const loadComponent = ({ customElements, tagName, element }) => { - const load = ({ customElements, tagName, element }) => { - customElements.define(tagName, element) - } - - // Conditional loading of polyfill - if (window.customElements) { - load({ customElements, tagName, element }) - } else { - document.addEventListener('WebComponentsReady', () => { - load({ customElements, tagName, element }) - }) - } -} - -export const unixEpochToDate = timestamp => new Date(timestamp * 1000) - -export const dateTime = date => ({ - date: date, - results: '', - getResults: function () { - return this.results - }, - getTimeStamp: function () { - return this.date.getTime() - }, - Y: function(sep) { - this.results += this.date.getFullYear() - - if (this.sep(sep)) { - this.results += sep - } - - return this - }, - m: function(sep) { - this.results += this.pad(this.date.getMonth() + 1) - - if (this.sep(sep)) { - this.results += sep - } - - return this - }, - d: function(sep) { - this.results += this.pad(this.date.getDate()) - - if (this.sep(sep)) { - this.results += sep - } - - return this - }, - H: function (sep) { - this.results += this.pad(this.date.getHours()) - - if (this.sep(sep)) { - this.results += sep - } - - return this - }, - M: function (sep) { - this.results += this.pad(this.date.getMinutes()) - - if (this.sep(sep)) { - this.results += sep - } - - return this - }, - S: function(sep) { - this.results += this.pad(this.date.getSeconds()) - - if (this.sep(sep)) { - this.results += sep - } - - return this - }, - pad: function(val) { - return (val < 10) ? ('0' + val) : val - }, - sep: function(sep) { - return sep ? true: false - } -}) - -// input "00:00:00" through "23:59:59" -export const to12HourTime = timeStamp => { - const splitTimeStamp = String(timeStamp).split(':') - - let hours = Number(splitTimeStamp[0]) - let minutes = Number(splitTimeStamp[1]) || 0 - let seconds = Number(splitTimeStamp[2]) || 0 - - if (hours < 0 - || hours > 23 - || minutes < 0 - || minutes > 59 - || seconds < 0 - || seconds > 59 - ) { - hours = minutes = seconds = 0 - } - - let timeString = '12' - - if (hours > 0 && hours <= 12) { - timeString = String(hours) - } - - if (hours > 12) { - timeString = String(hours % timeString) - } - - timeString += minutes < 10 - ? ':0' + minutes - : ':' + minutes - - timeString += seconds < 10 - ? ':0' + seconds - : ':' + seconds - - timeString += hours >= 12 - ? ' PM' - : ' AM' - - return timeString -} diff --git a/tests/jest/__tests__/utilities.js b/tests/jest/__tests__/utilities.js deleted file mode 100644 index 67db592..0000000 --- a/tests/jest/__tests__/utilities.js +++ /dev/null @@ -1,122 +0,0 @@ -import { dateTime, to12HourTime, unixEpochToDate } from '../../../src/utilities' - -const epochYear = 1970 -const epochMonth = 0 -const epochDay = 1 -const epochHour = 0 -const epochMinute = 0 -const epochSecond = 0 -const date = new Date( - epochYear, - epochMonth, - epochDay, - epochHour, - epochMinute, - epochSecond -) - -test('year should be formatted', () => { - const newDateTime = dateTime(date) - const formattedYear = newDateTime.Y('-').getResults() - - expect(formattedYear).toBe('1970-') -}) - -test('month should be formatted', () => { - const newDateTime = dateTime(date) - const formattedMonth = newDateTime.m('-').getResults() - - expect(formattedMonth).toBe('01-') -}) - -test('day should be formatted', () => { - const newDateTime = dateTime(date) - const formattedDay = newDateTime.d('_').getResults() - - expect(formattedDay).toBe('01_') -}) - -test('hour should be formatted', () => { - const newDateTime = dateTime(date) - const formattedHour = newDateTime.H('-').getResults() - - expect(formattedHour).toBe('00-') -}) - -test('minute should be formatted', () => { - const newDateTime = dateTime(date) - const formattedMinute = newDateTime.M('-').getResults() - - expect(formattedMinute).toBe('00-') -}) - -test('second should be formatted', () => { - const newDateTime = dateTime(date) - const formattedSecond = newDateTime.S('-').getResults() - - expect(formattedSecond).toBe('00-') -}) - -test('date string should be formatted', () => { - const newDateTime = dateTime(date) - const formattedDate = newDateTime.Y('-').m('-').d('-').H('.').M('.').S().getResults() - - expect(formattedDate).toBe('1970-01-01-00.00.00') -}) - -test('unixEpochToDate returns proper date', () => { - const convertedDate = unixEpochToDate(1000) - const expectedDate = new Date('1970-01-01T00:16:40.000Z') - - expect(convertedDate).toEqual(expectedDate) -}) - -test('to12HourTime returns 12:00:00 AM when given no argument', () => { - const time = to12HourTime() - - expect(time).toEqual('12:00:00 AM') -}) - -test('to12HourTime returns expected values from given fixture', () => { - const timeFixture = [ - null, - undefined, - '', - '00:00:00', - '00:00:01', - '03:00:00', - '06:00:00', - '09:00:00', - '11:59:59', - '12:00:00', - '12:00:01', - '15:00:00', - '18:00:00', - '21:00:00', - '23:59:59', - '24:00:00' - ] - - const expectedValues = [ - '12:00:00 AM', - '12:00:00 AM', - '12:00:00 AM', - '12:00:00 AM', - '12:00:01 AM', - '3:00:00 AM', - '6:00:00 AM', - '9:00:00 AM', - '11:59:59 AM', - '12:00:00 PM', - '12:00:01 PM', - '3:00:00 PM', - '6:00:00 PM', - '9:00:00 PM', - '11:59:59 PM', - '12:00:00 AM' - ] - - timeFixture.forEach((time, index) => { - expect(to12HourTime(time)).toEqual(expectedValues[index]) - }) -}) diff --git a/tests/jest/jest.json b/tests/jest/jest.json deleted file mode 100644 index d6034a1..0000000 --- a/tests/jest/jest.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "collectCoverageFrom": ["**/*.js"], - "coverageDirectory": "tests/jest/coverage", - "coveragePathIgnorePatterns": [ - "node_modules", - "tests" - ], - "rootDir": "../..", - "testPathIgnorePatterns": [], - "verbose": true -} diff --git a/types/index.d.ts b/types/index.d.ts new file mode 100644 index 0000000..b680d05 --- /dev/null +++ b/types/index.d.ts @@ -0,0 +1,9 @@ +declare module 'x-weather'; + +declare namespace JSX { + interface IntrinsicElements { + "x-current": any + "x-forecast": any + "x-weather": any + } +}