Browse Source

chore: update dependencies

NGPixel 2 months ago
parent
commit
df91335f11

+ 5 - 5
server/db/migrations/3.0.0.mjs

@@ -251,7 +251,7 @@ export async function up (knex) {
       table.string('contentType').notNullable()
       table.boolean('isBrowsable').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.integer('ratingScore').notNullable().defaultTo(0)
       table.integer('ratingCount').notNullable().defaultTo(0)
@@ -422,7 +422,7 @@ export async function up (knex) {
     .createTable('autocomplete', table => {
       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
@@ -584,7 +584,7 @@ export async function up (knex) {
     hostname: '*',
     isEnabled: true,
     config: {
-      title: 'My Wiki Site',
+      title: 'Default Site',
       description: '',
       company: '',
       contentLicense: '',
@@ -818,7 +818,7 @@ export async function up (knex) {
     isCustom: false,
     isEnabled: true,
     config: {},
-    siteId: siteId
+    siteId
   })
 
   // -> NAVIGATION
@@ -868,7 +868,7 @@ export async function up (knex) {
         children: []
       }
     ]),
-    siteId: siteId
+    siteId
   })
 
   // -> STORAGE MODULE

+ 0 - 56
server/modules/authentication/azure/authentication.js

@@ -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)
-        }
-      })
-    )
-  }
-}

+ 0 - 30
server/modules/authentication/azure/definition.yml

@@ -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
server/package.json

@@ -37,13 +37,13 @@
   },
   "dependencies": {
     "@apollo/server": "4.11.3",
-    "@azure/storage-blob": "12.26.0",
+    "@azure/storage-blob": "12.27.0",
     "@exlinc/keycloak-passport": "1.0.2",
-    "@graphql-tools/schema": "10.0.20",
-    "@graphql-tools/utils": "10.8.3",
+    "@graphql-tools/schema": "10.0.23",
+    "@graphql-tools/utils": "10.8.6",
     "@hexagon/base64": "2.0.4",
     "@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/keypairs": "0.10.3",
     "@root/pem": "1.0.4",
@@ -63,7 +63,7 @@
     "connect-session-knex": "5.0.0",
     "cookie-parser": "1.4.7",
     "cors": "2.8.5",
-    "cron-parser": "5.0.4",
+    "cron-parser": "5.0.6",
     "cuint": "0.2.2",
     "custom-error-instance": "2.1.2",
     "dependency-graph": "1.0.0",
@@ -76,19 +76,19 @@
     "express": "4.21.2",
     "express-brute": "1.0.1",
     "express-session": "1.18.1",
-    "file-type": "20.4.0",
+    "file-type": "20.4.1",
     "filesize": "10.1.6",
     "fs-extra": "11.3.0",
     "getos": "3.2.1",
     "graphql": "16.10.0",
     "graphql-list-fields": "2.0.4",
     "graphql-rate-limit-directive": "2.0.6",
-    "graphql-tools": "9.0.15",
+    "graphql-tools": "9.0.18",
     "graphql-upload": "17.0.0",
     "gray-matter": "4.0.3",
     "he": "1.2.0",
     "highlight.js": "11.11.1",
-    "image-size": "2.0.0",
+    "image-size": "2.0.1",
     "js-base64": "3.7.7",
     "js-binary": "1.2.0",
     "js-yaml": "4.1.0",
@@ -117,8 +117,8 @@
     "mathjax": "3.2.2",
     "mime-types": "2.1.35",
     "ms": "2.1.3",
-    "multer": "1.4.5-lts.1",
-    "nanoid": "5.1.2",
+    "multer": "1.4.5-lts.2",
+    "nanoid": "5.1.5",
     "node-2fa": "2.0.3",
     "node-cache": "5.1.2",
     "nodemailer": "6.10.0",
@@ -126,7 +126,6 @@
     "octokit": "4.1.2",
     "passport": "0.7.0",
     "passport-auth0": "1.4.4",
-    "passport-azure-ad": "4.3.5",
     "passport-cas": "0.1.1",
     "passport-discord": "0.1.4",
     "passport-dropbox-oauth2": "1.1.0",
@@ -144,15 +143,15 @@
     "passport-slack-oauth2": "1.2.0",
     "passport-twitch-strategy": "2.2.0",
     "pem-jwk": "2.0.0",
-    "pg": "8.13.3",
+    "pg": "8.14.1",
     "pg-hstore": "2.3.4",
     "pg-pubsub": "0.8.1",
-    "pg-query-stream": "4.7.3",
+    "pg-query-stream": "4.8.1",
     "pg-tsquery": "8.4.2",
     "poolifier": "4.4.5",
     "prom-client": "15.1.3",
     "punycode": "2.3.1",
-    "puppeteer-core": "24.3.0",
+    "puppeteer-core": "24.4.0",
     "qr-image": "3.2.0",
     "remove-markdown": "0.6.0",
     "safe-regex": "2.1.1",
@@ -176,7 +175,7 @@
     "yargs": "17.7.2"
   },
   "devDependencies": {
-    "eslint": "9.21.0",
+    "eslint": "9.23.0",
     "eslint-plugin-import": "2.31.0",
     "eslint-plugin-node": "11.1.0",
     "eslint-plugin-promise": "7.2.1",

File diff suppressed because it is too large
+ 151 - 242
server/pnpm-lock.yaml


+ 2 - 3
ux/eslint.config.mjs

@@ -1,6 +1,7 @@
 import js from '@eslint/js'
 import neostandard from 'neostandard'
 import pluginVue from 'eslint-plugin-vue'
+import pluginVuePug from 'eslint-plugin-vue-pug'
 import vueParser from 'vue-eslint-parser'
 import { FlatCompat } from '@eslint/eslintrc'
 
@@ -9,10 +10,8 @@ const compat = new FlatCompat()
 export default [
   js.configs.recommended,
   ...pluginVue.configs['flat/essential'],
+  ...pluginVuePug.configs['flat/recommended'],
   ...neostandard(),
-  ...compat.extends(
-    'plugin:vue-pug/vue3-recommended'
-  ),
   {
     ignores: [
       '/dist',

+ 17 - 17
ux/package.json

@@ -11,7 +11,7 @@
     "build": "NODE_OPTIONS=--max-old-space-size=8192 vite build --emptyOutDir"
   },
   "dependencies": {
-    "@apollo/client": "3.13.1",
+    "@apollo/client": "3.13.5",
     "@lezer/common": "1.2.3",
     "@mdi/font": "7.4.47",
     "@quasar/extras": "1.16.17",
@@ -82,13 +82,13 @@
     "prosemirror-commands": "1.7.0",
     "prosemirror-history": "1.4.1",
     "prosemirror-keymap": "1.2.2",
-    "prosemirror-model": "1.24.1",
-    "prosemirror-schema-list": "1.5.0",
+    "prosemirror-model": "1.25.0",
+    "prosemirror-schema-list": "1.5.1",
     "prosemirror-state": "1.4.3",
-    "prosemirror-transform": "1.10.2",
-    "prosemirror-view": "1.38.0",
+    "prosemirror-transform": "1.10.3",
+    "prosemirror-view": "1.38.1",
     "pug": "3.0.3",
-    "quasar": "2.18.0",
+    "quasar": "2.18.1",
     "slugify": "1.6.6",
     "socket.io-client": "4.8.1",
     "sortablejs": "1.15.6",
@@ -100,30 +100,30 @@
     "uuid": "11.1.0",
     "v-network-graph": "0.9.20",
     "vue": "3.5.13",
-    "vue-i18n": "11.1.1",
+    "vue-i18n": "11.1.2",
     "vue-router": "4.5.0",
     "vue3-otp-input": "0.5.21",
     "vuedraggable": "4.1.0",
     "zxcvbn": "4.4.2"
   },
   "devDependencies": {
-    "@eslint/js": "9.21.0",
-    "@intlify/unplugin-vue-i18n": "6.0.3",
-    "@quasar/app-vite": "2.1.1",
+    "@eslint/js": "9.23.0",
+    "@intlify/unplugin-vue-i18n": "6.0.5",
+    "@quasar/app-vite": "2.1.4",
     "@quasar/vite-plugin": "1.9.0",
     "@types/lodash": "4.17.16",
     "@vue/devtools": "7.7.2",
-    "@vue/language-plugin-pug": "2.2.6",
-    "autoprefixer": "10.4.20",
+    "@vue/language-plugin-pug": "2.2.8",
+    "autoprefixer": "10.4.21",
     "browserlist": "latest",
-    "eslint": "9.21.0",
+    "eslint": "9.23.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-vue": "9.32.0",
-    "eslint-plugin-vue-pug": "0.6.2",
+    "eslint-plugin-vue": "10.0.0",
+    "eslint-plugin-vue-pug": "1.0.0-alpha.2",
     "neostandard": "0.12.1",
-    "sass": "1.85.1"
+    "sass": "1.86.0"
   },
   "engines": {
     "node": ">= 18.0",

File diff suppressed because it is too large
+ 293 - 263
ux/pnpm-lock.yaml


Some files were not shown because too many files changed in this diff