From f5fb21aaba4d5dd4952ed6bdfde6bb5dee337645 Mon Sep 17 00:00:00 2001 From: NGPixel Date: Mon, 5 Mar 2018 20:53:24 -0500 Subject: [PATCH] feat: vue-apollo + auth providers resolver (wip) --- client/app.js | 41 +- client/components/admin-api.vue | 3 + client/components/admin-auth.vue | 32 +- client/components/nav-header.vue | 2 +- client/constants/graphql.js | 28 +- client/constants/index.js | 4 +- package.json | 4 +- server/app/data.yml | 2 +- server/core/auth.js | 26 +- server/graph/resolvers/authentication.js | 27 +- server/graph/schemas/authentication.graphql | 10 +- server/graph/schemas/common.graphql | 20 + server/index.js | 4 - yarn.lock | 513 +++----------------- 14 files changed, 158 insertions(+), 558 deletions(-) diff --git a/client/app.js b/client/app.js index 44f856b9..19673ad1 100644 --- a/client/app.js +++ b/client/app.js @@ -10,10 +10,9 @@ import VueClipboards from 'vue-clipboards' import VueSimpleBreakpoints from 'vue-simple-breakpoints' import VeeValidate from 'vee-validate' import { ApolloClient } from 'apollo-client' -import { ApolloLink } from 'apollo-link' -import { createApolloFetch } from 'apollo-fetch' import { BatchHttpLink } from 'apollo-link-batch-http' import { InMemoryCache } from 'apollo-cache-inmemory' +import VueApollo from 'vue-apollo' import Vuetify from 'vuetify' import Velocity from 'velocity-animate' import Hammer from 'hammerjs' @@ -36,7 +35,7 @@ import helpers from './helpers' // Initialize Global Vars // ==================================== -window.wiki = null +window.WIKI = null window.boot = boot window.CONSTANTS = CONSTANTS window.Hammer = Hammer @@ -47,31 +46,11 @@ window.Hammer = Hammer const graphQLEndpoint = window.location.protocol + '//' + window.location.host + siteConfig.path + 'graphql' -const apolloFetch = createApolloFetch({ - uri: graphQLEndpoint, - constructOptions: (requestOrRequests, options) => ({ - ...options, - method: 'POST', - body: JSON.stringify(requestOrRequests), - credentials: 'include' - }) -}) - window.graphQL = new ApolloClient({ - link: ApolloLink.from([ - new ApolloLink((operation, forward) => { - operation.setContext({ - headers: { - 'Content-Type': 'application/json' - } - }) - - return forward(operation) - }), - new BatchHttpLink({ - fetch: apolloFetch - }) - ]), + link: new BatchHttpLink({ + uri: graphQLEndpoint, + credentials: 'include' + }), cache: new InMemoryCache(), connectToDevTools: (process.env.node_env === 'development') }) @@ -81,6 +60,7 @@ window.graphQL = new ApolloClient({ // ==================================== Vue.use(VueRouter) +Vue.use(VueApollo) Vue.use(VueClipboards) Vue.use(VueSimpleBreakpoints) Vue.use(localization.VueI18Next) @@ -121,15 +101,20 @@ let bootstrap = () => { store.dispatch('startLoading') }) + const apolloProvider = new VueApollo({ + defaultClient: window.graphQL + }) + // ==================================== // Bootstrap Vue // ==================================== const i18n = localization.init() - window.wiki = new Vue({ + window.WIKI = new Vue({ el: '#app', components: {}, mixins: [helpers], + provide: apolloProvider.provide(), store, i18n }) diff --git a/client/components/admin-api.vue b/client/components/admin-api.vue index 9b2e03b0..40c70faf 100644 --- a/client/components/admin-api.vue +++ b/client/components/admin-api.vue @@ -5,6 +5,9 @@ .subheading.grey--text Manage keys to access the API v-card v-card-title + v-btn(color='green', dark) + v-icon(left) power_settings_new + | Enable API v-btn(color='primary', dark) v-icon(left) add | New API Key diff --git a/client/components/admin-auth.vue b/client/components/admin-auth.vue index 25b56f7d..88a483a8 100644 --- a/client/components/admin-auth.vue +++ b/client/components/admin-auth.vue @@ -6,24 +6,12 @@ .subheading.grey--text Configure the authentication settings of your wiki v-tabs(color='grey lighten-4', grow, slider-color='primary', show-arrows) v-tab(key='settings'): v-icon settings - v-tab(key='db') Local - v-tab(key='algolia') Auth0 - v-tab(key='elasticsearch') Azure AD - v-tab(key='solr') Discord - v-tab(key='solr') Dropbox - v-tab(key='solr') Facebook - v-tab(key='solr') GitHub - v-tab(key='solr') Google - v-tab(key='solr') LDAP - v-tab(key='solr') Microsoft - v-tab(key='solr') OAuth2 Generic - v-tab(key='solr') Slack - v-tab(key='solr') Twitch + v-tab(v-for='provider in providers', :key='provider.key') {{ provider.title }} v-tab-item(key='settings') v-card.pa-3 v-form - v-checkbox(v-for='(engine, n) in engines', v-model='auths', :key='n', :label='engine.text', :value='engine.value', color='primary') + v-checkbox(v-for='(provider, n) in providers', v-model='auths', :key='provider.key', :label='provider.title', :value='provider.key', color='primary') v-divider v-btn(color='primary') v-icon(left) chevron_right @@ -34,18 +22,20 @@ diff --git a/client/components/nav-header.vue b/client/components/nav-header.vue index 3e21f7a2..2c865346 100644 --- a/client/components/nav-header.vue +++ b/client/components/nav-header.vue @@ -4,7 +4,7 @@ v-toolbar-title span.subheading Wiki.js v-spacer - v-progress-circular.mr-3(indeterminate, color='blue') + v-progress-circular.mr-3(indeterminate, color='blue', v-if='$apollo.loading') v-btn(icon) v-icon(color='grey') search v-btn(icon, @click.native='darkTheme = !darkTheme') diff --git a/client/constants/graphql.js b/client/constants/graphql.js index ea6ddc3e..32e6eba3 100644 --- a/client/constants/graphql.js +++ b/client/constants/graphql.js @@ -1,16 +1,26 @@ import gql from 'graphql-tag' export default { - GQL_QUERY_AUTHENTICATION: gql` - query($mode: String!) { - authentication(mode:$mode) { - key - useForm - title - icon + AUTHENTICATION: { + QUERY_PROVIDERS: gql` + query { + authentication { + providers { + isEnabled + key + props + title + useForm + icon + config { + key + value + } + } + } } - } - `, + ` + }, GQL_QUERY_TRANSLATIONS: gql` query($locale: String!, $namespace: String!) { translations(locale:$locale, namespace:$namespace) { diff --git a/client/constants/index.js b/client/constants/index.js index 56e9acc7..267f49dd 100644 --- a/client/constants/index.js +++ b/client/constants/index.js @@ -1,5 +1,5 @@ -import GRAPHQL from './graphql' +import GRAPH from './graphql' export default { - GRAPHQL + GRAPH } diff --git a/package.json b/package.json index de59c40a..ae14b354 100644 --- a/package.json +++ b/package.json @@ -135,7 +135,6 @@ "yargs": "11.0.0" }, "devDependencies": { - "@glimpse/glimpse": "0.22.15", "@panter/vue-i18next": "0.9.1", "apollo-client-preset": "1.0.8", "apollo-fetch": "0.7.0", @@ -198,6 +197,7 @@ "vee-validate": "2.0.5", "velocity-animate": "1.5.1", "vue": "2.5.13", + "vue-apollo": "3.0.0-beta.4", "vue-clipboards": "1.2.2", "vue-codemirror": "4.0.3", "vue-hot-reload-api": "2.3.0", @@ -211,7 +211,7 @@ "vuex-persistedstate": "2.4.2", "webpack": "3.11.0", "webpack-bundle-analyzer": "2.11.1", - "webpack-dev-middleware": "3.0.0", + "webpack-dev-middleware": "2.0.3", "webpack-hot-middleware": "2.21.2", "webpack-merge": "4.1.2", "whatwg-fetch": "2.0.3", diff --git a/server/app/data.yml b/server/app/data.yml index dd3daecc..5d1a656c 100644 --- a/server/app/data.yml +++ b/server/app/data.yml @@ -31,7 +31,7 @@ defaults: public: false strategies: local: - enabled: true + isEnabled: true allowSelfRegister: false git: enabled: false diff --git a/server/core/auth.js b/server/core/auth.js index 16ebb471..c23ac426 100644 --- a/server/core/auth.js +++ b/server/core/auth.js @@ -4,6 +4,7 @@ const _ = require('lodash') const passport = require('passport') const fs = require('fs-extra') const path = require('path') +const autoload = require('auto-load') module.exports = { strategies: {}, @@ -31,26 +32,29 @@ module.exports = { // Load authentication strategies - _.forOwn(_.omitBy(WIKI.config.auth.strategies, s => s.enabled === false), (strategyConfig, strategyKey) => { - strategyConfig.callbackURL = `${WIKI.config.site.host}${WIKI.config.site.path}login/${strategyKey}/callback` - let strategy = require(`../modules/authentication/${strategyKey}`) - try { - strategy.init(passport, strategyConfig) - } catch (err) { - WIKI.logger.error(`Authentication Provider ${strategyKey}: [ FAILED ]`) - WIKI.logger.error(err) + const modules = _.values(autoload(path.join(WIKI.SERVERPATH, 'modules/authentication'))) + _.forEach(modules, (strategy) => { + const strategyConfig = _.get(WIKI.config.auth.strategies, strategy.key, {}) + strategyConfig.callbackURL = `${WIKI.config.site.host}${WIKI.config.site.path}login/${strategy.key}/callback` + if (strategyConfig.isEnabled) { + try { + strategy.init(passport, strategyConfig) + } catch (err) { + WIKI.logger.error(`Authentication Provider ${strategy.title}: [ FAILED ]`) + WIKI.logger.error(err) + } } - fs.readFile(path.join(WIKI.ROOTPATH, `assets/svg/auth-icon-${strategyKey}.svg`), 'utf8').then(iconData => { + fs.readFile(path.join(WIKI.ROOTPATH, `assets/svg/auth-icon-${strategy.key}.svg`), 'utf8').then(iconData => { strategy.icon = iconData }).catch(err => { if (err.code === 'ENOENT') { strategy.icon = '[missing icon]' } else { - WIKI.logger.error(err) + WIKI.logger.warn(err) } }) this.strategies[strategy.key] = strategy - WIKI.logger.info(`Authentication Provider ${strategyKey}: [ OK ]`) + WIKI.logger.info(`Authentication Provider ${strategy.title}: [ OK ]`) }) // Create Guest account for first-time diff --git a/server/graph/resolvers/authentication.js b/server/graph/resolvers/authentication.js index 0145845f..289a7c5d 100644 --- a/server/graph/resolvers/authentication.js +++ b/server/graph/resolvers/authentication.js @@ -13,28 +13,19 @@ module.exports = { }, AuthenticationQuery: { providers(obj, args, context, info) { - switch (args.mode) { - case 'active': - let strategies = _.chain(WIKI.auth.strategies).map(str => { - return { - key: str.key, - title: str.title, - useForm: str.useForm - } - }).sortBy(['title']).value() - let localStrategy = _.remove(strategies, str => str.key === 'local') - return _.concat(localStrategy, strategies) - case 'all': - - break - default: - return null - } + return _.chain(WIKI.auth.strategies).map(str => { + return { + isEnabled: true, + key: str.key, + title: str.title, + useForm: str.useForm + } + }).sortBy(['title']).value() } }, AuthenticationProvider: { icon (ap, args) { - return fs.readFileAsync(path.join(WIKI.ROOTPATH, `assets/svg/auth-icon-${ap.key}.svg`), 'utf8').catch(err => { + return fs.readFile(path.join(WIKI.ROOTPATH, `assets/svg/auth-icon-${ap.key}.svg`), 'utf8').catch(err => { if (err.code === 'ENOENT') { return null } diff --git a/server/graph/schemas/authentication.graphql b/server/graph/schemas/authentication.graphql index b808f26a..a8afea5d 100644 --- a/server/graph/schemas/authentication.graphql +++ b/server/graph/schemas/authentication.graphql @@ -10,7 +10,13 @@ type AuthenticationQuery { providers: [AuthenticationProvider] } -type AuthenticationMutation +type AuthenticationMutation { + updateProvider( + provider: String! + isEnabled: Boolean! + config: [KeyValuePairInput] + ): DefaultResponse +} type AuthenticationProvider { isEnabled: Boolean! @@ -19,5 +25,5 @@ type AuthenticationProvider { title: String! useForm: Boolean! icon: String - config: String + config: [KeyValuePair] } diff --git a/server/graph/schemas/common.graphql b/server/graph/schemas/common.graphql index 6e3b12a3..9d9058bb 100644 --- a/server/graph/schemas/common.graphql +++ b/server/graph/schemas/common.graphql @@ -29,6 +29,26 @@ interface Base { # TYPES +type KeyValuePair { + key: String! + value: String! +} +input KeyValuePairInput { + key: String! + value: String! +} + +type DefaultResponse { + operation: ResponseStatus +} + +type ResponseStatus { + succeeded: Boolean! + code: Int! + slug: String! + message: String +} + type Comment implements Base { id: Int! createdAt: Date diff --git a/server/index.js b/server/index.js index de96485a..ccd21d1a 100644 --- a/server/index.js +++ b/server/index.js @@ -17,10 +17,6 @@ let WIKI = { } global.WIKI = WIKI -// if (WIKI.IS_DEBUG) { -// require('@glimpse/glimpse').init() -// } - WIKI.configSvc.init() // ---------------------------------------- diff --git a/yarn.lock b/yarn.lock index f51158ad..2a6d4b23 100644 --- a/yarn.lock +++ b/yarn.lock @@ -79,62 +79,6 @@ lodash "^4.2.0" to-fast-properties "^2.0.0" -"@glimpse/glimpse-agent-node@0.22.15": - version "0.22.15" - resolved "https://registry.yarnpkg.com/@glimpse/glimpse-agent-node/-/glimpse-agent-node-0.22.15.tgz#93075fc56a234f716ed37dc8743be3f58121cfb2" - dependencies: - "@glimpse/glimpse-common" "0.22.15" - config-chain "^1.1.10" - continuation-local-storage "^3.1.4" - cookie "^0.2.3" - dicer "^0.2.5" - escape-html "^1.0.3" - htmlparser2 "^3.9.1" - lodash "^4.3.0" - moment "^2.16.1" - parseurl "^1.3.0" - request "^2.67.0" - semver "^5.1.0" - source-map "^0.5.6" - useragent "~2.1.7" - util "~0.10.3" - uuid "^2.0.2" - zone.js "^0.8.10" - -"@glimpse/glimpse-common@0.22.15": - version "0.22.15" - resolved "https://registry.yarnpkg.com/@glimpse/glimpse-common/-/glimpse-common-0.22.15.tgz#0e71aa973e07b4131548b4ad905189cff003510c" - dependencies: - applicationinsights "^0.19.0" - chalk "^1.1.3" - config-chain "^1.1.10" - getmac "^1.2.1" - semver "^5.3.0" - uuid "^2.0.2" - -"@glimpse/glimpse-server@0.22.15": - version "0.22.15" - resolved "https://registry.yarnpkg.com/@glimpse/glimpse-server/-/glimpse-server-0.22.15.tgz#21025baa1d370921aad59f1f7e3e7c80abe269b5" - dependencies: - "@glimpse/glimpse-common" "0.22.15" - body-parser "^1.14.2" - cors "^2.7.1" - crc "^3.4.0" - express "~4.13.1" - lodash "^4.1.0" - lru-cache "^4.0.0" - moment "^2.16.1" - -"@glimpse/glimpse@0.22.15": - version "0.22.15" - resolved "https://registry.yarnpkg.com/@glimpse/glimpse/-/glimpse-0.22.15.tgz#593adafc9173bafa6aa6dab301575b9ce88e6ece" - dependencies: - "@glimpse/glimpse-agent-node" "0.22.15" - "@glimpse/glimpse-server" "0.22.15" - command-line-args "^4.0.6" - command-line-usage "^4.0.0" - lodash "^4.15.0" - "@panter/vue-i18next@0.9.1": version "0.9.1" resolved "https://registry.yarnpkg.com/@panter/vue-i18next/-/vue-i18next-0.9.1.tgz#a24694d37b7e2f54f67ac8a485f634203660e98d" @@ -219,13 +163,6 @@ abbrev@1: version "1.1.0" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" -accepts@~1.2.12: - version "1.2.13" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.2.13.tgz#e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea" - dependencies: - mime-types "~2.1.6" - negotiator "0.5.3" - accepts@~1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" @@ -353,12 +290,6 @@ amp@0.3.1, amp@~0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/amp/-/amp-0.3.1.tgz#6adf8d58a74f361e82c1fa8d389c079e139fc47d" -ansi-escape-sequences@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-3.0.0.tgz#1c18394b6af9b76ff9a63509fa497669fd2ce53e" - dependencies: - array-back "^1.0.3" - ansi-escapes@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b" @@ -568,12 +499,6 @@ append-transform@^0.4.0: dependencies: default-require-extensions "^1.0.0" -applicationinsights@^0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-0.19.0.tgz#8b3af3d4df05429c127cd64431cb81e406097d83" - dependencies: - zone.js "0.7.6" - aproba@^1.0.3: version "1.1.2" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" @@ -617,12 +542,6 @@ arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" -array-back@^1.0.3, array-back@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz#644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b" - dependencies: - typical "^2.6.0" - array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" @@ -1737,21 +1656,6 @@ body-parser@1.18.2: raw-body "2.3.2" type-is "~1.6.15" -body-parser@^1.14.2: - version "1.17.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.2.tgz#f8892abc8f9e627d42aedafbca66bf5ab99104ee" - dependencies: - bytes "2.4.0" - content-type "~1.0.2" - debug "2.6.7" - depd "~1.1.0" - http-errors "~1.6.1" - iconv-lite "0.4.15" - on-finished "~2.3.0" - qs "6.4.0" - raw-body "~2.2.0" - type-is "~1.6.15" - boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -1984,10 +1888,6 @@ busboy@^0.2.11: dicer "0.2.5" readable-stream "1.1.x" -bytes@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" - bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -2453,23 +2353,6 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -command-line-args@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-4.0.6.tgz#0ff87a1dd159890dcaeb2a005abdae71e55059fc" - dependencies: - array-back "^1.0.4" - find-replace "^1.0.3" - typical "^2.6.1" - -command-line-usage@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-4.0.0.tgz#816b32788b58f9feba44d1e6dac60fcaeb29b5ea" - dependencies: - ansi-escape-sequences "^3.0.0" - array-back "^1.0.4" - table-layout "^0.4.0" - typical "^2.6.0" - commander@2.13.0, commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" @@ -2526,13 +2409,6 @@ concat-stream@^1.5.0, concat-stream@^1.6.0: readable-stream "^2.2.2" typedarray "^0.0.6" -config-chain@^1.1.10: - version "1.1.11" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - connect-redis@3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/connect-redis/-/connect-redis-3.3.3.tgz#0fb8f370192f62da75ec7a9507807599fbe15b37" @@ -2571,10 +2447,6 @@ contains-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" -content-disposition@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b" - content-disposition@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" @@ -2583,10 +2455,6 @@ content-type-parser@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" -content-type@~1.0.1, content-type@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" - content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" @@ -2613,18 +2481,10 @@ cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" -cookie@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.1.5.tgz#6ab9948a4b1ae21952cd2588530a4722d4044d7c" - cookie@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" -cookie@^0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.2.4.tgz#a8c155aa7b9b2cf2c4d32ebc7b9a0aa288ccc6bd" - cookies@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.7.1.tgz#7c8a615f5481c61ab9f16c833731bcb8f663b99b" @@ -2680,7 +2540,7 @@ core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" -cors@2.8.4, cors@^2.7.1: +cors@2.8.4: version "2.8.4" resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.4.tgz#2bd381f2eb201020105cd50ea59da63090694686" dependencies: @@ -2699,7 +2559,7 @@ cosmiconfig@^2.0.0, cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: parse-json "^2.2.0" require-from-string "^1.1.0" -crc@3.4.4, crc@^3.4.0: +crc@3.4.4: version "3.4.4" resolved "https://registry.yarnpkg.com/crc/-/crc-3.4.4.tgz#9da1e980e3bd44fc5c93bf5ab3da3378d85e466b" @@ -3038,12 +2898,6 @@ debug@*, debug@^3, debug@^3.0, debug@^3.0.1, debug@^3.1.0: dependencies: ms "2.0.0" -debug@2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" - dependencies: - ms "2.0.0" - debug@2.6.9, debug@2.x.x, debug@^2.3.3, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -3056,12 +2910,6 @@ debug@^2.1.1, debug@^2.1.2, debug@^2.2.0, debug@^2.6.3, debug@^2.6.8: dependencies: ms "2.0.0" -debug@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" - dependencies: - ms "0.7.1" - debuglog@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" @@ -3074,7 +2922,7 @@ decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" -deep-extend@^0.4.0, deep-extend@~0.4.0, deep-extend@~0.4.1: +deep-extend@^0.4.0, deep-extend@~0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" @@ -3159,14 +3007,14 @@ denque@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/denque/-/denque-1.1.1.tgz#10229c2b88eec1bd15ff82c5fde356e7beb6db9e" -depd@1.1.0, depd@^1.1.0, depd@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" - depd@1.1.1, depd@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" +depd@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + dependency-graph@0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.7.0.tgz#8fc7991ad236e47f0d5742701b5e307b83d7c0d0" @@ -3196,7 +3044,7 @@ detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" -dicer@0.2.5, dicer@^0.2.5: +dicer@0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" dependencies: @@ -3351,13 +3199,6 @@ duplicate-package-checker-webpack-plugin@2.1.0: lodash "^4.17.4" semver "^5.4.1" -eachr@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/eachr/-/eachr-3.2.0.tgz#2c35e43ea086516f7997cf80b7aa64d55a4a4484" - dependencies: - editions "^1.1.1" - typechecker "^4.3.0" - ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -3371,10 +3212,6 @@ ecdsa-sig-formatter@1.0.9: base64url "^2.0.0" safe-buffer "^5.0.1" -editions@^1.1.1, editions@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.3.tgz#0907101bdda20fac3cbe334c27cbd0688dc99a5b" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -3528,7 +3365,7 @@ es6-weak-map@^2.0.1: es6-iterator "^2.0.1" es6-symbol "^3.1.1" -escape-html@^1.0.3, escape-html@~1.0.3: +escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -3728,10 +3565,6 @@ esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -etag@~1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" - etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" @@ -3902,36 +3735,6 @@ express@4.16.2, express@^4.16.2: utils-merge "1.0.1" vary "~1.1.2" -express@~4.13.1: - version "4.13.4" - resolved "https://registry.yarnpkg.com/express/-/express-4.13.4.tgz#3c0b76f3c77590c8345739061ec0bd3ba067ec24" - dependencies: - accepts "~1.2.12" - array-flatten "1.1.1" - content-disposition "0.5.1" - content-type "~1.0.1" - cookie "0.1.5" - cookie-signature "1.0.6" - debug "~2.2.0" - depd "~1.1.0" - escape-html "~1.0.3" - etag "~1.7.0" - finalhandler "0.4.1" - fresh "0.3.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.1" - path-to-regexp "0.1.7" - proxy-addr "~1.0.10" - qs "4.0.0" - range-parser "~1.0.3" - send "0.13.1" - serve-static "~1.10.2" - type-is "~1.6.6" - utils-merge "1.0.0" - vary "~1.0.1" - extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -3976,14 +3779,6 @@ extglob@^2.0.2: snapdragon "^0.8.1" to-regex "^3.0.1" -extract-opts@^3.2.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/extract-opts/-/extract-opts-3.3.1.tgz#5abbedc98c0d5202e3278727f9192d7e086c6be1" - dependencies: - eachr "^3.2.0" - editions "^1.1.1" - typechecker "^4.3.0" - extract-text-webpack-plugin@3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz#5f043eaa02f9750a9258b78c0a6e0dc1408fb2f7" @@ -4035,12 +3830,6 @@ fclone@1.0.11, fclone@^1: version "1.0.11" resolved "https://registry.yarnpkg.com/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640" -feature-detect-es6@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/feature-detect-es6/-/feature-detect-es6-1.3.1.tgz#f888736af9cb0c91f55663bfa4762eb96ee7047f" - dependencies: - array-back "^1.0.3" - figures@2.0.x, figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -4107,15 +3896,6 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" -finalhandler@0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.4.1.tgz#85a17c6c59a94717d262d61230d4b0ebe3d4a14d" - dependencies: - debug "~2.2.0" - escape-html "~1.0.3" - on-finished "~2.3.0" - unpipe "~1.0.0" - finalhandler@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" @@ -4140,13 +3920,6 @@ find-line-column@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/find-line-column/-/find-line-column-0.5.2.tgz#db00238ff868551a182e74a103416d295a98c8ca" -find-replace@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz#b88e7364d2d9c959559f388c66670d6130441fa0" - dependencies: - array-back "^1.0.4" - test-value "^2.1.0" - find-root@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" @@ -4238,10 +4011,6 @@ form-data@~2.3.1: combined-stream "^1.0.5" mime-types "^2.1.12" -forwarded@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" - forwarded@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" @@ -4252,10 +4021,6 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" -fresh@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" - fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" @@ -4392,12 +4157,6 @@ get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" -getmac@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/getmac/-/getmac-1.2.1.tgz#0d095fd0627850043eac1dcfa0b120bbdc1426d1" - dependencies: - extract-opts "^3.2.0" - getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -4793,22 +4552,6 @@ http-errors@1.6.2, http-errors@~1.6.2: setprototypeof "1.0.3" statuses ">= 1.3.1 < 2" -http-errors@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" - dependencies: - inherits "~2.0.1" - statuses "1" - -http-errors@~1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257" - dependencies: - depd "1.1.0" - inherits "2.0.3" - setprototypeof "1.0.3" - statuses ">= 1.3.1 < 2" - http-signature@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" @@ -4858,10 +4601,6 @@ iconv-lite@0.4.13: version "0.4.13" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" -iconv-lite@0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" - iconv-lite@0.4.19, iconv-lite@~0.4.13: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" @@ -4948,7 +4687,7 @@ inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" -ini@^1.3.4, ini@~1.3.0: +ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" @@ -5041,10 +4780,6 @@ ioredis@^3.1.4: redis-commands "^1.2.0" redis-parser "^2.4.0" -ipaddr.js@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.0.5.tgz#5fa78cf301b825c78abc3042d812723049ea23c7" - ipaddr.js@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" @@ -6156,6 +5891,10 @@ lodash.clonedeep@^4.3.2, lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + lodash.defaults@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" @@ -6244,14 +5983,14 @@ lodash.noop@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash.noop/-/lodash.noop-3.0.1.tgz#38188f4d650a3a474258439b96ec45b32617133c" +lodash.omit@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" + lodash.once@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" -lodash.padend@^4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" - lodash.partial@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/lodash.partial/-/lodash.partial-4.2.1.tgz#49f3d8cfdaa3bff8b3a91d127e923245418961d4" @@ -6288,6 +6027,10 @@ lodash.tail@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -6300,7 +6043,7 @@ lodash@4.17.5, lodash@^4.17.5: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" -lodash@^4.0.0, lodash@^4.1.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.1, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.5.1, lodash@~4.17.4: +lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.1, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.5.1, lodash@~4.17.4: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -6343,11 +6086,7 @@ loud-rejection@^1.0.0, loud-rejection@^1.6.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" -lru-cache@2.2.x: - version "2.2.4" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d" - -lru-cache@^4.0.0, lru-cache@^4.0.1, lru-cache@^4.0.2, lru-cache@^4.1.1: +lru-cache@^4.0.1, lru-cache@^4.0.2, lru-cache@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" dependencies: @@ -6611,7 +6350,7 @@ mime-types@2.1.18: dependencies: mime-db "~1.33.0" -mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.6, mime-types@~2.1.7: +mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.7: version "2.1.15" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" dependencies: @@ -6629,10 +6368,6 @@ mime-types@~2.1.17: dependencies: mime-db "~1.30.0" -mime@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" - mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" @@ -6726,7 +6461,7 @@ moment@2.21.0: version "2.21.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.21.0.tgz#2a114b51d2a6ec9e6d83cf803f838a878d8a023a" -"moment@>= 2.9.0", moment@^2.10.6, moment@^2.16.1: +"moment@>= 2.9.0", moment@^2.10.6: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" @@ -6762,10 +6497,6 @@ move-concurrently@^1.0.1: rimraf "^2.5.4" run-queue "^1.0.3" -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -6839,10 +6570,6 @@ needle@^2.1.0: iconv-lite "^0.4.4" sax "^1.2.4" -negotiator@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.5.3.tgz#269d5c476810ec92edbe7b6c2f28316384f9a7e8" - negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" @@ -7318,10 +7045,6 @@ parse5@^3.0.2: dependencies: "@types/node" "*" -parseurl@^1.3.0, parseurl@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" - parseurl@~1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" @@ -8366,17 +8089,6 @@ promptly@2.2.0: dependencies: read "^1.0.4" -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - -proxy-addr@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.0.10.tgz#0d40a82f801fc355567d2ecb65efe3f077f121c5" - dependencies: - forwarded "~0.1.0" - ipaddr.js "1.0.5" - proxy-addr@~2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" @@ -8563,14 +8275,6 @@ qr-image@3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/qr-image/-/qr-image-3.2.0.tgz#9fa8295beae50c4a149cf9f909a1db464a8672e8" -qs@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-4.0.0.tgz#c31d9b74ec27df75e543a86c78728ed8d4623607" - -qs@6.4.0, qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - qs@6.5.1, qs@~6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" @@ -8579,6 +8283,10 @@ qs@~6.3.0: version "6.3.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" +qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -8622,10 +8330,6 @@ range-parser@^1.0.3, range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" -range-parser@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.0.3.tgz#6872823535c692e2c2a0103826afd82c2e0ff175" - raven@2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/raven/-/raven-2.4.2.tgz#0129e2adc30788646fd530b67d08a8ce25d4f6dc" @@ -8645,14 +8349,6 @@ raw-body@2.3.2: iconv-lite "0.4.19" unpipe "1.0.0" -raw-body@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96" - dependencies: - bytes "2.4.0" - iconv-lite "0.4.15" - unpipe "1.0.0" - raw-loader@0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" @@ -8799,10 +8495,6 @@ reduce-css-calc@^2.0.0: css-unit-converter "^1.1.1" postcss-value-parser "^3.3.0" -reduce-flatten@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-1.0.1.tgz#258c78efd153ddf93cb561237f61184f3696e327" - reduce-function-call@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" @@ -8921,7 +8613,7 @@ request-promise@4.2.2: stealthy-require "^1.1.0" tough-cookie ">=2.3.3" -request@2, request@^2.67.0, request@^2.79.0, request@^2.81.0: +request@2, request@^2.79.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: @@ -9252,40 +8944,6 @@ semver@^5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" -send@0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.13.1.tgz#a30d5f4c82c8a9bae9ad00a1d9b1bdbe6f199ed7" - dependencies: - debug "~2.2.0" - depd "~1.1.0" - destroy "~1.0.4" - escape-html "~1.0.3" - etag "~1.7.0" - fresh "0.3.0" - http-errors "~1.3.1" - mime "1.3.4" - ms "0.7.1" - on-finished "~2.3.0" - range-parser "~1.0.3" - statuses "~1.2.1" - -send@0.13.2: - version "0.13.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.13.2.tgz#765e7607c8055452bba6f0b052595350986036de" - dependencies: - debug "~2.2.0" - depd "~1.1.0" - destroy "~1.0.4" - escape-html "~1.0.3" - etag "~1.7.0" - fresh "0.3.0" - http-errors "~1.3.1" - mime "1.3.4" - ms "0.7.1" - on-finished "~2.3.0" - range-parser "~1.0.3" - statuses "~1.2.1" - send@0.16.1: version "0.16.1" resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" @@ -9349,14 +9007,6 @@ serve-static@1.13.1: parseurl "~1.3.2" send "0.16.1" -serve-static@~1.10.2: - version "1.10.3" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.10.3.tgz#ce5a6ecd3101fed5ec09827dac22a9c29bfb0535" - dependencies: - escape-html "~1.0.3" - parseurl "~1.3.1" - send "0.13.2" - set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -9668,14 +9318,10 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" -statuses@1, "statuses@>= 1.3.1 < 2", statuses@~1.3.1: +"statuses@>= 1.3.1 < 2", statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" -statuses@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.2.1.tgz#dded45cc18256d51ed40aec142489d5c61026d28" - stdout-stream@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b" @@ -9892,16 +9538,6 @@ symbol-tree@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" -table-layout@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-0.4.0.tgz#c70ff0455d9add63b91f7c15a77926295c0e0e7d" - dependencies: - array-back "^1.0.4" - deep-extend "~0.4.1" - lodash.padend "^4.6.1" - typical "^2.6.0" - wordwrapjs "^2.0.0" - table@4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" @@ -9960,13 +9596,6 @@ test-exclude@^4.1.1: read-pkg-up "^1.0.1" require-main-filename "^1.0.1" -test-value@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/test-value/-/test-value-2.1.0.tgz#11da6ff670f3471a73b625ca4f3fdcf7bb748291" - dependencies: - array-back "^1.0.3" - typical "^2.6.0" - text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -10008,7 +9637,7 @@ tiny-emitter@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.0.1.tgz#e65919d91e488e2a78f7ebe827a56c6b188d51af" -tmp@0.0.x, tmp@^0.0.31: +tmp@^0.0.31: version "0.0.31" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" dependencies: @@ -10135,27 +9764,17 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-is@^1.6.4, type-is@~1.6.15, type-is@~1.6.6: +type-is@^1.6.4, type-is@~1.6.15: version "1.6.15" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" dependencies: media-typer "0.3.0" mime-types "~2.1.15" -typechecker@^4.3.0: - version "4.4.1" - resolved "https://registry.yarnpkg.com/typechecker/-/typechecker-4.4.1.tgz#f97b95f51b038417212d677d45a373ee7bced7e6" - dependencies: - editions "^1.3.3" - typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -typical@^2.6.0, typical@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d" - uc.micro@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.3.tgz#7ed50d5e0f9a9fb0a573379259f2a77458d50192" @@ -10294,9 +9913,9 @@ urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" -url-join@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.0.tgz#4d3340e807d3773bda9991f8305acdcc2a665d2a" +url-join@^2.0.2: + version "2.0.5" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-2.0.5.tgz#5af22f18c052a000a48d7b82c5e9c2e2feeda728" url@^0.11.0: version "0.11.0" @@ -10317,13 +9936,6 @@ user-home@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" -useragent@~2.1.7: - version "2.1.13" - resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.13.tgz#bba43e8aa24d5ceb83c2937473e102e21df74c10" - dependencies: - lru-cache "2.2.x" - tmp "0.0.x" - util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -10335,20 +9947,20 @@ util.promisify@^1.0.0: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" -util@0.10.3, util@^0.10.3, util@~0.10.3: +util@0.10.3, util@^0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" dependencies: inherits "2.0.1" -utils-merge@1.0.0, utils-merge@1.x.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" - utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" +utils-merge@1.x.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" + uuid@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.0.tgz#6728fc0459c450d796a99c31837569bdf672d728" @@ -10357,10 +9969,6 @@ uuid@3.2.1, uuid@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" -uuid@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" @@ -10402,10 +10010,6 @@ vary@^1: version "1.1.1" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" -vary@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.0.1.tgz#99e4981566a286118dfb2b817357df7993376d10" - vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -10467,6 +10071,14 @@ void-elements@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" +vue-apollo@3.0.0-beta.4: + version "3.0.0-beta.4" + resolved "https://registry.yarnpkg.com/vue-apollo/-/vue-apollo-3.0.0-beta.4.tgz#2313f720875160befc22375c13a74c0bc2e87030" + dependencies: + lodash.debounce "^4.0.8" + lodash.omit "^4.5.0" + lodash.throttle "^4.1.1" + vue-clipboards@1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/vue-clipboards/-/vue-clipboards-1.2.2.tgz#3349d0096de4dd43318d005dd2b5a1baa5a98681" @@ -10637,16 +10249,16 @@ webpack-bundle-analyzer@2.11.1: opener "^1.4.3" ws "^4.0.0" -webpack-dev-middleware@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.0.0.tgz#ae8902596f1b1fa8f7eada874aabb64cba9cd53e" +webpack-dev-middleware@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-2.0.3.tgz#44e15480ec58d275417ac4d93a0126c7b72450bd" dependencies: loud-rejection "^1.6.0" memory-fs "~0.4.1" mime "^2.1.0" path-is-absolute "^1.0.0" range-parser "^1.0.3" - url-join "^4.0.0" + url-join "^2.0.2" webpack-log "^1.0.1" webpack-hot-middleware@2.21.2: @@ -10806,15 +10418,6 @@ wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" -wordwrapjs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-2.0.0.tgz#ab55f695e6118da93858fdd70c053d1c5e01ac20" - dependencies: - array-back "^1.0.3" - feature-detect-es6 "^1.3.1" - reduce-flatten "^1.0.1" - typical "^2.6.0" - worker-farm@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.2.tgz#32b312e5dc3d5d45d79ef44acc2587491cd729ae" @@ -11020,11 +10623,3 @@ zen-observable@^0.6.0: zen-observable@^0.7.0: version "0.7.1" resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.7.1.tgz#f84075c0ee085594d3566e1d6454207f126411b3" - -zone.js@0.7.6: - version "0.7.6" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.7.6.tgz#fbbc39d3e0261d0986f1ba06306eb3aeb0d22009" - -zone.js@^0.8.10: - version "0.8.14" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.14.tgz#0c4db24b178232274ccb43f78c99db7f3642b6cf"