浏览代码

feat: upgraded dependencies

NGPixel 7 年之前
父节点
当前提交
51cd37fd05
共有 8 个文件被更改,包括 382 次插入336 次删除
  1. 6 3
      client/js/app.js
  2. 1 1
      client/js/components/config-manager.component.js
  3. 45 48
      package.json
  4. 3 3
      server/configure.js
  5. 1 1
      server/modules/telemetry.js
  6. 24 22
      server/views/configure/index.pug
  7. 0 4
      tools/fuse.js
  8. 302 254
      yarn.lock

+ 6 - 3
client/js/app.js

@@ -9,7 +9,9 @@ import Vue from 'vue'
 import VueResource from 'vue-resource'
 import VueResource from 'vue-resource'
 import VueClipboards from 'vue-clipboards'
 import VueClipboards from 'vue-clipboards'
 import VeeValidate from 'vee-validate'
 import VeeValidate from 'vee-validate'
-import { ApolloClient, createBatchingNetworkInterface } from 'apollo-client'
+import { ApolloClient } from 'apollo-client'
+import { HttpLink } from 'apollo-link-http'
+import { InMemoryCache } from 'apollo-cache-inmemory'
 import store from './store'
 import store from './store'
 
 
 // ====================================
 // ====================================
@@ -71,10 +73,11 @@ window.CONSTANTS = CONSTANTS
 // ====================================
 // ====================================
 
 
 window.graphQL = new ApolloClient({
 window.graphQL = new ApolloClient({
-  networkInterface: createBatchingNetworkInterface({
+  link: new HttpLink({
     uri: window.location.protocol + '//' + window.location.host + siteConfig.path + '/graphql'
     uri: window.location.protocol + '//' + window.location.host + siteConfig.path + '/graphql'
   }),
   }),
-  connectToDevTools: true
+  cache: new InMemoryCache(),
+  connectToDevTools: (process.env.node_env === 'development')
 })
 })
 
 
 // ====================================
 // ====================================

+ 1 - 1
client/js/components/config-manager.component.js

@@ -30,7 +30,7 @@ export default {
         telemetry: true,
         telemetry: true,
         upgrade: false,
         upgrade: false,
         title: siteConfig.title || 'Wiki',
         title: siteConfig.title || 'Wiki',
-        host: siteConfig.host || 'http://',
+        path: siteConfig.path || '/',
         port: siteConfig.port || 80,
         port: siteConfig.port || 80,
         lang: siteConfig.lang || 'en',
         lang: siteConfig.lang || 'en',
         public: (siteConfig.public === true),
         public: (siteConfig.public === true),

+ 45 - 48
package.json

@@ -9,8 +9,7 @@
     "restart": "node wiki restart",
     "restart": "node wiki restart",
     "build": "node tools/fuse",
     "build": "node tools/fuse",
     "dev": "node tools/fuse -d",
     "dev": "node tools/fuse -d",
-    "test": "jest",
-    "postinstall": "opencollective postinstall"
+    "test": "jest"
   },
   },
   "bin": {
   "bin": {
     "wiki": "wiki.js"
     "wiki": "wiki.js"
@@ -34,17 +33,17 @@
   },
   },
   "homepage": "https://github.com/Requarks/wiki#readme",
   "homepage": "https://github.com/Requarks/wiki#readme",
   "engines": {
   "engines": {
-    "node": ">=6.11.1"
+    "node": ">=8.8.1"
   },
   },
   "dependencies": {
   "dependencies": {
-    "apollo-server-express": "1.1.3",
+    "apollo-server-express": "1.2.0",
     "auto-load": "3.0.0",
     "auto-load": "3.0.0",
-    "axios": "0.16.2",
+    "axios": "0.17.0",
     "bcryptjs-then": "1.0.1",
     "bcryptjs-then": "1.0.1",
     "bluebird": "3.5.1",
     "bluebird": "3.5.1",
     "body-parser": "1.18.2",
     "body-parser": "1.18.2",
-    "bugsnag": "2.0.0",
-    "bull": "3.3.0",
+    "bugsnag": "2.0.1",
+    "bull": "3.3.5",
     "bunyan": "1.8.12",
     "bunyan": "1.8.12",
     "cheerio": "1.0.0-rc.2",
     "cheerio": "1.0.0-rc.2",
     "child-process-promise": "2.2.1",
     "child-process-promise": "2.2.1",
@@ -53,30 +52,30 @@
     "connect-flash": "0.1.1",
     "connect-flash": "0.1.1",
     "connect-redis": "3.3.2",
     "connect-redis": "3.3.2",
     "cookie-parser": "1.4.3",
     "cookie-parser": "1.4.3",
-    "diff2html": "2.3.1",
+    "diff2html": "2.3.2",
     "dotize": "^0.2.0",
     "dotize": "^0.2.0",
     "execa": "0.8.0",
     "execa": "0.8.0",
-    "express": "4.16.1",
+    "express": "4.16.2",
     "express-brute": "1.0.1",
     "express-brute": "1.0.1",
     "express-brute-redis": "0.0.1",
     "express-brute-redis": "0.0.1",
     "express-session": "1.15.6",
     "express-session": "1.15.6",
-    "file-type": "6.2.0",
+    "file-type": "7.2.0",
     "filesize.js": "1.0.2",
     "filesize.js": "1.0.2",
     "follow-redirects": "1.2.5",
     "follow-redirects": "1.2.5",
     "fs-extra": "4.0.2",
     "fs-extra": "4.0.2",
     "git-wrapper2-promise": "0.2.9",
     "git-wrapper2-promise": "0.2.9",
-    "graphql": "0.10.5",
-    "graphql-tools": "2.2.1",
+    "graphql": "0.11.7",
+    "graphql-tools": "2.6.1",
     "highlight.js": "9.12.0",
     "highlight.js": "9.12.0",
-    "i18next": "9.1.0",
+    "i18next": "10.0.3",
     "i18next-express-middleware": "1.0.7",
     "i18next-express-middleware": "1.0.7",
     "i18next-localstorage-cache": "1.1.1",
     "i18next-localstorage-cache": "1.1.1",
     "i18next-node-fs-backend": "1.0.0",
     "i18next-node-fs-backend": "1.0.0",
     "image-size": "0.6.1",
     "image-size": "0.6.1",
-    "ioredis": "3.1.4",
+    "ioredis": "3.2.1",
     "jimp": "0.2.28",
     "jimp": "0.2.28",
     "js-yaml": "3.10.0",
     "js-yaml": "3.10.0",
-    "jsonwebtoken": "8.0.1",
+    "jsonwebtoken": "8.1.0",
     "klaw": "2.1.0",
     "klaw": "2.1.0",
     "lodash": "4.17.4",
     "lodash": "4.17.4",
     "markdown-it": "8.4.0",
     "markdown-it": "8.4.0",
@@ -88,11 +87,12 @@
     "markdown-it-external-links": "0.0.6",
     "markdown-it-external-links": "0.0.6",
     "markdown-it-footnote": "3.0.1",
     "markdown-it-footnote": "3.0.1",
     "markdown-it-mathjax": "2.0.0",
     "markdown-it-mathjax": "2.0.0",
-    "markdown-it-task-lists": "2.0.1",
+    "markdown-it-task-lists": "2.1.0",
     "mathjax-node": "1.2.1",
     "mathjax-node": "1.2.1",
     "mime-types": "2.1.17",
     "mime-types": "2.1.17",
-    "moment": "2.18.1",
+    "moment": "2.19.1",
     "moment-timezone": "0.5.13",
     "moment-timezone": "0.5.13",
+    "mongodb": "2.2.33",
     "multer": "1.3.0",
     "multer": "1.3.0",
     "node-2fa": "1.1.2",
     "node-2fa": "1.1.2",
     "node-graceful": "0.2.3",
     "node-graceful": "0.2.3",
@@ -106,76 +106,73 @@
     "passport-local": "1.0.0",
     "passport-local": "1.0.0",
     "passport-slack": "0.0.7",
     "passport-slack": "0.0.7",
     "passport-windowslive": "1.0.2",
     "passport-windowslive": "1.0.2",
-    "pg": "6.4.2",
+    "pg": "7.3.0",
     "pg-hstore": "2.3.2",
     "pg-hstore": "2.3.2",
-    "pg-promise": "6.10.3",
-    "pm2": "2.7.1",
+    "pg-promise": "7.0.3",
+    "pm2": "2.7.2",
     "pug": "2.0.0-rc.4",
     "pug": "2.0.0-rc.4",
     "qr-image": "3.2.0",
     "qr-image": "3.2.0",
     "read-chunk": "2.1.0",
     "read-chunk": "2.1.0",
     "remove-markdown": "0.2.2",
     "remove-markdown": "0.2.2",
     "request": "2.83.0",
     "request": "2.83.0",
     "semver": "5.4.1",
     "semver": "5.4.1",
-    "sequelize": "4.13.5",
+    "sequelize": "4.19.0",
     "serve-favicon": "2.4.5",
     "serve-favicon": "2.4.5",
     "simplemde": "1.11.2",
     "simplemde": "1.11.2",
     "stream-to-promise": "2.2.0",
     "stream-to-promise": "2.2.0",
-    "tar": "4.0.1",
+    "tar": "4.0.2",
     "through2": "2.0.3",
     "through2": "2.0.3",
     "uuid": "3.1.0",
     "uuid": "3.1.0",
-    "validator": "9.0.0",
+    "validator": "9.1.1",
     "validator-as-promised": "1.0.2",
     "validator-as-promised": "1.0.2",
     "winston": "2.4.0",
     "winston": "2.4.0",
-    "yargs": "9.0.1"
+    "yargs": "10.0.3"
   },
   },
   "devDependencies": {
   "devDependencies": {
     "@glimpse/glimpse": "0.22.15",
     "@glimpse/glimpse": "0.22.15",
-    "@panter/vue-i18next": "0.6.1",
-    "apollo-client": "^1.9.3",
-    "autoprefixer": "7.1.5",
+    "@panter/vue-i18next": "0.8.0",
+    "apollo-client-preset": "1.0.1",
+    "autoprefixer": "7.1.6",
     "babel-cli": "6.26.0",
     "babel-cli": "6.26.0",
     "babel-core": "6.26.0",
     "babel-core": "6.26.0",
     "babel-jest": "21.2.0",
     "babel-jest": "21.2.0",
-    "babel-preset-env": "1.6.0",
+    "babel-preset-env": "1.6.1",
     "babel-preset-es2015": "6.24.1",
     "babel-preset-es2015": "6.24.1",
     "babel-preset-stage-2": "6.24.1",
     "babel-preset-stage-2": "6.24.1",
     "brace": "0.10.0",
     "brace": "0.10.0",
     "colors": "1.1.2",
     "colors": "1.1.2",
     "consolidate": "0.14.5",
     "consolidate": "0.14.5",
-    "eslint": "4.8.0",
+    "eslint": "4.10.0",
     "eslint-config-requarks": "1.0.7",
     "eslint-config-requarks": "1.0.7",
     "eslint-config-standard": "10.2.1",
     "eslint-config-standard": "10.2.1",
-    "eslint-plugin-import": "2.7.0",
-    "eslint-plugin-node": "5.2.0",
-    "eslint-plugin-promise": "3.5.0",
+    "eslint-plugin-import": "2.8.0",
+    "eslint-plugin-node": "5.2.1",
+    "eslint-plugin-promise": "3.6.0",
     "eslint-plugin-standard": "3.0.1",
     "eslint-plugin-standard": "3.0.1",
-    "fuse-box": "2.3.3",
-    "graphql-tag": "^2.4.2",
+    "fuse-box": "2.4.0",
+    "graphql-tag": "^2.5.0",
     "i18next-xhr-backend": "1.4.3",
     "i18next-xhr-backend": "1.4.3",
     "jest": "21.2.1",
     "jest": "21.2.1",
     "jest-junit": "3.1.0",
     "jest-junit": "3.1.0",
-    "jquery": "3.2.1",
-    "jquery-contextmenu": "2.6.2",
-    "jquery-simple-upload": "1.0.0",
-    "js-cookie": "2.1.4",
+    "js-cookie": "2.2.0",
     "node-sass": "4.5.3",
     "node-sass": "4.5.3",
     "nodemon": "1.12.1",
     "nodemon": "1.12.1",
-    "postcss-selector-parser": "2.2.3",
+    "postcss-selector-parser": "3.1.0",
     "pug-lint": "2.5.0",
     "pug-lint": "2.5.0",
     "twemoji-awesome": "1.0.6",
     "twemoji-awesome": "1.0.6",
     "typescript": "2.5.3",
     "typescript": "2.5.3",
-    "uglify-es": "3.1.3",
-    "vee-validate": "2.0.0-rc.18",
-    "vue": "2.4.4",
+    "uglify-es": "3.1.5",
+    "vee-validate": "2.0.0-rc.19",
+    "vue": "2.5.2",
     "vue-clipboards": "1.1.0",
     "vue-clipboards": "1.1.0",
-    "vue-hot-reload-api": "2.1.1",
+    "vue-hot-reload-api": "2.2.0",
     "vue-lodash": "1.0.4",
     "vue-lodash": "1.0.4",
-    "vue-material": "^0.7.5",
+    "vue-material": "^0.8.1",
     "vue-resource": "1.3.4",
     "vue-resource": "1.3.4",
-    "vue-simple-breakpoints": "1.0.2",
-    "vue-template-compiler": "2.4.4",
-    "vue-template-es2015-compiler": "1.5.3",
-    "vuex": "2.4.1",
+    "vue-simple-breakpoints": "1.0.3",
+    "vue-template-compiler": "2.5.2",
+    "vue-template-es2015-compiler": "1.6.0",
+    "vuex": "3.0.0",
     "vuex-persistedstate": "2.0.0"
     "vuex-persistedstate": "2.0.0"
   },
   },
   "jest": {
   "jest": {

+ 3 - 3
server/configure.js

@@ -77,10 +77,10 @@ module.exports = () => {
     Promise.mapSeries([
     Promise.mapSeries([
       () => {
       () => {
         const semver = require('semver')
         const semver = require('semver')
-        if (!semver.satisfies(semver.clean(process.version), '>=6.11.1')) {
-          throw new Error('Node.js version is too old. Minimum is 6.11.1.')
+        if (!semver.satisfies(semver.clean(process.version), '>=8.8.1')) {
+          throw new Error('Node.js version is too old. Minimum is 8.8.1.')
         }
         }
-        return 'Node.js ' + process.version + ' detected. Minimum is 6.11.1.'
+        return 'Node.js ' + process.version + ' detected. Minimum is 8.8.1.'
       },
       },
       () => {
       () => {
         return Promise.try(() => {
         return Promise.try(() => {

+ 1 - 1
server/modules/telemetry.js

@@ -31,7 +31,7 @@ module.exports = {
     return this
     return this
   },
   },
   sendError(err) {
   sendError(err) {
-    bugsnag.notify(err)
+    bugsnag.notify(err, { userId: this.cid })
   },
   },
   sendEvent(eventCategory, eventAction, eventLabel) {
   sendEvent(eventCategory, eventAction, eventLabel) {
     if (!this.enabled) { return false }
     if (!this.enabled) { return false }

+ 24 - 22
server/views/configure/index.pug

@@ -80,33 +80,35 @@ block body
                         label.label Site Title
                         label.label Site Title
                         input(type='text', placeholder='e.g. Wiki', v-model='conf.title', data-vv-scope='general', name='ipt-title', v-validate='{ required: true, min: 2 }')
                         input(type='text', placeholder='e.g. Wiki', v-model='conf.title', data-vv-scope='general', name='ipt-title', v-validate='{ required: true, min: 2 }')
                         span.desc The site title will appear in the top left corner on every page and within the window title bar.
                         span.desc The site title will appear in the top left corner on every page and within the window title bar.
-                    section
-                      p.control.is-fullwidth
-                        label.label Host
-                        input(type='text', placeholder='http://', v-model='conf.host', data-vv-scope='general', name='ipt-host', v-validate='{ required: true, min: 4 }')
-                        span.desc The full URL to your wiki, without the trailing slash, e.g.: http://wiki.domain.com. Make sure to include the port if different than 80/443.
-                    section
-                      p.control
-                        label.label Port
-                        input(type='text', placeholder='e.g. 80', v-model.number='conf.port', data-vv-scope='general', name='ipt-port', v-validate='{ required: true }')
-                        span.desc The port on which Wiki.js will listen to. Usually port 80 if connecting directly, or a random port (e.g. 3000) if using a web server in front of it.<br>Set <strong>$(PORT)</strong> to use PORT environment variable.
-                    section
-                      p.control
-                        label.label Site UI Language
-                        select(v-model='conf.lang')
-                          each lg in data.langs
-                            option(value=lg.id)= lg.name
-                        span.desc The language in which navigation, help and other UI elements will be displayed.
+                    section.columns
+                      .column.is-half
+                        p.control
+                          label.label Port
+                          input(type='text', placeholder='e.g. 80', v-model.number='conf.port', data-vv-scope='general', name='ipt-port', v-validate='{ required: true }')
+                          span.desc The port on which Wiki.js will listen to. Usually port 80 if connecting directly, or a random port (e.g. 3000) if using a web server in front of it. Set #[strong $(PORT)] to use the PORT environment variable.
+                      .column.is-half
+                        p.control.is-fullwidth
+                          label.label Site Relative Path
+                          input(type='text', placeholder='/', v-model='conf.path', data-vv-scope='general', name='ipt-path', v-validate='{ required: true, min: 1 }')
+                          span.desc The relative path to your wiki. Unless you configure a reverse proxy in front of Wiki.js to handle requests made to a sub-directory, #[strong it is recommended to leave the default value].
+                    section.columns
+                      .column.is-half
+                        p.control
+                          label.label Site UI Language
+                          select(v-model='conf.lang')
+                            each lg in data.langs
+                              option(value=lg.id)= lg.name
+                          span.desc The language in which navigation, help and other UI elements will be displayed.
+                      .column.is-half
+                        p.control.is-fullwidth
+                          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.
                     section
                     section
                       p.control.is-fullwidth
                       p.control.is-fullwidth
                         label.label Local Repository Path
                         label.label Local Repository Path
                         input(type='text', placeholder='e.g. ./repo', v-model='conf.pathRepo', data-vv-scope='general', name='ipt-repopath', v-validate='{ required: true, min: 2 }')
                         input(type='text', placeholder='e.g. ./repo', v-model='conf.pathRepo', data-vv-scope='general', name='ipt-repopath', v-validate='{ required: true, min: 2 }')
                         span.desc The path where the local git repository will be created, used to store content in markdown files and uploads.#[br] #[strong It is recommended to leave the default value].
                         span.desc The path where the local git repository will be created, used to store content in markdown files and uploads.#[br] #[strong It is recommended to leave the default value].
-                    section
-                      p.control.is-fullwidth
-                        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.
                   .panel-footer
                   .panel-footer
                     .progress-bar: div(v-bind:style='{width: currentProgress}')
                     .progress-bar: div(v-bind:style='{width: currentProgress}')
                     button.button.is-small.is-light-blue.is-outlined(v-on:click='proceedToSyscheck', v-bind:disabled='loading') Back
                     button.button.is-small.is-light-blue.is-outlined(v-on:click='proceedToSyscheck', v-bind:disabled='loading') Back

+ 0 - 4
tools/fuse.js

@@ -47,10 +47,6 @@ const ALIASES = {
   'vue-resource': (dev) ? 'vue-resource/dist/vue-resource.js' : 'vue-resource/dist/vue-resource.es2015.js'
   'vue-resource': (dev) ? 'vue-resource/dist/vue-resource.js' : 'vue-resource/dist/vue-resource.es2015.js'
 }
 }
 const SHIMS = {
 const SHIMS = {
-  jquery: {
-    source: '../node_modules/jquery/dist/jquery.js',
-    exports: '$'
-  },
   diff2html: {
   diff2html: {
     source: '../node_modules/diff2html/dist/diff2html.min.js',
     source: '../node_modules/diff2html/dist/diff2html.min.js',
     exports: 'Diff2Html'
     exports: 'Diff2Html'

文件差异内容过多而无法显示
+ 302 - 254
yarn.lock


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