浏览代码

feat: db + redis error handling, setup options, updated deps

NGPixel 7 年之前
父节点
当前提交
ba1d83ebcb

+ 1 - 1
client/js/app.js

@@ -13,7 +13,7 @@ import { ApolloClient } from 'apollo-client'
 import { HttpLink } from 'apollo-link-http'
 import { InMemoryCache } from 'apollo-cache-inmemory'
 import store from './store'
-import icons from '../svg/icons.svg'
+import icons from '../svg/nc-icons.svg'
 // ====================================
 // Load Modules
 // ====================================

+ 3 - 0
client/js/components/config-manager.component.js

@@ -32,6 +32,8 @@ export default {
         adminPasswordConfirm: '',
         gitAuthPass: '',
         gitAuthSSHKey: '',
+        gitAuthSSHKeyEnv: '',
+        gitAuthSSHKeyDB: '',
         gitAuthSSL: true,
         gitAuthType: 'ssh',
         gitAuthUser: '',
@@ -46,6 +48,7 @@ export default {
         pathRepo: './repo',
         port: siteConfig.port || 80,
         public: (siteConfig.public === true),
+        selfregister: (siteConfig.selfregister === true),
         telemetry: true,
         title: siteConfig.title || 'Wiki',
         upgrade: false

+ 4 - 13
client/scss/components/config-manager.scss

@@ -1,5 +1,5 @@
 .config-manager {
-  background-image: linear-gradient(to right, mc('indigo', '400'), mc('indigo', '600'));
+  background-image: linear-gradient(to bottom right, mc('blue', '500'), mc('blue', '700'));
   background-repeat: no-repeat;
   width: 100%;
   min-height: 100%;
@@ -20,7 +20,7 @@
   .welcome {
     text-align: center;
     padding: 1rem 0 2rem 0;
-    border-bottom: 1px solid mc('indigo', '50');
+    border-bottom: 1px solid mc('blue', '50');
     margin-bottom: 1rem;
 
     img {
@@ -38,7 +38,7 @@
   .is-logo {
     text-align: center;
     padding: .5rem 0 1.5rem 0;
-    border-bottom: 1px solid mc('indigo', '50');
+    border-bottom: 1px solid mc('blue', '50');
     margin-bottom: 1rem;
     display: flex;
     justify-content: center;
@@ -58,16 +58,7 @@
 
   i.icon-loader {
     display: inline-block;
-    color: mc('indigo', '500')
-  }
-  i.ui-1_check-simple {
-    color: mc('green', '500')
-  }
-  i.ui-2_ban-bold {
-    color: mc('red', '500')
-  }
-  i.icon-warning-outline {
-    color: mc('orange', '500')
+    color: mc('blue', '500')
   }
 
   .progress-bar {

+ 35 - 1
client/scss/components/form.scss

@@ -36,7 +36,11 @@
     &.is-dirty.is-invalid {
       border-color: mc('red', '500');
       box-shadow: inset 0 0 5px 0 mc('red', '100');
-    }
+		}
+		
+		@include placeholder {
+			color: mc('grey', '400');
+		}
 
 	}
 
@@ -48,6 +52,36 @@
 
 	}
 
+	textarea {
+		background-color: #FFF;
+		display: flex;
+		padding: 6px 12px;
+		border: 1px solid mc('grey', '400');
+		border-radius: 3px;
+		font-family: $core-font-standard;
+		font-size: 14px;
+		color: mc('grey', '700');
+		transition: all .4s ease;
+		box-shadow: inset 0 0 5px 0 rgba(0,0,0,0.1);
+		min-height: 100px;
+
+		&:focus {
+			outline: none;
+			border-color: mc('light-blue', '500');
+			box-shadow: inset 0 0 5px 0 rgba(mc('light-blue', '500'), 0.3);
+		}
+
+		&:disabled {
+			background-color: mc('grey', '100');
+		}
+
+    &.is-dirty.is-invalid {
+      border-color: mc('red', '500');
+      box-shadow: inset 0 0 5px 0 mc('red', '100');
+		}
+
+	}
+
 	// ===============================================================
 	// DROPDOWN
 	// ===============================================================

+ 2 - 2
client/scss/components/panel.scss

@@ -32,8 +32,8 @@
     &.is-featured {
       border-top-left-radius: 4px;
       border-top-right-radius: 4px;
-      background-color: mc('indigo', '400');
-      border-bottom-color: mc('indigo', '500');
+      background-color: mc('blue', '700');
+      border-bottom-color: mc('blue', '900');
       color: #FFF;
 
       > i::before {

文件差异内容过多而无法显示
+ 0 - 0
client/svg/nc-icons.svg


+ 25 - 25
package.json

@@ -38,12 +38,12 @@
   "dependencies": {
     "apollo-server-express": "1.2.0",
     "auto-load": "3.0.0",
-    "axios": "0.17.0",
+    "axios": "0.17.1",
     "bcryptjs-then": "1.0.1",
     "bluebird": "3.5.1",
     "body-parser": "1.18.2",
     "bugsnag": "2.0.1",
-    "bull": "3.3.5",
+    "bull": "3.3.6",
     "bunyan": "1.8.12",
     "cheerio": "1.0.0-rc.2",
     "child-process-promise": "2.2.1",
@@ -65,9 +65,9 @@
     "fs-extra": "4.0.2",
     "git-wrapper2-promise": "0.2.9",
     "graphql": "0.11.7",
-    "graphql-tools": "2.6.1",
+    "graphql-tools": "2.7.2",
     "highlight.js": "9.12.0",
-    "i18next": "10.0.3",
+    "i18next": "10.0.7",
     "i18next-express-middleware": "1.0.7",
     "i18next-localstorage-cache": "1.1.1",
     "i18next-node-fs-backend": "1.0.0",
@@ -90,8 +90,8 @@
     "markdown-it-task-lists": "2.1.0",
     "mathjax-node": "1.2.1",
     "mime-types": "2.1.17",
-    "moment": "2.19.1",
-    "moment-timezone": "0.5.13",
+    "moment": "2.19.2",
+    "moment-timezone": "0.5.14",
     "mongodb": "2.2.33",
     "multer": "1.3.0",
     "node-2fa": "1.1.2",
@@ -106,9 +106,9 @@
     "passport-local": "1.0.0",
     "passport-slack": "0.0.7",
     "passport-windowslive": "1.0.2",
-    "pg": "7.3.0",
+    "pg": "7.4.0",
     "pg-hstore": "2.3.2",
-    "pg-promise": "7.0.3",
+    "pg-promise": "7.3.1",
     "pm2": "2.7.2",
     "pug": "2.0.0-rc.4",
     "qr-image": "3.2.0",
@@ -116,7 +116,7 @@
     "remove-markdown": "0.2.2",
     "request": "2.83.0",
     "semver": "5.4.1",
-    "sequelize": "4.19.0",
+    "sequelize": "4.22.6",
     "serve-favicon": "2.4.5",
     "simplemde": "1.11.2",
     "stream-to-promise": "2.2.0",
@@ -130,8 +130,8 @@
   },
   "devDependencies": {
     "@glimpse/glimpse": "0.22.15",
-    "@panter/vue-i18next": "0.8.0",
-    "apollo-client-preset": "1.0.1",
+    "@panter/vue-i18next": "0.8.1",
+    "apollo-client-preset": "1.0.2",
     "autoprefixer": "7.1.6",
     "babel-cli": "6.26.0",
     "babel-core": "6.26.0",
@@ -141,8 +141,8 @@
     "babel-preset-stage-2": "6.24.1",
     "brace": "0.10.0",
     "colors": "1.1.2",
-    "consolidate": "0.14.5",
-    "eslint": "4.10.0",
+    "consolidate": "0.15.0",
+    "eslint": "4.11.0",
     "eslint-config-requarks": "1.0.7",
     "eslint-config-standard": "10.2.1",
     "eslint-plugin-import": "2.8.0",
@@ -150,31 +150,31 @@
     "eslint-plugin-promise": "3.6.0",
     "eslint-plugin-standard": "3.0.1",
     "eslint-plugin-vue": "3.13.1",
-    "fuse-box": "2.4.0",
+    "fuse-box": "2.5.0-beta.1",
     "graphql-tag": "^2.5.0",
-    "i18next-xhr-backend": "1.4.3",
+    "i18next-xhr-backend": "1.5.0",
     "jest": "21.2.1",
     "jest-junit": "3.1.0",
     "js-cookie": "2.2.0",
-    "node-sass": "4.5.3",
+    "node-sass": "4.6.1",
     "nodemon": "1.12.1",
-    "postcss-selector-parser": "3.1.0",
+    "postcss-selector-parser": "3.1.1",
     "pug-lint": "2.5.0",
     "twemoji-awesome": "1.0.6",
-    "typescript": "2.5.3",
-    "uglify-es": "3.1.5",
-    "vee-validate": "2.0.0-rc.19",
-    "vue": "2.5.2",
+    "typescript": "2.6.1",
+    "uglify-es": "3.1.9",
+    "vee-validate": "2.0.0-rc.21",
+    "vue": "2.5.3",
     "vue-clipboards": "1.1.0",
-    "vue-hot-reload-api": "2.2.0",
+    "vue-hot-reload-api": "2.2.3",
     "vue-lodash": "1.0.4",
     "vue-material": "^0.8.1",
     "vue-resource": "1.3.4",
     "vue-simple-breakpoints": "1.0.3",
-    "vue-template-compiler": "2.5.2",
+    "vue-template-compiler": "2.5.3",
     "vue-template-es2015-compiler": "1.6.0",
-    "vuex": "3.0.0",
-    "vuex-persistedstate": "2.0.0"
+    "vuex": "3.0.1",
+    "vuex-persistedstate": "2.3.2"
   },
   "jest": {
     "testResultsProcessor": "./node_modules/jest-junit",

+ 2 - 3
server/modules/db.js

@@ -1,5 +1,3 @@
-'use strict'
-
 /* global wiki */
 
 const fs = require('fs')
@@ -85,7 +83,8 @@ module.exports = {
       wiki.logger.info('Database (PostgreSQL) connection: OK')
     }).catch(err => {
       wiki.logger.error('Failed to connect to PostgreSQL instance.')
-      return err
+      wiki.logger.error(err)
+      process.exit(1)
     })
 
     // Load DB Models

+ 4 - 0
server/modules/redis.js

@@ -23,6 +23,10 @@ module.exports = {
       red.on('ready', () => {
         wiki.logger.info('Redis connection: OK')
       })
+      red.on('error', () => {
+        wiki.logger.error('Failed to connect to Redis instance!')
+        process.exit(1)
+      })
       return red
     } else {
       wiki.logger.error('Invalid Redis configuration!')

+ 41 - 13
server/views/configure/index.pug

@@ -81,7 +81,7 @@ block body
                   .panel-content.form-sections
                     section
                       .is-logo
-                        svg.icons.is-64: use(xlink:href='#nc-butterfly')
+                        svg.icons.is-64: use(xlink:href='#nc-webpage-2-2')
                         h4 General Information
                       p.control.is-fullwidth
                         label.label Site Title
@@ -111,6 +111,10 @@ block body
                           input#ipt-public(type='checkbox', v-model='conf.public', data-vv-scope='general', name='ipt-public')
                           label.label(for='ipt-public') Public Access
                           span.desc Should the site be accessible (read only) without login.
+                        p.control.is-fullwidth
+                          input#ipt-selfregister(type='checkbox', v-model='conf.selfregister', data-vv-scope='general', name='ipt-selfregister')
+                          label.label(for='ipt-selfregister') Allow Self-Registration
+                          span.desc Can users create their own account to gain access?
                     section
                       p.control.is-fullwidth
                         label.label Local Server Repository Path
@@ -141,7 +145,7 @@ block body
                         li - Do not rewrite URLs after the domain. This can cause unexpected issues in Wiki.js navigation.
                         li - Do not remove or alter the client IP when proxying the requests. This can cause the authentication brute force protection to engage unexpectedly.
                     template(v-if='considerations.https')
-                      h3 The site will not be using HTTPS? #[i.nc-icon-outline.ui-3_alert.animated.fadeOut.infinite]
+                      h3 The site will not be using HTTPS? #[svg.icons.is-20.is-outlined.animated.fadeOut.infinite: use(xlink:href='#nc-alert')]
                       p The host URL you specified is not HTTPS. It is highly recommended to use HTTPS. You must use a web server / proxy (e.g. nginx / apache / IIS) in front of Wiki.js to use HTTPS. Wiki.js does not provide HTTPS handling by itself.
                     template(v-if='considerations.port')
                       h3 You are using a non-standard port.
@@ -182,8 +186,10 @@ block body
                         p.control.is-fullwidth
                           label.label Authentication
                           select(v-model='conf.gitAuthType')
-                            option(value='ssh') SSH (recommended)
-                            option(value='basic') Basic
+                            option(value='ssh') SSH using Private Key file (recommended)
+                            option(value='sshenv') SSH using Private Key in env. variable
+                            option(value='sshdb') SSH using Private Key in database
+                            option(value='basic') Basic Credentials
                           span.desc The authentication method used to connect to your remote Git repository.
                         p.control.is-fullwidth
                           input#ipt-git-verify-ssl(type='checkbox', v-model='conf.gitAuthSSL')
@@ -203,6 +209,16 @@ block body
                           label.label Private Key location
                           input(type='text', placeholder='e.g. /etc/wiki/keys/git.pem', v-model='conf.gitAuthSSHKey')
                           span.desc The full path to the private key on disk.
+                      .column(v-show='conf.gitAuthType === "sshenv"')
+                        p.control.is-fullwidth
+                          label.label Private Key Environment Variable
+                          input(type='text', placeholder='e.g. GIT_PRIVATE_KEY', v-model='conf.gitAuthSSHKeyEnv')
+                          span.desc The environment variable containing the private key.
+                      .column(v-show='conf.gitAuthType === "sshdb"')
+                        p.control.is-fullwidth
+                          label.label Private Key Contents
+                          textarea(v-model='conf.gitAuthSSHKeyDB')
+                          span.desc Paste the contents of the private key in the above field
                     section.columns
                       .column.is-one-third
                         p.control.is-fullwidth
@@ -227,9 +243,12 @@ block body
               template(v-else-if='state === "gitcheck"')
                 .panel
                   h2.panel-title.is-featured
-                    span Git Repository Check
+                    span Wiki.js
                     i(v-if='loading')
                   .panel-content.is-text
+                    .is-logo
+                      img(src='svg/logo-git.svg', alt='Git Logo')
+                      h4 Git Repository Check
                     p(v-if='loading') #[svg.icons.is-24.is-text: use(xlink:href='#nc-ms-dots')] Verifying Git repository settings...
                     p(v-if='!loading && gitcheck.ok')
                       ul
@@ -251,9 +270,12 @@ block body
               template(v-else-if='state === "admin"')
                 .panel
                   h2.panel-title.is-featured
-                    span Administrator Account
+                    span Wiki.js
                     i(v-if='loading')
                   .panel-content.is-text
+                    .is-logo
+                      svg.icons.is-64: use(xlink:href='#nc-man-38')
+                      h4 Administrator Account
                     p A root administrator account will be created for local authentication. From this account, you can create or authorize more users.
                   .panel-content.form-sections
                     section
@@ -284,9 +306,12 @@ block body
               template(v-else-if='state === "upgrade"')
                 .panel
                   h2.panel-title.is-featured
-                    span Upgrade from Wiki.js 1.x
+                    span Wiki.js
                     i(v-if='loading')
                   .panel-content.is-text
+                    .is-logo
+                      svg.icons.is-64: use(xlink:href='#nc-spaceship')
+                      h4 Upgrade from Wiki.js 1.x
                     p Migrating from a Wiki.js 1.x installation is quick and simple.
                   .panel-content.form-sections
                     section
@@ -311,16 +336,19 @@ block body
               template(v-else-if='state === "final"')
                 .panel
                   h2.panel-title.is-featured
-                    span Finalizing
+                    span Wiki.js
                     i(v-if='loading')
                   .panel-content.is-text
-                    p(v-if='loading') #[i.icon-loader.animated.rotateIn.infinite] Finalizing your installation...
-                    p(v-if='!loading && final.ok')
-                      i.icon-check
-                      strong  Wiki.js was configured successfully and is now ready for use.
+                    .is-logo(v-if='loading')
+                      svg.icons.is-64: use(xlink:href='#nc-ms-dots')
+                      h4 Finalizing your installation...
+                    .is-logo(v-if='!loading && final.ok')
+                      svg.icons.is-64: use(xlink:href='#nc-check-bold')
+                      h4 All done!
+                    p(v-if='!loading && final.ok'): strong Wiki.js was configured successfully and is now ready for use.
                     p(v-if='!loading && final.ok')
                       | Click the <strong>Start</strong> button below to start the Wiki.js server.
-                    p(v-if='!loading && !final.ok') #[i.icon-square-cross] Error: {{ final.error }}
+                    p(v-if='!loading && !final.ok') #[svg.icons.is-18.is-text: use(xlink:href='#nc-square-remove-12')] Error: {{ final.error }}
                   .panel-footer
                     .progress-bar: div(v-bind:style='{width: currentProgress}')
                     button.button.is-small.is-light-blue.is-outlined(v-on:click='proceedToAdmin', v-bind:disabled='loading') Back

+ 5 - 2
tools/fuse.js

@@ -41,7 +41,6 @@ if (dev) {
 const ALIASES = {
   'brace-ext-modelist': 'brace/ext/modelist.js',
   'simplemde': 'simplemde/dist/simplemde.min.js',
-  'socket-io-client': 'socket.io-client/dist/socket.io.js',
   'vue': (dev) ? 'vue/dist/vue.js' : 'vue/dist/vue.min.js',
   'vue-lodash': 'vue-lodash/dist/vue-lodash.min.js',
   'vue-resource': (dev) ? 'vue-resource/dist/vue-resource.js' : 'vue-resource/dist/vue-resource.es2015.js'
@@ -80,7 +79,11 @@ const scssChain = [
       browsers: babelrc.presets[0][1].targets.browsers
     })
   ]),
-  fsbx.CSSPlugin()
+  fsbx.CSSPlugin(dev ? {} : {
+    group: 'bundle.css',
+    outFile: './assets/css/bundle.css',
+    inject: false
+  })
 ]
 
 globalTasks.then(() => {

+ 148 - 119
yarn.lock

@@ -58,15 +58,15 @@
     command-line-usage "^4.0.0"
     lodash "^4.15.0"
 
-"@panter/vue-i18next@0.8.0":
-  version "0.8.0"
-  resolved "https://registry.yarnpkg.com/@panter/vue-i18next/-/vue-i18next-0.8.0.tgz#8f9c069a0ed76fa1634290c4fae200151bbc7630"
+"@panter/vue-i18next@0.8.1":
+  version "0.8.1"
+  resolved "https://registry.yarnpkg.com/@panter/vue-i18next/-/vue-i18next-0.8.1.tgz#e05f64512c3801376e3da84e2598ea41fd523e17"
   dependencies:
     deepmerge "^2.0.0"
 
-"@types/async@2.0.44":
-  version "2.0.44"
-  resolved "https://registry.yarnpkg.com/@types/async/-/async-2.0.44.tgz#e846150fd1f5a3243cec7c1f5bb49f58241092ee"
+"@types/async@2.0.45":
+  version "2.0.45"
+  resolved "https://registry.yarnpkg.com/@types/async/-/async-2.0.45.tgz#0cfe971d7ed5542695740338e0455c91078a0e83"
 
 "@types/express-serve-static-core@*":
   version "4.0.49"
@@ -120,6 +120,10 @@
     "@types/express-serve-static-core" "*"
     "@types/mime" "*"
 
+"@types/zen-observable@^0.5.3":
+  version "0.5.3"
+  resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.5.3.tgz#91b728599544efbb7386d8b6633693a3c2e7ade5"
+
 abab@^1.0.3:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d"
@@ -183,6 +187,10 @@ acorn@^5.1.2:
   version "5.1.2"
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.2.tgz#911cb53e036807cf0fa778dc5d370fbd864246d7"
 
+acorn@^5.2.1:
+  version "5.2.1"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7"
+
 ajax-request@^1.2.0:
   version "1.2.3"
   resolved "https://registry.yarnpkg.com/ajax-request/-/ajax-request-1.2.3.tgz#99fcbec1d6d2792f85fa949535332bd14f5f3790"
@@ -210,14 +218,14 @@ ajv@^5.1.0:
     json-schema-traverse "^0.3.0"
     json-stable-stringify "^1.0.1"
 
-ajv@^5.2.0:
-  version "5.2.2"
-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.2.tgz#47c68d69e86f5d953103b0074a9430dc63da5e39"
+ajv@^5.3.0:
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.3.0.tgz#4414ff74a50879c208ee5fdc826e32c303549eda"
   dependencies:
     co "^4.6.0"
     fast-deep-equal "^1.0.0"
+    fast-json-stable-stringify "^2.0.0"
     json-schema-traverse "^0.3.0"
-    json-stable-stringify "^1.0.1"
 
 align-text@^0.1.1, align-text@^0.1.3:
   version "0.1.4"
@@ -324,35 +332,37 @@ apollo-cache@^1.0.0:
   dependencies:
     apollo-utilities "^1.0.0"
 
-apollo-client-preset@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/apollo-client-preset/-/apollo-client-preset-1.0.1.tgz#c772d179d73e535787978b56096b198d87ca543a"
+apollo-client-preset@1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/apollo-client-preset/-/apollo-client-preset-1.0.2.tgz#ca14f718ac48eae6df6f54763ba0026d25d12761"
   dependencies:
     apollo-cache-inmemory "^1.0.0"
-    apollo-client "^2.0.1"
+    apollo-client "^2.0.2"
     apollo-link "1.0.0"
-    apollo-link-http "1.0.0"
+    apollo-link-http "1.1.0"
     graphql-tag "^2.4.2"
 
-apollo-client@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.0.1.tgz#7f50b5281ff53796f8548c35a85aa73a5d62b2a2"
+apollo-client@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.0.2.tgz#f2b01898c404c867fc2bd8edf7c3ccded2b96fc6"
   dependencies:
+    "@types/zen-observable" "^0.5.3"
     apollo-cache "^1.0.0"
     apollo-link "1.0.0"
     apollo-link-dedup "1.0.0"
     apollo-utilities "^1.0.0"
     symbol-observable "^1.0.2"
+    zen-observable "^0.6.0"
   optionalDependencies:
-    "@types/async" "2.0.44"
+    "@types/async" "2.0.45"
 
 apollo-link-dedup@1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/apollo-link-dedup/-/apollo-link-dedup-1.0.0.tgz#f0134ac495cc42e7e43dfafe7126645baa1e03bc"
 
-apollo-link-http@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/apollo-link-http/-/apollo-link-http-1.0.0.tgz#0450be89ae7e080722383c302f07135d364bc749"
+apollo-link-http@1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/apollo-link-http/-/apollo-link-http-1.1.0.tgz#a85cc43d9a5286bb54ac32213f7a16bef3554ae4"
 
 apollo-link@1.0.0:
   version "1.0.0"
@@ -386,15 +396,11 @@ apollo-tracing@^0.1.0:
   dependencies:
     graphql-extensions "^0.0.x"
 
-apollo-utilities@^0.1.1-0:
-  version "0.1.1-1"
-  resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-0.1.1-1.tgz#a637c2a5b49e06f20dd9adf7c55ec1ff69a97592"
-
 apollo-utilities@^0.2.0-beta.0:
   version "0.2.0-beta.2"
   resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-0.2.0-beta.2.tgz#95b61e00fa0cb67f6af65921484bca33114d55e1"
 
-apollo-utilities@^1.0.0:
+apollo-utilities@^1.0.0, apollo-utilities@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.0.1.tgz#34b4df0bd6ed71d0afaa7c62489173dca5d07e92"
 
@@ -569,11 +575,11 @@ aws4@^1.2.1, aws4@^1.6.0:
   version "1.6.0"
   resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
 
-axios@0.17.0:
-  version "0.17.0"
-  resolved "https://registry.yarnpkg.com/axios/-/axios-0.17.0.tgz#7da747916db803f761651d6091d708789b953c6a"
+axios@0.17.1:
+  version "0.17.1"
+  resolved "https://registry.yarnpkg.com/axios/-/axios-0.17.1.tgz#2d8e3e5d0bdbd7327f91bc814f5c57660f81824d"
   dependencies:
-    follow-redirects "^1.2.3"
+    follow-redirects "^1.2.5"
     is-buffer "^1.1.5"
 
 babel-cli@6.26.0:
@@ -1562,9 +1568,9 @@ builtin-modules@^1.0.0, builtin-modules@^1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
 
-bull@3.3.5:
-  version "3.3.5"
-  resolved "https://registry.yarnpkg.com/bull/-/bull-3.3.5.tgz#34e992f111a53665e84657d711487d61446317cf"
+bull@3.3.6:
+  version "3.3.6"
+  resolved "https://registry.yarnpkg.com/bull/-/bull-3.3.6.tgz#d622add5c434af1612e3197f62c89270a8fe1449"
   dependencies:
     bluebird "^3.5.0"
     cron-parser "^2.4.1"
@@ -1967,9 +1973,9 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
 
-consolidate@0.14.5:
-  version "0.14.5"
-  resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.14.5.tgz#5a25047bc76f73072667c8cb52c989888f494c63"
+consolidate@0.15.0:
+  version "0.15.0"
+  resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.0.tgz#397918901297d5f657d0a6514a30502245a20980"
   dependencies:
     bluebird "^3.1.1"
 
@@ -2188,7 +2194,7 @@ debug@2.6.9, debug@^2.6.9:
   dependencies:
     ms "2.0.0"
 
-debug@^2.1.1, debug@^2.1.2, debug@^2.2.0, debug@^2.4.5, debug@^2.6.3, debug@^2.6.8:
+debug@^2.1.1, debug@^2.1.2, debug@^2.2.0, debug@^2.6.3, debug@^2.6.8:
   version "2.6.8"
   resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
   dependencies:
@@ -2238,6 +2244,10 @@ deepmerge@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.0.0.tgz#35f7ee08e8bde1173b3a529f732dcda67ce82e29"
 
+deepmerge@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.0.1.tgz#25c1c24f110fb914f80001b925264dd77f3f4312"
+
 default-require-extensions@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8"
@@ -2589,11 +2599,11 @@ eslint-scope@^3.7.1:
     esrecurse "^4.1.0"
     estraverse "^4.1.1"
 
-eslint@4.10.0:
-  version "4.10.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.10.0.tgz#f25d0d7955c81968c2309aa5c9a229e045176bb7"
+eslint@4.11.0:
+  version "4.11.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.11.0.tgz#39a8c82bc0a3783adf5a39fa27fdd9d36fac9a34"
   dependencies:
-    ajv "^5.2.0"
+    ajv "^5.3.0"
     babel-code-frame "^6.22.0"
     chalk "^2.1.0"
     concat-stream "^1.6.0"
@@ -2601,7 +2611,7 @@ eslint@4.10.0:
     debug "^3.0.1"
     doctrine "^2.0.0"
     eslint-scope "^3.7.1"
-    espree "^3.5.1"
+    espree "^3.5.2"
     esquery "^1.0.0"
     estraverse "^4.2.0"
     esutils "^2.0.2"
@@ -2614,7 +2624,7 @@ eslint@4.10.0:
     inquirer "^3.0.6"
     is-resolvable "^1.0.0"
     js-yaml "^3.9.1"
-    json-stable-stringify "^1.0.1"
+    json-stable-stringify-without-jsonify "^1.0.1"
     levn "^0.3.0"
     lodash "^4.17.4"
     minimatch "^3.0.2"
@@ -2631,13 +2641,20 @@ eslint@4.10.0:
     table "^4.0.1"
     text-table "~0.2.0"
 
-espree@^3.3.2, espree@^3.5.1:
+espree@^3.3.2:
   version "3.5.1"
   resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.1.tgz#0c988b8ab46db53100a1954ae4ba995ddd27d87e"
   dependencies:
     acorn "^5.1.1"
     acorn-jsx "^3.0.0"
 
+espree@^3.5.2:
+  version "3.5.2"
+  resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.2.tgz#756ada8b979e9dcfcdb30aad8d1a9304a905e1ca"
+  dependencies:
+    acorn "^5.2.1"
+    acorn-jsx "^3.0.0"
+
 esprima@^2.6.0, esprima@^2.7.1:
   version "2.7.3"
   resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
@@ -2952,6 +2969,10 @@ 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"
 
+fast-json-stable-stringify@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
+
 fast-levenshtein@~2.0.4:
   version "2.0.6"
   resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
@@ -3107,18 +3128,12 @@ fliplog@^0.3.13:
   dependencies:
     chain-able "^1.0.1"
 
-follow-redirects@1.2.5:
+follow-redirects@1.2.5, follow-redirects@^1.2.5:
   version "1.2.5"
   resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.2.5.tgz#ffd3e14cbdd5eaa72f61b6368c1f68516c2a26cc"
   dependencies:
     debug "^2.6.9"
 
-follow-redirects@^1.2.3:
-  version "1.2.4"
-  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.2.4.tgz#355e8f4d16876b43f577b0d5ce2668b9723214ea"
-  dependencies:
-    debug "^2.4.5"
-
 for-each@^0.3.2:
   version "0.3.2"
   resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.2.tgz#2c40450b9348e97f281322593ba96704b9abd4d4"
@@ -3238,9 +3253,9 @@ functional-red-black-tree@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
 
-fuse-box@2.4.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/fuse-box/-/fuse-box-2.4.0.tgz#da0d0752d7a22f83fda8222e717b329fe823f910"
+fuse-box@2.5.0-beta.1:
+  version "2.5.0-beta.1"
+  resolved "https://registry.yarnpkg.com/fuse-box/-/fuse-box-2.5.0-beta.1.tgz#14d1660a7f865a505cc17c71434715bae9ddce51"
   dependencies:
     acorn "^5.1.2"
     acorn-jsx "^4.0.1"
@@ -3469,11 +3484,11 @@ graphql-tag@^2.4.2, graphql-tag@^2.5.0:
   version "2.5.0"
   resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.5.0.tgz#b43bfd8b5babcd2c205ad680c03e98b238934e0f"
 
-graphql-tools@2.6.1:
-  version "2.6.1"
-  resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-2.6.1.tgz#9f6d1600951a05b18b83c52986c42eee4fd3cb1b"
+graphql-tools@2.7.2:
+  version "2.7.2"
+  resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-2.7.2.tgz#03104a155b15f8441b0e5a7113b12b9512341a9e"
   dependencies:
-    apollo-utilities "^0.1.1-0"
+    apollo-utilities "^1.0.1"
     deprecated-decorator "^0.1.6"
     uuid "^3.1.0"
 
@@ -3687,13 +3702,13 @@ i18next-node-fs-backend@1.0.0:
     js-yaml "3.5.4"
     json5 "0.5.0"
 
-i18next-xhr-backend@1.4.3:
-  version "1.4.3"
-  resolved "https://registry.yarnpkg.com/i18next-xhr-backend/-/i18next-xhr-backend-1.4.3.tgz#d72f70536a3bf6a3892261dde352bc77d708886a"
+i18next-xhr-backend@1.5.0:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/i18next-xhr-backend/-/i18next-xhr-backend-1.5.0.tgz#fee4ae803879b824bef865a77d6eb6164a8d61f1"
 
-i18next@10.0.3:
-  version "10.0.3"
-  resolved "https://registry.yarnpkg.com/i18next/-/i18next-10.0.3.tgz#f81553d27b4137e98979a0c62698894cff6b3667"
+i18next@10.0.7:
+  version "10.0.7"
+  resolved "https://registry.yarnpkg.com/i18next/-/i18next-10.0.7.tgz#4a4aac2aa21804b8ca1d19b15726bee10fbda6b4"
 
 iconv-lite@0.4.13:
   version "0.4.13"
@@ -4541,6 +4556,10 @@ json-schema@0.2.3:
   version "0.2.3"
   resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
 
+json-stable-stringify-without-jsonify@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+
 json-stable-stringify@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
@@ -5241,15 +5260,21 @@ mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
   dependencies:
     minimist "0.0.8"
 
-moment-timezone@0.5.13, moment-timezone@^0.5.0, moment-timezone@^0.5.4, moment-timezone@^0.5.x:
+moment-timezone@0.5.14:
+  version "0.5.14"
+  resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.14.tgz#4eb38ff9538b80108ba467a458f3ed4268ccfcb1"
+  dependencies:
+    moment ">= 2.9.0"
+
+moment-timezone@^0.5.0, moment-timezone@^0.5.4, moment-timezone@^0.5.x:
   version "0.5.13"
   resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.13.tgz#99ce5c7d827262eb0f1f702044177f60745d7b90"
   dependencies:
     moment ">= 2.9.0"
 
-moment@2.19.1:
-  version "2.19.1"
-  resolved "https://registry.yarnpkg.com/moment/-/moment-2.19.1.tgz#56da1a2d1cbf01d38b7e1afc31c10bcfa1929167"
+moment@2.19.2:
+  version "2.19.2"
+  resolved "https://registry.yarnpkg.com/moment/-/moment-2.19.2.tgz#8a7f774c95a64550b4c7ebd496683908f9419dbe"
 
 "moment@>= 2.9.0", moment@^2.10.6, moment@^2.13.0, moment@^2.16.1, moment@^2.18:
   version "2.18.1"
@@ -5401,9 +5426,9 @@ node-pre-gyp@^0.6.36:
     tar "^2.2.1"
     tar-pack "^3.4.0"
 
-node-sass@4.5.3:
-  version "4.5.3"
-  resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.5.3.tgz#d09c9d1179641239d1b97ffc6231fdcec53e1568"
+node-sass@4.6.1:
+  version "4.6.1"
+  resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.6.1.tgz#9b331cf943ee5440f199e858941a90d13bc9bfc5"
   dependencies:
     async-foreach "^0.1.3"
     chalk "^1.1.1"
@@ -5421,7 +5446,7 @@ node-sass@4.5.3:
     node-gyp "^3.3.1"
     npmlog "^4.0.0"
     request "^2.79.0"
-    sass-graph "^2.1.1"
+    sass-graph "^2.2.4"
     stdout-stream "^1.4.0"
 
 node-version@^1.0.0:
@@ -5545,10 +5570,6 @@ object-keys@^1.0.8:
   version "1.0.11"
   resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
 
-object-path@^0.11.2:
-  version "0.11.4"
-  resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949"
-
 object.omit@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
@@ -5944,14 +5965,14 @@ pg-pool@~2.0.3:
   version "2.0.3"
   resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-2.0.3.tgz#c022032c8949f312a4f91fb6409ce04076be3257"
 
-pg-promise@7.0.3:
-  version "7.0.3"
-  resolved "https://registry.yarnpkg.com/pg-promise/-/pg-promise-7.0.3.tgz#81d9e20c214117cb917fbcc163425b835db614e3"
+pg-promise@7.3.1:
+  version "7.3.1"
+  resolved "https://registry.yarnpkg.com/pg-promise/-/pg-promise-7.3.1.tgz#6163cadc50fe99ca23433d4eb900e0a175af1bac"
   dependencies:
     manakin "~0.5.1"
-    pg "~7.3.0"
+    pg "~7.4.0"
     pg-minify "~0.5.3"
-    spex "~2.0.0"
+    spex "~2.0.1"
 
 pg-types@~1.12.1:
   version "1.12.1"
@@ -5962,9 +5983,9 @@ pg-types@~1.12.1:
     postgres-date "~1.0.0"
     postgres-interval "^1.1.0"
 
-pg@7.3.0, pg@~7.3.0:
-  version "7.3.0"
-  resolved "https://registry.yarnpkg.com/pg/-/pg-7.3.0.tgz#275e27466e54a645f6b4a16f6acadf6b849ad83b"
+pg@7.4.0, pg@~7.4.0:
+  version "7.4.0"
+  resolved "https://registry.yarnpkg.com/pg/-/pg-7.4.0.tgz#e256061d2c52723c3c858defb97f1159ca660f83"
   dependencies:
     buffer-writer "1.0.1"
     js-string-escape "1.0.1"
@@ -6098,9 +6119,9 @@ pngjs@^3.0.0:
   version "3.2.0"
   resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.2.0.tgz#fc9fcea1a8a375da54a51148019d5abd41dbabde"
 
-postcss-selector-parser@3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.0.tgz#7984a6c2897747756b5a0235935782b0ee054a5c"
+postcss-selector-parser@3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865"
   dependencies:
     dot-prop "^4.1.1"
     indexes-of "^1.0.1"
@@ -6834,7 +6855,7 @@ sane@^2.0.0:
   optionalDependencies:
     fsevents "^1.1.1"
 
-sass-graph@^2.1.1:
+sass-graph@^2.2.4:
   version "2.2.4"
   resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"
   dependencies:
@@ -6946,9 +6967,9 @@ send@0.16.1:
     range-parser "~1.2.0"
     statuses "~1.3.1"
 
-sequelize@4.19.0:
-  version "4.19.0"
-  resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-4.19.0.tgz#761b77c1fbe48e54b3fe058ebab446b9eaaec0e9"
+sequelize@4.22.6:
+  version "4.22.6"
+  resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-4.22.6.tgz#33bc0c2e6367e22b08c5abd04472ae771fed0626"
   dependencies:
     bluebird "^3.4.6"
     cls-bluebird "^2.0.1"
@@ -7054,6 +7075,10 @@ shorthash@0.0.2:
   version "0.0.2"
   resolved "https://registry.yarnpkg.com/shorthash/-/shorthash-0.0.2.tgz#59b268eecbde59038b30da202bcfbddeb2c4a4eb"
 
+shvl@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/shvl/-/shvl-1.1.1.tgz#1379655ad2b54f8de1a0d73db4f6ea2f40132352"
+
 signal-exit@^3.0.0, signal-exit@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
@@ -7146,9 +7171,9 @@ spdx-license-ids@^1.0.2:
   version "1.2.2"
   resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
 
-spex@~2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/spex/-/spex-2.0.0.tgz#63e1b8655159a32028eb6a237ffb0589e85f3c32"
+spex@~2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/spex/-/spex-2.0.1.tgz#928c5c75b1a490f7203f49bccd967622dba4d3d3"
 
 split@0.3:
   version "0.3.3"
@@ -7565,9 +7590,9 @@ typedarray@^0.0.6:
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
 
-typescript@2.5.3:
-  version "2.5.3"
-  resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.5.3.tgz#df3dcdc38f3beb800d4bc322646b04a3f6ca7f0d"
+typescript@2.6.1:
+  version "2.6.1"
+  resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.1.tgz#ef39cdea27abac0b500242d6726ab90e0c846631"
 
 typical@^2.6.0, typical@^2.6.1:
   version "2.6.1"
@@ -7581,9 +7606,9 @@ uc.micro@^1.0.1, uc.micro@^1.0.3:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.3.tgz#7ed50d5e0f9a9fb0a573379259f2a77458d50192"
 
-uglify-es@3.1.5:
-  version "3.1.5"
-  resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.1.5.tgz#63bae0fd4f9feeda417fee7c0ff685a673819683"
+uglify-es@3.1.9:
+  version "3.1.9"
+  resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.1.9.tgz#6c82df628ac9eb7af9c61fd70c744a084abe6161"
   dependencies:
     commander "~2.11.0"
     source-map "~0.6.1"
@@ -7770,9 +7795,9 @@ vasync@^1.6.4:
   dependencies:
     verror "1.6.0"
 
-vee-validate@2.0.0-rc.19:
-  version "2.0.0-rc.19"
-  resolved "https://registry.yarnpkg.com/vee-validate/-/vee-validate-2.0.0-rc.19.tgz#4b96311d13c4d0ab3f5810da159a841e217b2e65"
+vee-validate@2.0.0-rc.21:
+  version "2.0.0-rc.21"
+  resolved "https://registry.yarnpkg.com/vee-validate/-/vee-validate-2.0.0-rc.21.tgz#82563ec6832117f1df58dfc3440d85714cd31392"
 
 verror@1.3.6:
   version "1.3.6"
@@ -7820,9 +7845,9 @@ vue-eslint-parser@^2.0.1-beta.1:
     esquery "^1.0.0"
     lodash "^4.17.4"
 
-vue-hot-reload-api@2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.2.0.tgz#9a21b35ced3634434a43ee80efb7350ea8fb206d"
+vue-hot-reload-api@2.2.3:
+  version "2.2.3"
+  resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.2.3.tgz#43c8e5506d65a271d2571936d77253019fd3eb17"
 
 vue-lodash@1.0.4:
   version "1.0.4"
@@ -7846,9 +7871,9 @@ vue-simple-breakpoints@1.0.3:
   dependencies:
     simple-breakpoints "^1.1.1"
 
-vue-template-compiler@2.5.2:
-  version "2.5.2"
-  resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.5.2.tgz#6f198ebc677b8f804315cd33b91e849315ae7177"
+vue-template-compiler@2.5.3:
+  version "2.5.3"
+  resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.5.3.tgz#ab631b0694e211a6aaf0d800102b37836aae36a4"
   dependencies:
     de-indent "^1.0.2"
     he "^1.1.0"
@@ -7857,20 +7882,24 @@ 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.2, vue@^2.4.4:
+vue@2.5.3:
+  version "2.5.3"
+  resolved "https://registry.yarnpkg.com/vue/-/vue-2.5.3.tgz#e1a3b1f49b6e93e574ce040b95cbc873912fecc1"
+
+vue@^2.4.4:
   version "2.5.2"
   resolved "https://registry.yarnpkg.com/vue/-/vue-2.5.2.tgz#fd367a87bae7535e47f9dc5c9ec3b496e5feb5a4"
 
-vuex-persistedstate@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/vuex-persistedstate/-/vuex-persistedstate-2.0.0.tgz#b84f530da4679bdf694c5ddf65c23033aa79b1bb"
+vuex-persistedstate@2.3.2:
+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/vuex-persistedstate/-/vuex-persistedstate-2.3.2.tgz#cfbb68032ca95b3be35d6d695b98136d5d72aa89"
   dependencies:
-    lodash.merge "^4.6.0"
-    object-path "^0.11.2"
+    deepmerge "^2.0.1"
+    shvl "^1.1.1"
 
-vuex@3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.0.0.tgz#98b4b5c4954b1c1c1f5b29fa0476a23580315814"
+vuex@3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.0.1.tgz#e761352ebe0af537d4bb755a9b9dc4be3df7efd2"
 
 vxx@^1.2.0:
   version "1.2.2"

部分文件因为文件数量过多而无法显示