mirror of
https://github.com/requarks/wiki.git
synced 2026-08-26 13:17:10 -05:00
chore: update dependencies
This commit is contained in:
@@ -251,7 +251,7 @@ export async function up (knex) {
|
|||||||
table.string('contentType').notNullable()
|
table.string('contentType').notNullable()
|
||||||
table.boolean('isBrowsable').notNullable().defaultTo(true)
|
table.boolean('isBrowsable').notNullable().defaultTo(true)
|
||||||
table.boolean('isSearchable').notNullable().defaultTo(true)
|
table.boolean('isSearchable').notNullable().defaultTo(true)
|
||||||
table.specificType('isSearchableComputed', `boolean GENERATED ALWAYS AS ("publishState" != 'draft' AND "isSearchable") STORED`).index()
|
table.specificType('isSearchableComputed', 'boolean GENERATED ALWAYS AS ("publishState" != \'draft\' AND "isSearchable") STORED').index()
|
||||||
table.string('password')
|
table.string('password')
|
||||||
table.integer('ratingScore').notNullable().defaultTo(0)
|
table.integer('ratingScore').notNullable().defaultTo(0)
|
||||||
table.integer('ratingCount').notNullable().defaultTo(0)
|
table.integer('ratingCount').notNullable().defaultTo(0)
|
||||||
@@ -422,7 +422,7 @@ export async function up (knex) {
|
|||||||
.createTable('autocomplete', table => {
|
.createTable('autocomplete', table => {
|
||||||
table.text('word')
|
table.text('word')
|
||||||
})
|
})
|
||||||
.raw(`CREATE INDEX "autocomplete_idx" ON "autocomplete" USING GIN (word gin_trgm_ops)`)
|
.raw('CREATE INDEX "autocomplete_idx" ON "autocomplete" USING GIN (word gin_trgm_ops)')
|
||||||
|
|
||||||
// =====================================
|
// =====================================
|
||||||
// DEFAULT DATA
|
// DEFAULT DATA
|
||||||
@@ -584,7 +584,7 @@ export async function up (knex) {
|
|||||||
hostname: '*',
|
hostname: '*',
|
||||||
isEnabled: true,
|
isEnabled: true,
|
||||||
config: {
|
config: {
|
||||||
title: 'My Wiki Site',
|
title: 'Default Site',
|
||||||
description: '',
|
description: '',
|
||||||
company: '',
|
company: '',
|
||||||
contentLicense: '',
|
contentLicense: '',
|
||||||
@@ -818,7 +818,7 @@ export async function up (knex) {
|
|||||||
isCustom: false,
|
isCustom: false,
|
||||||
isEnabled: true,
|
isEnabled: true,
|
||||||
config: {},
|
config: {},
|
||||||
siteId: siteId
|
siteId
|
||||||
})
|
})
|
||||||
|
|
||||||
// -> NAVIGATION
|
// -> NAVIGATION
|
||||||
@@ -868,7 +868,7 @@ export async function up (knex) {
|
|||||||
children: []
|
children: []
|
||||||
}
|
}
|
||||||
]),
|
]),
|
||||||
siteId: siteId
|
siteId
|
||||||
})
|
})
|
||||||
|
|
||||||
// -> STORAGE MODULE
|
// -> STORAGE MODULE
|
||||||
|
|||||||
@@ -1,56 +0,0 @@
|
|||||||
const _ = require('lodash')
|
|
||||||
|
|
||||||
// ------------------------------------
|
|
||||||
// Azure AD Account
|
|
||||||
// ------------------------------------
|
|
||||||
|
|
||||||
const OIDCStrategy = require('passport-azure-ad').OIDCStrategy
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
init (passport, conf) {
|
|
||||||
// Workaround for Chrome's SameSite cookies
|
|
||||||
// cookieSameSite needs useCookieInsteadOfSession to work correctly.
|
|
||||||
// cookieEncryptionKeys is extracted from conf.cookieEncryptionKeyString.
|
|
||||||
// It's a concatnation of 44-character length strings each of which represents a single pair of key/iv.
|
|
||||||
// Valid cookieEncryptionKeys enables both cookieSameSite and useCookieInsteadOfSession.
|
|
||||||
const keyArray = [];
|
|
||||||
if (conf.cookieEncryptionKeyString) {
|
|
||||||
let keyString = conf.cookieEncryptionKeyString;
|
|
||||||
while (keyString.length >= 44) {
|
|
||||||
keyArray.push({ key: keyString.substring(0, 32), iv: keyString.substring(32, 44) });
|
|
||||||
keyString = keyString.substring(44);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
passport.use(conf.key,
|
|
||||||
new OIDCStrategy({
|
|
||||||
identityMetadata: conf.entryPoint,
|
|
||||||
clientID: conf.clientId,
|
|
||||||
redirectUrl: conf.callbackURL,
|
|
||||||
responseType: 'id_token',
|
|
||||||
responseMode: 'form_post',
|
|
||||||
scope: ['profile', 'email', 'openid'],
|
|
||||||
allowHttpForRedirectUrl: WIKI.IS_DEBUG,
|
|
||||||
passReqToCallback: true,
|
|
||||||
cookieSameSite: keyArray.length > 0,
|
|
||||||
useCookieInsteadOfSession: keyArray.length > 0,
|
|
||||||
cookieEncryptionKeys: keyArray
|
|
||||||
}, async (req, iss, sub, profile, cb) => {
|
|
||||||
const usrEmail = _.get(profile, '_json.email', null) || _.get(profile, '_json.preferred_username')
|
|
||||||
try {
|
|
||||||
const user = await WIKI.db.users.processProfile({
|
|
||||||
providerKey: req.params.strategy,
|
|
||||||
profile: {
|
|
||||||
id: profile.oid,
|
|
||||||
displayName: profile.displayName,
|
|
||||||
email: usrEmail,
|
|
||||||
picture: ''
|
|
||||||
}
|
|
||||||
})
|
|
||||||
cb(null, user)
|
|
||||||
} catch (err) {
|
|
||||||
cb(err, null)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
key: azure
|
|
||||||
title: Azure Active Directory
|
|
||||||
description: Azure Active Directory (Azure AD) is Microsoft's multi-tenant, cloud-based directory, and identity management service that combines core directory services, application access management, and identity protection into a single solution.
|
|
||||||
author: requarks.io
|
|
||||||
logo: https://static.requarks.io/logo/azure.svg
|
|
||||||
icon: /_assets/icons/ultraviolet-azure.svg
|
|
||||||
color: blue darken-3
|
|
||||||
website: https://azure.microsoft.com/services/active-directory/
|
|
||||||
isAvailable: true
|
|
||||||
useForm: false
|
|
||||||
scopes:
|
|
||||||
- profile
|
|
||||||
- email
|
|
||||||
- openid
|
|
||||||
props:
|
|
||||||
entryPoint:
|
|
||||||
type: String
|
|
||||||
title: Identity Metadata Endpoint
|
|
||||||
hint: The metadata endpoint provided by the Microsoft Identity Portal that provides the keys and other important information at runtime.
|
|
||||||
order: 1
|
|
||||||
clientId:
|
|
||||||
type: String
|
|
||||||
title: Client ID
|
|
||||||
hint: The client ID of your application in AAD (Azure Active Directory)
|
|
||||||
order: 2
|
|
||||||
cookieEncryptionKeyString:
|
|
||||||
type: String
|
|
||||||
title: Cookie Encryption Key String
|
|
||||||
hint: Random string with 44-character length. Setting this enables workaround for Chrome's SameSite cookies.
|
|
||||||
order: 3
|
|
||||||
+14
-15
@@ -37,13 +37,13 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@apollo/server": "4.11.3",
|
"@apollo/server": "4.11.3",
|
||||||
"@azure/storage-blob": "12.26.0",
|
"@azure/storage-blob": "12.27.0",
|
||||||
"@exlinc/keycloak-passport": "1.0.2",
|
"@exlinc/keycloak-passport": "1.0.2",
|
||||||
"@graphql-tools/schema": "10.0.20",
|
"@graphql-tools/schema": "10.0.23",
|
||||||
"@graphql-tools/utils": "10.8.3",
|
"@graphql-tools/utils": "10.8.6",
|
||||||
"@hexagon/base64": "2.0.4",
|
"@hexagon/base64": "2.0.4",
|
||||||
"@joplin/turndown-plugin-gfm": "1.0.61",
|
"@joplin/turndown-plugin-gfm": "1.0.61",
|
||||||
"@node-saml/passport-saml": "5.0.0",
|
"@node-saml/passport-saml": "5.0.1",
|
||||||
"@root/csr": "0.8.1",
|
"@root/csr": "0.8.1",
|
||||||
"@root/keypairs": "0.10.3",
|
"@root/keypairs": "0.10.3",
|
||||||
"@root/pem": "1.0.4",
|
"@root/pem": "1.0.4",
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
"connect-session-knex": "5.0.0",
|
"connect-session-knex": "5.0.0",
|
||||||
"cookie-parser": "1.4.7",
|
"cookie-parser": "1.4.7",
|
||||||
"cors": "2.8.5",
|
"cors": "2.8.5",
|
||||||
"cron-parser": "5.0.4",
|
"cron-parser": "5.0.6",
|
||||||
"cuint": "0.2.2",
|
"cuint": "0.2.2",
|
||||||
"custom-error-instance": "2.1.2",
|
"custom-error-instance": "2.1.2",
|
||||||
"dependency-graph": "1.0.0",
|
"dependency-graph": "1.0.0",
|
||||||
@@ -76,19 +76,19 @@
|
|||||||
"express": "4.21.2",
|
"express": "4.21.2",
|
||||||
"express-brute": "1.0.1",
|
"express-brute": "1.0.1",
|
||||||
"express-session": "1.18.1",
|
"express-session": "1.18.1",
|
||||||
"file-type": "20.4.0",
|
"file-type": "20.4.1",
|
||||||
"filesize": "10.1.6",
|
"filesize": "10.1.6",
|
||||||
"fs-extra": "11.3.0",
|
"fs-extra": "11.3.0",
|
||||||
"getos": "3.2.1",
|
"getos": "3.2.1",
|
||||||
"graphql": "16.10.0",
|
"graphql": "16.10.0",
|
||||||
"graphql-list-fields": "2.0.4",
|
"graphql-list-fields": "2.0.4",
|
||||||
"graphql-rate-limit-directive": "2.0.6",
|
"graphql-rate-limit-directive": "2.0.6",
|
||||||
"graphql-tools": "9.0.15",
|
"graphql-tools": "9.0.18",
|
||||||
"graphql-upload": "17.0.0",
|
"graphql-upload": "17.0.0",
|
||||||
"gray-matter": "4.0.3",
|
"gray-matter": "4.0.3",
|
||||||
"he": "1.2.0",
|
"he": "1.2.0",
|
||||||
"highlight.js": "11.11.1",
|
"highlight.js": "11.11.1",
|
||||||
"image-size": "2.0.0",
|
"image-size": "2.0.1",
|
||||||
"js-base64": "3.7.7",
|
"js-base64": "3.7.7",
|
||||||
"js-binary": "1.2.0",
|
"js-binary": "1.2.0",
|
||||||
"js-yaml": "4.1.0",
|
"js-yaml": "4.1.0",
|
||||||
@@ -117,8 +117,8 @@
|
|||||||
"mathjax": "3.2.2",
|
"mathjax": "3.2.2",
|
||||||
"mime-types": "2.1.35",
|
"mime-types": "2.1.35",
|
||||||
"ms": "2.1.3",
|
"ms": "2.1.3",
|
||||||
"multer": "1.4.5-lts.1",
|
"multer": "1.4.5-lts.2",
|
||||||
"nanoid": "5.1.2",
|
"nanoid": "5.1.5",
|
||||||
"node-2fa": "2.0.3",
|
"node-2fa": "2.0.3",
|
||||||
"node-cache": "5.1.2",
|
"node-cache": "5.1.2",
|
||||||
"nodemailer": "6.10.0",
|
"nodemailer": "6.10.0",
|
||||||
@@ -126,7 +126,6 @@
|
|||||||
"octokit": "4.1.2",
|
"octokit": "4.1.2",
|
||||||
"passport": "0.7.0",
|
"passport": "0.7.0",
|
||||||
"passport-auth0": "1.4.4",
|
"passport-auth0": "1.4.4",
|
||||||
"passport-azure-ad": "4.3.5",
|
|
||||||
"passport-cas": "0.1.1",
|
"passport-cas": "0.1.1",
|
||||||
"passport-discord": "0.1.4",
|
"passport-discord": "0.1.4",
|
||||||
"passport-dropbox-oauth2": "1.1.0",
|
"passport-dropbox-oauth2": "1.1.0",
|
||||||
@@ -144,15 +143,15 @@
|
|||||||
"passport-slack-oauth2": "1.2.0",
|
"passport-slack-oauth2": "1.2.0",
|
||||||
"passport-twitch-strategy": "2.2.0",
|
"passport-twitch-strategy": "2.2.0",
|
||||||
"pem-jwk": "2.0.0",
|
"pem-jwk": "2.0.0",
|
||||||
"pg": "8.13.3",
|
"pg": "8.14.1",
|
||||||
"pg-hstore": "2.3.4",
|
"pg-hstore": "2.3.4",
|
||||||
"pg-pubsub": "0.8.1",
|
"pg-pubsub": "0.8.1",
|
||||||
"pg-query-stream": "4.7.3",
|
"pg-query-stream": "4.8.1",
|
||||||
"pg-tsquery": "8.4.2",
|
"pg-tsquery": "8.4.2",
|
||||||
"poolifier": "4.4.5",
|
"poolifier": "4.4.5",
|
||||||
"prom-client": "15.1.3",
|
"prom-client": "15.1.3",
|
||||||
"punycode": "2.3.1",
|
"punycode": "2.3.1",
|
||||||
"puppeteer-core": "24.3.0",
|
"puppeteer-core": "24.4.0",
|
||||||
"qr-image": "3.2.0",
|
"qr-image": "3.2.0",
|
||||||
"remove-markdown": "0.6.0",
|
"remove-markdown": "0.6.0",
|
||||||
"safe-regex": "2.1.1",
|
"safe-regex": "2.1.1",
|
||||||
@@ -176,7 +175,7 @@
|
|||||||
"yargs": "17.7.2"
|
"yargs": "17.7.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "9.21.0",
|
"eslint": "9.23.0",
|
||||||
"eslint-plugin-import": "2.31.0",
|
"eslint-plugin-import": "2.31.0",
|
||||||
"eslint-plugin-node": "11.1.0",
|
"eslint-plugin-node": "11.1.0",
|
||||||
"eslint-plugin-promise": "7.2.1",
|
"eslint-plugin-promise": "7.2.1",
|
||||||
|
|||||||
Generated
+303
-523
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,7 @@
|
|||||||
import js from '@eslint/js'
|
import js from '@eslint/js'
|
||||||
import neostandard from 'neostandard'
|
import neostandard from 'neostandard'
|
||||||
import pluginVue from 'eslint-plugin-vue'
|
import pluginVue from 'eslint-plugin-vue'
|
||||||
|
import pluginVuePug from 'eslint-plugin-vue-pug'
|
||||||
import vueParser from 'vue-eslint-parser'
|
import vueParser from 'vue-eslint-parser'
|
||||||
import { FlatCompat } from '@eslint/eslintrc'
|
import { FlatCompat } from '@eslint/eslintrc'
|
||||||
|
|
||||||
@@ -9,10 +10,8 @@ const compat = new FlatCompat()
|
|||||||
export default [
|
export default [
|
||||||
js.configs.recommended,
|
js.configs.recommended,
|
||||||
...pluginVue.configs['flat/essential'],
|
...pluginVue.configs['flat/essential'],
|
||||||
|
...pluginVuePug.configs['flat/recommended'],
|
||||||
...neostandard(),
|
...neostandard(),
|
||||||
...compat.extends(
|
|
||||||
'plugin:vue-pug/vue3-recommended'
|
|
||||||
),
|
|
||||||
{
|
{
|
||||||
ignores: [
|
ignores: [
|
||||||
'/dist',
|
'/dist',
|
||||||
|
|||||||
+17
-17
@@ -11,7 +11,7 @@
|
|||||||
"build": "NODE_OPTIONS=--max-old-space-size=8192 vite build --emptyOutDir"
|
"build": "NODE_OPTIONS=--max-old-space-size=8192 vite build --emptyOutDir"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@apollo/client": "3.13.1",
|
"@apollo/client": "3.13.5",
|
||||||
"@lezer/common": "1.2.3",
|
"@lezer/common": "1.2.3",
|
||||||
"@mdi/font": "7.4.47",
|
"@mdi/font": "7.4.47",
|
||||||
"@quasar/extras": "1.16.17",
|
"@quasar/extras": "1.16.17",
|
||||||
@@ -82,13 +82,13 @@
|
|||||||
"prosemirror-commands": "1.7.0",
|
"prosemirror-commands": "1.7.0",
|
||||||
"prosemirror-history": "1.4.1",
|
"prosemirror-history": "1.4.1",
|
||||||
"prosemirror-keymap": "1.2.2",
|
"prosemirror-keymap": "1.2.2",
|
||||||
"prosemirror-model": "1.24.1",
|
"prosemirror-model": "1.25.0",
|
||||||
"prosemirror-schema-list": "1.5.0",
|
"prosemirror-schema-list": "1.5.1",
|
||||||
"prosemirror-state": "1.4.3",
|
"prosemirror-state": "1.4.3",
|
||||||
"prosemirror-transform": "1.10.2",
|
"prosemirror-transform": "1.10.3",
|
||||||
"prosemirror-view": "1.38.0",
|
"prosemirror-view": "1.38.1",
|
||||||
"pug": "3.0.3",
|
"pug": "3.0.3",
|
||||||
"quasar": "2.18.0",
|
"quasar": "2.18.1",
|
||||||
"slugify": "1.6.6",
|
"slugify": "1.6.6",
|
||||||
"socket.io-client": "4.8.1",
|
"socket.io-client": "4.8.1",
|
||||||
"sortablejs": "1.15.6",
|
"sortablejs": "1.15.6",
|
||||||
@@ -100,30 +100,30 @@
|
|||||||
"uuid": "11.1.0",
|
"uuid": "11.1.0",
|
||||||
"v-network-graph": "0.9.20",
|
"v-network-graph": "0.9.20",
|
||||||
"vue": "3.5.13",
|
"vue": "3.5.13",
|
||||||
"vue-i18n": "11.1.1",
|
"vue-i18n": "11.1.2",
|
||||||
"vue-router": "4.5.0",
|
"vue-router": "4.5.0",
|
||||||
"vue3-otp-input": "0.5.21",
|
"vue3-otp-input": "0.5.21",
|
||||||
"vuedraggable": "4.1.0",
|
"vuedraggable": "4.1.0",
|
||||||
"zxcvbn": "4.4.2"
|
"zxcvbn": "4.4.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/js": "9.21.0",
|
"@eslint/js": "9.23.0",
|
||||||
"@intlify/unplugin-vue-i18n": "6.0.3",
|
"@intlify/unplugin-vue-i18n": "6.0.5",
|
||||||
"@quasar/app-vite": "2.1.1",
|
"@quasar/app-vite": "2.1.4",
|
||||||
"@quasar/vite-plugin": "1.9.0",
|
"@quasar/vite-plugin": "1.9.0",
|
||||||
"@types/lodash": "4.17.16",
|
"@types/lodash": "4.17.16",
|
||||||
"@vue/devtools": "7.7.2",
|
"@vue/devtools": "7.7.2",
|
||||||
"@vue/language-plugin-pug": "2.2.6",
|
"@vue/language-plugin-pug": "2.2.8",
|
||||||
"autoprefixer": "10.4.20",
|
"autoprefixer": "10.4.21",
|
||||||
"browserlist": "latest",
|
"browserlist": "latest",
|
||||||
"eslint": "9.21.0",
|
"eslint": "9.23.0",
|
||||||
"eslint-plugin-import": "2.31.0",
|
"eslint-plugin-import": "2.31.0",
|
||||||
"eslint-plugin-n": "17.15.1",
|
"eslint-plugin-n": "17.16.2",
|
||||||
"eslint-plugin-promise": "7.2.1",
|
"eslint-plugin-promise": "7.2.1",
|
||||||
"eslint-plugin-vue": "9.32.0",
|
"eslint-plugin-vue": "10.0.0",
|
||||||
"eslint-plugin-vue-pug": "0.6.2",
|
"eslint-plugin-vue-pug": "1.0.0-alpha.2",
|
||||||
"neostandard": "0.12.1",
|
"neostandard": "0.12.1",
|
||||||
"sass": "1.85.1"
|
"sass": "1.86.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 18.0",
|
"node": ">= 18.0",
|
||||||
|
|||||||
Generated
+738
-671
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user