From 8e09c6fce1d5c41a88df3029f2ebc5af2344171f Mon Sep 17 00:00:00 2001 From: NGPixel Date: Mon, 12 Mar 2018 00:09:54 -0400 Subject: [PATCH] refactor: updated loggers + admin UI improvements + setup fixes --- client/app.js | 2 - client/components/admin-auth.vue | 34 +++- client/components/admin-general.vue | 43 +++-- client/components/admin-locale.vue | 20 ++- client/components/admin-logging.vue | 93 ++++++++++ client/components/admin-search.vue | 2 +- client/components/admin-storage.vue | 14 +- client/components/admin-theme.vue | 12 +- client/components/admin.vue | 1 + client/components/nav-header.vue | 72 +++++++- client/components/setup.vue | 2 +- package.json | 20 +-- server/app/data.yml | 1 - server/core/auth.js | 5 +- server/core/logger.js | 28 +-- server/graph/resolvers/authentication.js | 2 +- server/modules/logging/bugsnag.js | 4 +- server/modules/logging/console.js | 4 +- server/modules/logging/loggly.js | 4 +- server/modules/logging/papertrail.js | 4 +- server/modules/logging/rollbar.js | 4 +- server/modules/logging/sentry.js | 4 +- server/setup.js | 3 +- server/views/main/welcome.pug | 11 +- server/worker.js | 4 +- yarn.lock | 219 +++++++++++++++-------- 26 files changed, 434 insertions(+), 178 deletions(-) create mode 100644 client/components/admin-logging.vue diff --git a/client/app.js b/client/app.js index 147728d1..28f5159b 100644 --- a/client/app.js +++ b/client/app.js @@ -1,7 +1,5 @@ 'use strict' -/* global siteConfig */ - import CONSTANTS from './constants' import Vue from 'vue' diff --git a/client/components/admin-auth.vue b/client/components/admin-auth.vue index bc94d6dd..cd1a2ef2 100644 --- a/client/components/admin-auth.vue +++ b/client/components/admin-auth.vue @@ -4,13 +4,13 @@ .pa-3.pt-4 .headline.primary--text Authentication .subheading.grey--text Configure the authentication settings of your wiki - v-tabs(color='grey lighten-4', grow, slider-color='primary', show-arrows) + v-tabs(color='grey lighten-4', fixed-tabs, slider-color='primary', show-arrows) v-tab(key='settings'): v-icon settings - v-tab(v-for='provider in providers', :key='provider.key') {{ provider.title }} + v-tab(v-for='provider in activeProviders', :key='provider.key') {{ provider.title }} v-tab-item(key='settings', :transition='false', :reverse-transition='false') v-card.pa-3 - .body-2.pb-2 Select which authentication providers are enabled: + .body-2.pb-2 Select which authentication providers to enable: v-form v-checkbox( v-for='(provider, n) in providers', @@ -32,11 +32,24 @@ v-btn(icon, @click='refresh') v-icon.grey--text refresh - v-tab-item(v-for='(provider, n) in providers', :key='provider.key', :transition='false', :reverse-transition='false') + v-tab-item(v-for='(provider, n) in activeProviders', :key='provider.key', :transition='false', :reverse-transition='false') v-card.pa-3 - .body-1(v-if='!provider.props || provider.props.length < 1') This provider has no configuration options you can modify. - v-form(v-else) - v-text-field(v-for='prop in provider.props', :key='prop', :label='prop', prepend-icon='mode_edit') + v-form + v-subheader Provider Configuration + .body-1(v-if='!provider.props || provider.props.length < 1') This provider has no configuration options you can modify. + v-text-field(v-else, v-for='prop in provider.props', :key='prop', :label='prop', prepend-icon='mode_edit') + v-divider + v-subheader Registration + v-switch.ml-3( + v-model='auths', + label='Allow self-registration', + :value='true', + color='primary', + hint='Allow any user successfully authorized by the provider to access the wiki.', + persistent-hint + ) + v-text-field(label='Limit to specific email domains', prepend-icon='mail_outline') + v-text-field(label='Assign to group', prepend-icon='people') v-divider v-btn(color='primary') v-icon(left) chevron_right @@ -52,6 +65,8 @@ + + diff --git a/client/components/admin-search.vue b/client/components/admin-search.vue index 1b384198..6dc629b2 100644 --- a/client/components/admin-search.vue +++ b/client/components/admin-search.vue @@ -4,7 +4,7 @@ .pa-3.pt-4 .headline.primary--text Search Engine .subheading.grey--text Configure the search capabilities of your wiki - v-tabs(color='grey lighten-4', grow, slider-color='primary', show-arrows) + v-tabs(color='grey lighten-4', fixed-tabs, slider-color='primary', show-arrows) v-tab(key='settings'): v-icon settings v-tab(key='db') Database v-tab(key='algolia') Algolia diff --git a/client/components/admin-storage.vue b/client/components/admin-storage.vue index e47e3ae2..2c769469 100644 --- a/client/components/admin-storage.vue +++ b/client/components/admin-storage.vue @@ -4,7 +4,7 @@ .pa-3.pt-4 .headline.primary--text Storage .subheading.grey--text Set backup and sync targets for your content - v-tabs(color='grey lighten-4', grow, slider-color='primary', show-arrows) + v-tabs(color='grey lighten-4', fixed-tabs, slider-color='primary', show-arrows) v-tab(key='settings'): v-icon settings v-tab(key='local') Local FS v-tab(key='git') Git @@ -19,7 +19,15 @@ v-tab-item(key='settings') v-card.pa-3 v-form - v-checkbox(v-for='(target, n) in targets', v-model='auths', :key='n', :label='target.text', :value='target.value', color='primary') + v-checkbox( + v-for='(target, n) in targets', + v-model='auths', + :key='n', + :label='target.text', + :value='target.value', + color='primary', + hide-details + ) v-divider v-btn(color='primary') v-icon(left) chevron_right @@ -32,7 +40,7 @@ export default { data() { return { targets: [ - { text: 'Local FS', value: 'local' }, + { text: 'Local Filesystem', value: 'local' }, { text: 'Git', value: 'auth0' }, { text: 'Amazon S3', value: 'algolia' }, { text: 'Azure Blob Storage', value: 'elasticsearch' }, diff --git a/client/components/admin-theme.vue b/client/components/admin-theme.vue index 715cfee0..b9eaf884 100644 --- a/client/components/admin-theme.vue +++ b/client/components/admin-theme.vue @@ -8,10 +8,9 @@ v-layout(row wrap) v-flex(lg6 xs12) v-card - v-toolbar(color='blue', dark, dense, flat) + v-toolbar(color='primary', dark, dense, flat) v-toolbar-title .subheading Theme - v-btn(fab, absolute, right, bottom, small, light): v-icon save v-card-text v-select(:items='themes', prepend-icon='palette', v-model='selectedTheme', label='Site Theme', persistent-hint, hint='Themes affect how content pages are displayed. Other site sections (such as the editor or admin area) are not affected.') template(slot='item', slot-scope='data') @@ -22,12 +21,15 @@ v-list-tile-sub-title(v-html='data.item.author') v-divider v-switch(v-model='darkMode', label='Dark Mode', color='primary', persistent-hint, hint='Not recommended for accessibility') + v-divider + .px-3.pb-3 + v-btn(color='primary') Save v-flex(lg6 xs12) v-card - v-toolbar(color='blue', dark, dense, flat) + v-toolbar(color='primary', dark, dense, flat) v-toolbar-title - .subheading Theme Options - v-list + .subheading --- + v-card-text --- - diff --git a/client/components/setup.vue b/client/components/setup.vue index 7a724983..b60be83b 100644 --- a/client/components/setup.vue +++ b/client/components/setup.vue @@ -40,7 +40,7 @@ v-stepper-content(step='1') v-card.text-xs-center.pa-3(flat) - img(src='svg/logo-wikijs.svg', alt='Wiki.js Logo', style='width: 300px;') + img(src='/svg/logo-wikijs.svg', alt='Wiki.js Logo', style='width: 300px;') v-container .body-2.py-2 This installation wizard will guide you through the steps needed to get your wiki up and running in no time! .body-1 diff --git a/package.json b/package.json index 497fe1b5..46a46c02 100644 --- a/package.json +++ b/package.json @@ -128,12 +128,12 @@ "request-promise": "4.2.2", "scim-query-filter-parser": "1.1.0", "semver": "5.5.0", - "sequelize": "4.35.2", + "sequelize": "4.36.0", "serve-favicon": "2.4.5", "uuid": "3.2.1", "validator": "9.4.1", "validator-as-promised": "1.0.2", - "winston": "2.4.0", + "winston": "3.0.0-rc2", "yargs": "11.0.0" }, "devDependencies": { @@ -157,8 +157,8 @@ "brace": "0.11.1", "cache-loader": "1.2.2", "clean-webpack-plugin": "0.1.19", - "colors": "1.1.2", - "copy-webpack-plugin": "4.5.0", + "colors": "1.2.0", + "copy-webpack-plugin": "4.5.1", "css-loader": "0.28.10", "cssnano": "4.0.0-rc.2", "duplicate-package-checker-webpack-plugin": "2.1.0", @@ -192,15 +192,15 @@ "sass-loader": "6.0.7", "sass-resources-loader": "1.3.3", "simple-progress-webpack-plugin": "1.1.2", - "style-loader": "0.20.2", + "style-loader": "0.20.3", "stylus": "0.54.5", "stylus-loader": "3.0.2", "twemoji-awesome": "1.0.6", - "uglifyjs-webpack-plugin": "1.2.2", + "uglifyjs-webpack-plugin": "1.2.3", "vee-validate": "2.0.5", "velocity-animate": "1.5.1", - "vue": "2.5.13", - "vue-apollo": "3.0.0-beta.4", + "vue": "2.5.15", + "vue-apollo": "3.0.0-beta.5", "vue-clipboards": "1.2.2", "vue-codemirror": "4.0.3", "vue-hot-reload-api": "2.3.0", @@ -208,8 +208,8 @@ "vue-material-design-icons": "1.2.1", "vue-router": "3.0.1", "vue-simple-breakpoints": "1.0.3", - "vue-template-compiler": "2.5.13", - "vuetify": "1.0.5", + "vue-template-compiler": "2.5.15", + "vuetify": "1.0.6", "vuex": "3.0.1", "vuex-persistedstate": "2.4.2", "webpack": "3.11.0", diff --git a/server/app/data.yml b/server/app/data.yml index 467622f3..81ea5b3a 100644 --- a/server/app/data.yml +++ b/server/app/data.yml @@ -53,7 +53,6 @@ defaults: configNamespaces: - auth - features - - git - logging - site - theme diff --git a/server/core/auth.js b/server/core/auth.js index 82a77672..73d065ed 100644 --- a/server/core/auth.js +++ b/server/core/auth.js @@ -33,12 +33,11 @@ module.exports = { // Load authentication strategies const modules = _.values(autoload(path.join(WIKI.SERVERPATH, 'modules/authentication'))) - console.info(WIKI.config.auth) _.forEach(modules, (strategy) => { - const strategyConfig = _.get(WIKI.config.auth.strategies, strategy.key, {}) + const strategyConfig = _.get(WIKI.config.auth.strategies, strategy.key, { isEnabled: false }) strategyConfig.callbackURL = `${WIKI.config.site.host}${WIKI.config.site.path}login/${strategy.key}/callback` + strategy.config = strategyConfig if (strategyConfig.isEnabled) { - console.info(strategy.title) try { strategy.init(passport, strategyConfig) } catch (err) { diff --git a/server/core/logger.js b/server/core/logger.js index 1b6b1dbe..b9432f1a 100644 --- a/server/core/logger.js +++ b/server/core/logger.js @@ -1,37 +1,25 @@ const _ = require('lodash') const cluster = require('cluster') -const fs = require('fs-extra') -const path = require('path') +const winston = require('winston') /* global WIKI */ module.exports = { loggers: {}, init() { - let winston = require('winston') - - let logger = new (winston.Logger)({ + let logger = winston.createLogger({ level: WIKI.config.logLevel, - transports: [] - }) - - logger.filters.push((level, msg) => { - let processName = (cluster.isMaster) ? 'MASTER' : `WORKER-${cluster.worker.id}` - return '[' + processName + '] ' + msg + format: winston.format.combine( + winston.format.colorize(), + winston.format.label({ label: (cluster.isMaster) ? 'MASTER' : `WORKER-${cluster.worker.id}` }), + winston.format.timestamp(), + winston.format.printf(info => `${info.timestamp} [${info.label}] ${info.level}: ${info.message}`) + ) }) _.forOwn(_.omitBy(WIKI.config.logging.loggers, s => s.enabled === false), (loggerConfig, loggerKey) => { let loggerModule = require(`../modules/logging/${loggerKey}`) loggerModule.init(logger, loggerConfig) - fs.readFile(path.join(WIKI.ROOTPATH, `assets/svg/auth-icon-${loggerKey}.svg`), 'utf8').then(iconData => { - logger.icon = iconData - }).catch(err => { - if (err.code === 'ENOENT') { - logger.icon = '[missing icon]' - } else { - logger.error(err) - } - }) this.loggers[logger.key] = loggerModule }) diff --git a/server/graph/resolvers/authentication.js b/server/graph/resolvers/authentication.js index 428e1e49..4d42121d 100644 --- a/server/graph/resolvers/authentication.js +++ b/server/graph/resolvers/authentication.js @@ -17,7 +17,7 @@ module.exports = { AuthenticationQuery: { providers(obj, args, context, info) { let prv = _.map(WIKI.auth.strategies, str => ({ - isEnabled: true, + isEnabled: str.config.isEnabled, key: str.key, props: str.props, title: str.title, diff --git a/server/modules/logging/bugsnag.js b/server/modules/logging/bugsnag.js index 990186e0..f1f67b59 100644 --- a/server/modules/logging/bugsnag.js +++ b/server/modules/logging/bugsnag.js @@ -24,9 +24,9 @@ module.exports = { callback(null, true) } - logger.add(BugsnagLogger, { + logger.add(new BugsnagLogger({ level: 'warn', key: conf.key - }) + })) } } diff --git a/server/modules/logging/console.js b/server/modules/logging/console.js index bb69154b..b483bdb8 100644 --- a/server/modules/logging/console.js +++ b/server/modules/logging/console.js @@ -11,12 +11,12 @@ module.exports = { title: 'Console', props: [], init (logger, conf) { - logger.add(winston.transports.Console, { + logger.add(new winston.transports.Console({ level: WIKI.config.logLevel, prettyPrint: true, colorize: true, silent: false, timestamp: true - }) + })) } } diff --git a/server/modules/logging/loggly.js b/server/modules/logging/loggly.js index d4156b72..33bcfda9 100644 --- a/server/modules/logging/loggly.js +++ b/server/modules/logging/loggly.js @@ -10,12 +10,12 @@ module.exports = { props: ['token', 'subdomain'], init (logger, conf) { require('winston-loggly-bulk') - logger.add(winston.transports.Loggly, { + logger.add(new winston.transports.Loggly({ token: conf.token, subdomain: conf.subdomain, tags: ['wiki-js'], level: 'warn', json: true - }) + })) } } diff --git a/server/modules/logging/papertrail.js b/server/modules/logging/papertrail.js index 7869a762..6d32e0e2 100644 --- a/server/modules/logging/papertrail.js +++ b/server/modules/logging/papertrail.js @@ -10,11 +10,11 @@ module.exports = { props: ['host', 'port'], init (logger, conf) { require('winston-papertrail').Papertrail // eslint-disable-line no-unused-expressions - logger.add(winston.transports.Papertrail, { + logger.add(new winston.transports.Papertrail({ host: conf.host, port: conf.port, level: 'warn', program: 'wiki.js' - }) + })) } } diff --git a/server/modules/logging/rollbar.js b/server/modules/logging/rollbar.js index 57d52a37..b6804f02 100644 --- a/server/modules/logging/rollbar.js +++ b/server/modules/logging/rollbar.js @@ -24,9 +24,9 @@ module.exports = { callback(null, true) } - logger.add(RollbarLogger, { + logger.add(new RollbarLogger({ level: 'warn', key: conf.key - }) + })) } } diff --git a/server/modules/logging/sentry.js b/server/modules/logging/sentry.js index 52c9aa57..4b2c2515 100644 --- a/server/modules/logging/sentry.js +++ b/server/modules/logging/sentry.js @@ -24,9 +24,9 @@ module.exports = { callback(null, true) } - logger.add(SentryLogger, { + logger.add(new SentryLogger({ level: 'warn', key: conf.key - }) + })) } } diff --git a/server/setup.js b/server/setup.js index f9578aee..25918c77 100644 --- a/server/setup.js +++ b/server/setup.js @@ -276,7 +276,6 @@ module.exports = () => { // Populate config namespaces WIKI.config.auth = WIKI.config.auth || {} WIKI.config.features = WIKI.config.features || {} - WIKI.config.git = WIKI.config.git || {} WIKI.config.logging = WIKI.config.logging || {} WIKI.config.site = WIKI.config.site || {} WIKI.config.theme = WIKI.config.theme || {} @@ -290,7 +289,7 @@ module.exports = () => { // Auth namespace _.set(WIKI.config.auth, 'public', req.body.public === 'true') - _.set(WIKI.config.auth, 'strategies.local.enabled', true) + _.set(WIKI.config.auth, 'strategies.local.isEnabled', true) _.set(WIKI.config.auth, 'strategies.local.allowSelfRegister', req.body.selfRegister === 'true') // Logging namespace diff --git a/server/views/main/welcome.pug b/server/views/main/welcome.pug index d81d1466..ddb4ccff 100644 --- a/server/views/main/welcome.pug +++ b/server/views/main/welcome.pug @@ -3,8 +3,9 @@ extends ../master.pug block body body #app.is-fullscreen - .onboarding - img(src='/svg/logo-wikijs.svg', alt='Wiki.js') - h1= t('welcome.title') - h2= t('welcome.subtitle') - a.button.is-blue(href='/e/home')= t('welcome.createhome') + v-app + .onboarding + img(src='/svg/logo-wikijs.svg', alt='Wiki.js') + h1= t('welcome.title') + h2= t('welcome.subtitle') + v-btn(color='primary', href='/e/home')= t('welcome.createhome') diff --git a/server/worker.js b/server/worker.js index d72b7cb5..99dd0e02 100644 --- a/server/worker.js +++ b/server/worker.js @@ -4,7 +4,7 @@ const Promise = require('bluebird') module.exports = Promise.join( WIKI.db.onReady, - WIKI.configSvc.loadFromDb(['features', 'git', 'logging', 'site', 'uploads']) + WIKI.configSvc.loadFromDb(['features', 'logging', 'site', 'uploads']) ).then(() => { const path = require('path') @@ -25,7 +25,7 @@ module.exports = Promise.join( const i18nBackend = require('i18next-node-fs-backend') WIKI.lang.use(i18nBackend).init({ load: 'languageOnly', - ns: ['common', 'admin', 'auth', 'errors', 'git'], + ns: ['common', 'admin', 'auth', 'errors'], defaultNS: 'common', saveMissing: false, preload: [WIKI.config.lang], diff --git a/yarn.lock b/yarn.lock index 3616915f..872f8a3b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -641,7 +641,7 @@ async@1.5, async@^1.4.0, async@^1.5: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.1.2, async@^2.4.1: +async@^2.1.2, async@^2.4.1, async@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" dependencies: @@ -653,10 +653,6 @@ async@^2.1.4, async@^2.5: dependencies: lodash "^4.14.0" -async@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -1892,23 +1888,23 @@ bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" -cacache@^10.0.1: - version "10.0.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.2.tgz#105a93a162bbedf3a25da42e1939ed99ffb145f8" +cacache@^10.0.4: + version "10.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" dependencies: - bluebird "^3.5.0" + bluebird "^3.5.1" chownr "^1.0.1" glob "^7.1.2" graceful-fs "^4.1.11" lru-cache "^4.1.1" - mississippi "^1.3.0" + mississippi "^2.0.0" mkdirp "^0.5.1" move-concurrently "^1.0.1" promise-inflight "^1.0.1" - rimraf "^2.6.1" - ssri "^5.0.0" + rimraf "^2.6.2" + ssri "^5.2.4" unique-filename "^1.1.0" - y18n "^3.2.1" + y18n "^4.0.0" cache-base@^1.0.1: version "1.0.1" @@ -2287,6 +2283,10 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" +color-convert@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" + color-convert@^1.0.0, color-convert@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" @@ -2316,6 +2316,13 @@ color-string@^1.4.0: color-name "^1.0.0" simple-swizzle "^0.2.2" +color@0.8.x: + version "0.8.0" + resolved "https://registry.yarnpkg.com/color/-/color-0.8.0.tgz#890c07c3fd4e649537638911cf691e5458b6fca5" + dependencies: + color-convert "^0.5.0" + color-string "^0.3.0" + color@^0.11.0: version "0.11.4" resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" @@ -2339,14 +2346,25 @@ colormin@^1.0.5: css-color-names "0.0.4" has "^1.0.1" -colors@1.0.x: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" +colornames@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/colornames/-/colornames-0.0.2.tgz#d811fd6c84f59029499a8ac4436202935b92be31" -colors@1.1.2, colors@~1.1.2: +colors@1.2.0, colors@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.0.tgz#24ec7283fcc91557801b22521e4619fedc7ca306" + +colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" +colorspace@1.0.x: + version "1.0.1" + resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.0.1.tgz#c99c796ed31128b9876a52e1ee5ee03a4a719749" + dependencies: + color "0.8.x" + text-hex "0.0.x" + combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" @@ -2507,11 +2525,11 @@ copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" -copy-webpack-plugin@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.5.0.tgz#9cb012163317666ea47479d2a8c57daca3557da5" +copy-webpack-plugin@4.5.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.5.1.tgz#fc4f68f4add837cc5e13d111b20715793225d29c" dependencies: - cacache "^10.0.1" + cacache "^10.0.4" find-cache-dir "^1.0.0" globby "^7.1.1" is-glob "^4.0.0" @@ -2864,10 +2882,6 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -cycle@1.0.x: - version "1.0.3" - resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" - cyclist@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" @@ -3044,6 +3058,14 @@ detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" +diagnostics@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/diagnostics/-/diagnostics-1.1.0.tgz#e1090900b49523e8527be20f081275205f2ae36a" + dependencies: + colorspace "1.0.x" + enabled "1.0.x" + kuler "0.0.x" + dicer@0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" @@ -3254,6 +3276,12 @@ emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" +enabled@1.0.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/enabled/-/enabled-1.0.2.tgz#965f6513d2c2d1c5f4652b64a2e3396467fc2f93" + dependencies: + env-variable "0.0.x" + encodeurl@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" @@ -3283,6 +3311,10 @@ entities@^1.1.1, entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" +env-variable@0.0.x: + version "0.0.4" + resolved "https://registry.yarnpkg.com/env-variable/-/env-variable-0.0.4.tgz#0d6280cf507d84242befe35a512b5ae4be77c54e" + errno@^0.1.3, errno@^0.1.4: version "0.1.6" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.6.tgz#c386ce8a6283f14fc09563b71560908c9bf53026" @@ -3800,10 +3832,6 @@ extsprintf@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" -eyes@0.1.x: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" - fast-deep-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" @@ -3830,6 +3858,10 @@ fclone@1.0.11, fclone@^1: version "1.0.11" resolved "https://registry.yarnpkg.com/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640" +fecha@^2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fecha/-/fecha-2.3.3.tgz#948e74157df1a32fd1b12c3a3c3cdcb6ec9d96cd" + figures@2.0.x, figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -5749,6 +5781,12 @@ klaw@2.1.1: dependencies: graceful-fs "^4.1.9" +kuler@0.0.x: + version "0.0.0" + resolved "https://registry.yarnpkg.com/kuler/-/kuler-0.0.0.tgz#b66bb46b934e550f59d818848e0abba4f7f5553c" + dependencies: + colornames "0.0.2" + last-call-webpack-plugin@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-2.1.2.tgz#ad80c6e310998294d2ed2180a68e9589e4768c44" @@ -6072,6 +6110,13 @@ log-update@2.3.x: cli-cursor "^2.0.0" wrap-ansi "^3.0.1" +logform@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/logform/-/logform-1.2.2.tgz#7be8847684de07185029ed09c65b11d06191ef93" + dependencies: + colors "^1.1.2" + fecha "^2.3.2" + loglevelnext@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/loglevelnext/-/loglevelnext-1.0.3.tgz#0f69277e73bbbf2cd61b94d82313216bf87ac66e" @@ -6417,9 +6462,9 @@ minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" -mississippi@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-1.3.0.tgz#d201583eb12327e3c5c1642a404a9cacf94e34f5" +mississippi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" dependencies: concat-stream "^1.5.0" duplexify "^3.4.2" @@ -6427,7 +6472,7 @@ mississippi@^1.3.0: flush-write-stream "^1.0.0" from2 "^2.1.0" parallel-transform "^1.1.0" - pump "^1.0.0" + pump "^2.0.1" pumpify "^1.3.3" stream-each "^1.1.0" through2 "^2.0.0" @@ -6895,6 +6940,10 @@ once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0: dependencies: wrappy "1" +one-time@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/one-time/-/one-time-0.0.4.tgz#f8cdf77884826fe4dff93e3a9cc37b1e4480742e" + onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" @@ -8263,16 +8312,16 @@ pug@2.0.1: pug-runtime "^2.0.4" pug-strip-comments "^1.0.3" -pump@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" +pump@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.0.tgz#7946da1c8d622b098e2ceb2d3476582470829c9d" dependencies: end-of-stream "^1.1.0" once "^1.3.1" -pump@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.0.tgz#7946da1c8d622b098e2ceb2d3476582470829c9d" +pump@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -8828,7 +8877,7 @@ rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1: dependencies: glob "^7.0.5" -rimraf@^2.5.4: +rimraf@^2.5.4, rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: @@ -8940,7 +8989,7 @@ schema-utils@^0.4.0, schema-utils@^0.4.5: ajv "^6.1.0" ajv-keywords "^3.1.0" -schema-utils@^0.4.2, schema-utils@^0.4.3: +schema-utils@^0.4.2: version "0.4.3" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.3.tgz#e2a594d3395834d5e15da22b48be13517859458e" dependencies: @@ -8996,9 +9045,9 @@ send@0.16.1: range-parser "~1.2.0" statuses "~1.3.1" -sequelize@4.35.2: - version "4.35.2" - resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-4.35.2.tgz#936db62c0bb63368bdb33ae58e76282aae5ec360" +sequelize@4.36.0: + version "4.36.0" + resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-4.36.0.tgz#769af2b1f0d4498efe7f229040d9524448dba4a8" dependencies: bluebird "^3.5.0" cls-bluebird "^2.1.0" @@ -9327,11 +9376,11 @@ sshpk@^1.7.0: jsbn "~0.1.0" tweetnacl "~0.14.0" -ssri@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.1.0.tgz#2cbf1df36b74d0fc91fcf89640a4b3e1d10b1899" +ssri@^5.2.4: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.2.4.tgz#9985e14041e65fc397af96542be35724ac11da52" dependencies: - safe-buffer "^5.1.0" + safe-buffer "^5.1.1" stack-trace@0.0.9: version "0.0.9" @@ -9478,12 +9527,12 @@ strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" -style-loader@0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.20.2.tgz#851b373c187890331776e9cde359eea9c95ecd00" +style-loader@0.20.3: + version "0.20.3" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.20.3.tgz#ebef06b89dec491bcb1fdb3452e913a6fd1c10c4" dependencies: loader-utils "^1.1.0" - schema-utils "^0.4.3" + schema-utils "^0.4.5" stylehacks@^4.0.0-rc.2: version "4.0.0-rc.2" @@ -9630,6 +9679,10 @@ test-exclude@^4.1.1: read-pkg-up "^1.0.1" require-main-filename "^1.0.1" +text-hex@0.0.x: + version "0.0.0" + resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-0.0.0.tgz#578fbc85a6a92636e42dd17b41d0218cce9eb2b3" + text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -9752,6 +9805,10 @@ trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" +triple-beam@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.1.0.tgz#2ac387c8c4bd04bd26c61df891a6079f8592fe10" + "true-case-path@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.2.tgz#7ec91130924766c7f573be3020c34f8fdfd00d62" @@ -9837,13 +9894,13 @@ uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" -uglifyjs-webpack-plugin@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.2.tgz#e7516d4367afdb715c3847841eb46f94c45ca2b9" +uglifyjs-webpack-plugin@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.3.tgz#bf23197b37a8fc953fecfbcbab66e506f9a0ae72" dependencies: - cacache "^10.0.1" + cacache "^10.0.4" find-cache-dir "^1.0.0" - schema-utils "^0.4.2" + schema-utils "^0.4.5" serialize-javascript "^1.4.0" source-map "^0.6.1" uglify-es "^3.3.4" @@ -10105,9 +10162,9 @@ 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" +vue-apollo@3.0.0-beta.5: + version "3.0.0-beta.5" + resolved "https://registry.yarnpkg.com/vue-apollo/-/vue-apollo-3.0.0-beta.5.tgz#d0aabd19683e50cd1ab2d24e2827e8fb579ff78e" dependencies: lodash.debounce "^4.0.8" lodash.omit "^4.5.0" @@ -10184,9 +10241,9 @@ vue-style-loader@^4.0.1: hash-sum "^1.0.2" loader-utils "^1.0.2" -vue-template-compiler@2.5.13: - version "2.5.13" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.5.13.tgz#12a2aa0ecd6158ac5e5f14d294b0993f399c3d38" +vue-template-compiler@2.5.15: + version "2.5.15" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.5.15.tgz#cc004097e37167be8b85ea22ab2840d8e8cca1c0" dependencies: de-indent "^1.0.2" he "^1.1.0" @@ -10195,13 +10252,13 @@ vue-template-es2015-compiler@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.6.0.tgz#dc42697133302ce3017524356a6c61b7b69b4a18" -vue@2.5.13: - version "2.5.13" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.5.13.tgz#95bd31e20efcf7a7f39239c9aa6787ce8cf578e1" +vue@2.5.15: + version "2.5.15" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.5.15.tgz#fdb67861dde967cd8d1b53116380f2f269b45202" -vuetify@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-1.0.5.tgz#10e83123a78c82e3d9c2efe6734b7f55ba678dd4" +vuetify@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-1.0.6.tgz#da1b7d32d391294688116529af981fef776bc38a" vuex-persistedstate@2.4.2: version "2.4.2" @@ -10416,16 +10473,22 @@ window-size@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" -winston@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/winston/-/winston-2.4.0.tgz#808050b93d52661ed9fb6c26b3f0c826708b0aee" +winston-transport@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-3.0.1.tgz#8008b15eef5660c4fb3fa094d58ccbd08528c58d" + +winston@3.0.0-rc2: + version "3.0.0-rc2" + resolved "https://registry.yarnpkg.com/winston/-/winston-3.0.0-rc2.tgz#c30d043b20822c5f6da4797242108b1c5860a3a2" dependencies: - async "~1.0.0" - colors "1.0.x" - cycle "1.0.x" - eyes "0.1.x" + async "^2.6.0" + diagnostics "^1.0.1" isstream "0.1.x" + logform "^1.2.1" + one-time "0.0.4" stack-trace "0.0.x" + triple-beam "^1.0.1" + winston-transport "^3.0.1" with@^5.0.0: version "5.1.1" @@ -10530,6 +10593,10 @@ y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"