From 51f5c236d6046536c2df13138b891acbe209a6c1 Mon Sep 17 00:00:00 2001 From: NGPixel Date: Fri, 29 Sep 2017 22:32:43 -0400 Subject: [PATCH] feat: updated dependencies --- client/js/components/login.vue | 2 +- package.json | 82 ++++++++++++++++----------------- server/schemas/types.graphql | 16 +++++++ yarn.lock | Bin 272761 -> 276435 bytes 4 files changed, 58 insertions(+), 42 deletions(-) diff --git a/client/js/components/login.vue b/client/js/components/login.vue index 3a56be6b..9db5f58c 100644 --- a/client/js/components/login.vue +++ b/client/js/components/login.vue @@ -39,7 +39,7 @@ export default { siteTitle() { return siteConfig.title } - } + }, methods: { selectProvider(key, useForm) { diff --git a/package.json b/package.json index 05737b09..cb7a94a7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wiki", - "version": "1.0.5", + "version": "2.0.0", "description": "A modern, lightweight and powerful wiki app built on NodeJS, Git and Markdown", "main": "wiki.js", "scripts": { @@ -42,55 +42,55 @@ "axios": "0.16.2", "bcryptjs-then": "1.0.1", "bluebird": "3.5.0", - "body-parser": "1.18.0", - "bull": "3.1.0", + "body-parser": "1.18.2", + "bull": "3.2.0", "bunyan": "1.8.12", "cheerio": "1.0.0-rc.2", "child-process-promise": "2.2.1", "chokidar": "1.7.0", - "compression": "1.7.0", + "compression": "1.7.1", "connect-flash": "0.1.1", - "connect-redis": "3.3.0", + "connect-redis": "3.3.2", "cookie-parser": "1.4.3", "diff2html": "2.3.0", "dotize": "^0.2.0", "execa": "0.8.0", - "express": "4.15.4", + "express": "4.16.1", "express-brute": "1.0.1", "express-brute-redis": "0.0.1", - "express-session": "1.15.5", - "file-type": "6.1.0", + "express-session": "1.15.6", + "file-type": "6.2.0", "filesize.js": "1.0.2", "follow-redirects": "1.2.4", - "fs-extra": "4.0.1", + "fs-extra": "4.0.2", "git-wrapper2-promise": "0.2.9", - "graphql": "0.11.3", - "graphql-tools": "1.2.2", + "graphql": "0.11.6", + "graphql-tools": "1.2.3", "highlight.js": "9.12.0", "i18next": "9.0.0", - "i18next-express-middleware": "1.0.5", + "i18next-express-middleware": "1.0.6", "i18next-localstorage-cache": "^1.1.1", "i18next-node-fs-backend": "1.0.0", "image-size": "0.6.1", "ioredis": "3.1.4", "jimp": "0.2.28", - "js-yaml": "3.9.1", - "jsonwebtoken": "8.0.0", + "js-yaml": "3.10.0", + "jsonwebtoken": "8.0.1", "klaw": "2.1.0", "levelup": "1.3.9", "lodash": "4.17.4", "markdown-it": "8.4.0", "markdown-it-abbr": "1.0.4", "markdown-it-anchor": "4.0.0", - "markdown-it-attrs": "1.1.0", + "markdown-it-attrs": "1.2.0", "markdown-it-emoji": "1.4.0", "markdown-it-expand-tabs": "1.0.12", "markdown-it-external-links": "0.0.6", "markdown-it-footnote": "3.0.1", "markdown-it-mathjax": "2.0.0", "markdown-it-task-lists": "2.0.1", - "mathjax-node": "1.2.0", - "memdown": "1.2.7", + "mathjax-node": "1.2.1", + "memdown": "1.3.1", "mime-types": "2.1.17", "moment": "2.18.1", "moment-timezone": "0.5.13", @@ -101,7 +101,7 @@ "passport": "0.4.0", "passport-azure-ad-oauth2": "0.0.4", "passport-facebook": "2.1.1", - "passport-github2": "0.1.10", + "passport-github2": "0.1.11", "passport-google-oauth20": "1.0.0", "passport-ldapauth": "2.0.0", "passport-local": "1.0.0", @@ -109,48 +109,48 @@ "passport-windowslive": "1.0.2", "pg": "7.3.0", "pg-hstore": "2.3.2", - "pg-promise": "6.5.2", - "pm2": "2.6.1", + "pg-promise": "6.10.1", + "pm2": "2.7.1", "pug": "2.0.0-rc.4", "read-chunk": "2.1.0", "remove-markdown": "0.2.2", - "request": "2.81.0", + "request": "2.83.0", "search-index-adder": "0.3.9", "search-index-searcher": "0.2.10", "semver": "5.4.1", - "sequelize": "4.8.2", - "serve-favicon": "2.4.3", + "sequelize": "4.11.5", + "serve-favicon": "2.4.5", "simplemde": "1.11.2", - "stopword": "0.1.7", + "stopword": "0.1.8", "stream-to-promise": "2.2.0", "tar": "4.0.1", "through2": "2.0.3", - "validator": "8.2.0", + "validator": "9.0.0", "validator-as-promised": "1.0.2", "winston": "2.3.1", - "yargs": "8.0.2" + "yargs": "9.0.1" }, "devDependencies": { "@glimpse/glimpse": "0.22.15", - "@panter/vue-i18next": "0.5.1", + "@panter/vue-i18next": "0.6.1", "apollo-client": "^1.9.3", "babel-cli": "6.26.0", - "babel-jest": "21.0.2", + "babel-jest": "21.2.0", "babel-plugin-transform-object-assign": "6.22.0", "babel-preset-es2015": "6.24.1", "brace": "0.10.0", "colors": "1.1.2", "consolidate": "0.14.5", - "eslint": "4.6.1", + "eslint": "4.8.0", "eslint-config-standard": "10.2.1", "eslint-plugin-import": "2.7.0", - "eslint-plugin-node": "5.1.1", + "eslint-plugin-node": "5.2.0", "eslint-plugin-promise": "3.5.0", "eslint-plugin-standard": "3.0.1", - "fuse-box": "^2.2.31", + "fuse-box": "2.2.31", "graphql-tag": "^2.4.2", - "i18next-xhr-backend": "1.4.2", - "jest": "21.0.2", + "i18next-xhr-backend": "1.4.3", + "jest": "21.2.1", "jquery": "3.2.1", "jquery-contextmenu": "2.6.2", "jquery-simple-upload": "1.0.0", @@ -159,20 +159,20 @@ "lodash-cli": "4.17.4", "lodash-es": "4.17.4", "node-sass": "4.5.3", - "nodemon": "1.12.0", + "nodemon": "1.12.1", "pug-lint": "2.5.0", "twemoji-awesome": "1.0.6", - "typescript": "2.5.2", - "uglify-es": "3.0.28", - "vee-validate": "2.0.0-rc.14", - "vue": "2.4.2", + "typescript": "2.5.3", + "uglify-es": "3.1.2", + "vee-validate": "2.0.0-rc.18", + "vue": "2.4.4", "vue-clipboards": "1.1.0", - "vue-lodash": "1.0.3", + "vue-lodash": "1.0.4", "vue-material": "^0.7.5", "vue-resource": "1.3.4", - "vue-template-compiler": "2.4.2", + "vue-template-compiler": "2.4.4", "vue-template-es2015-compiler": "1.5.3", - "vuex": "2.4.0" + "vuex": "2.4.1" }, "jest": { "collectCoverage": false, diff --git a/server/schemas/types.graphql b/server/schemas/types.graphql index 99bbbf33..c6af303d 100644 --- a/server/schemas/types.graphql +++ b/server/schemas/types.graphql @@ -31,6 +31,14 @@ interface Base { # TYPES +type AuthenticationProvider { + id: String! + useForm: Boolean! + title: String! + props: [String] + config: String +} + type Comment implements Base { id: Int! createdAt: Date @@ -97,6 +105,12 @@ type Right implements Base { group: Group! } +type SearchResult { + path: String + title: String + tags: [String] +} + type Setting implements Base { id: Int! createdAt: Date @@ -139,12 +153,14 @@ type OperationResult { # Query (Read) type Query { + authentication(mode: String!): [AuthenticationProvider] comments(id: Int): [Comment] documents(id: Int, path: String): [Document] files(id: Int): [File] folders(id: Int, name: String): [Folder] groups(id: Int, name: String): [Group] rights(id: Int): [Right] + search(q: String, tags: [String]): [SearchResult] settings(key: String): [Setting] tags(key: String): [Tag] translations(locale: String!, namespace: String!): [Translation] diff --git a/yarn.lock b/yarn.lock index 28796802ef77619f55715dbeb85fe4c7b344db7a..d17a21c4e5a566885c6a6086eebb58858a639146 100644 GIT binary patch delta 12140 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