Explorar o código

chore: update dependencies + various fixes

NGPixel hai 1 ano
pai
achega
c4b5799961

+ 3 - 0
dev/build/Dockerfile

@@ -32,6 +32,9 @@ ENV NODE_ENV=production
 WORKDIR /wiki/server
 RUN pnpm install --prod --frozen-lockfile
 
+# Set extensions as installed
+RUN touch node_modules/sharp/wiki_installed.txt
+
 WORKDIR /wiki
 
 VOLUME ["/wiki/data/content"]

+ 1 - 1
server/locales/en.json

@@ -1643,7 +1643,7 @@
   "fileman.aiFileType": "Adobe Illustrator Document",
   "fileman.aifFileType": "AIF Audio File",
   "fileman.apkFileType": "Android Package",
-  "fileman.assetDelete": "Delete Asset",
+  "fileman.assetDelete": "Confirm Delete Asset",
   "fileman.assetDeleteConfirm": "Are you sure you want to delete {name}?",
   "fileman.assetDeleteId": "Asset ID {id}",
   "fileman.assetDeleteSuccess": "Asset deleted successfully.",

+ 1 - 1
server/modules/extensions/sharp/ext.mjs

@@ -22,7 +22,7 @@ export default {
   },
   async install () {
     try {
-      const { stdout, stderr } = await exec('node install/libvips && node install/dll-copy', {
+      const { stdout, stderr } = await exec('node install/check', {
         cwd: path.join(WIKI.SERVERPATH, 'node_modules/sharp'),
         timeout: 120000,
         windowsHide: true

+ 44 - 44
server/package.json

@@ -36,28 +36,28 @@
     "node": ">=18.0"
   },
   "dependencies": {
-    "@apollo/server": "4.9.5",
+    "@apollo/server": "4.10.0",
     "@azure/storage-blob": "12.17.0",
     "@exlinc/keycloak-passport": "1.0.2",
-    "@graphql-tools/schema": "10.0.0",
-    "@graphql-tools/utils": "10.0.8",
+    "@graphql-tools/schema": "10.0.2",
+    "@graphql-tools/utils": "10.0.13",
     "@hexagon/base64": "1.1.28",
-    "@joplin/turndown-plugin-gfm": "1.0.53",
+    "@joplin/turndown-plugin-gfm": "1.0.54",
     "@node-saml/passport-saml": "4.0.4",
     "@root/csr": "0.8.1",
     "@root/keypairs": "0.10.3",
     "@root/pem": "1.0.4",
-    "@simplewebauthn/server": "8.3.5",
-    "@vue-email/compiler": "0.8.0-beta.5",
+    "@simplewebauthn/server": "9.0.1",
+    "@vue-email/compiler": "0.8.9",
     "acme": "3.0.3",
     "akismet-api": "6.0.0",
-    "aws-sdk": "2.1499.0",
+    "aws-sdk": "2.1550.0",
     "bcryptjs": "2.4.3",
     "chalk": "5.3.0",
     "cheerio": "1.0.0-rc.12",
     "chokidar": "3.5.3",
     "chromium-pickle-js": "0.2.0",
-    "clean-css": "5.3.2",
+    "clean-css": "5.3.3",
     "command-exists": "1.2.9",
     "compression": "1.7.4",
     "connect-session-knex": "4.0.0",
@@ -66,65 +66,65 @@
     "cron-parser": "4.9.0",
     "cuint": "0.2.2",
     "custom-error-instance": "2.1.2",
-    "dependency-graph": "0.11.0",
+    "dependency-graph": "1.0.0",
     "diff": "5.1.0",
-    "diff2html": "3.4.45",
-    "dompurify": "3.0.6",
+    "diff2html": "3.4.47",
+    "dompurify": "3.0.8",
     "dotize": "0.3.0",
     "emoji-regex": "10.3.0",
     "eventemitter2": "6.4.9",
     "express": "4.18.2",
     "express-brute": "1.0.1",
-    "express-session": "1.17.3",
-    "file-type": "18.7.0",
+    "express-session": "1.18.0",
+    "file-type": "19.0.0",
     "filesize": "10.1.0",
-    "fs-extra": "11.1.1",
+    "fs-extra": "11.2.0",
     "getos": "3.2.1",
     "graphql": "16.8.1",
-    "graphql-list-fields": "2.0.2",
-    "graphql-rate-limit-directive": "2.0.4",
+    "graphql-list-fields": "2.0.3",
+    "graphql-rate-limit-directive": "2.0.5",
     "graphql-tools": "9.0.0",
     "graphql-upload": "16.0.2",
     "gray-matter": "4.0.3",
     "he": "1.2.0",
     "highlight.js": "11.9.0",
-    "image-size": "1.0.2",
-    "js-base64": "3.7.5",
+    "image-size": "1.1.1",
+    "js-base64": "3.7.6",
     "js-binary": "1.2.0",
     "js-yaml": "4.1.0",
-    "jsdom": "22.1.0",
+    "jsdom": "24.0.0",
     "jsonwebtoken": "9.0.2",
     "katex": "0.16.9",
     "klaw": "4.1.0",
-    "knex": "3.0.1",
+    "knex": "3.1.0",
     "lodash": "4.17.21",
     "lodash-es": "4.17.21",
     "luxon": "3.4.4",
-    "markdown-it": "13.0.2",
-    "markdown-it-abbr": "1.0.4",
+    "markdown-it": "14.0.0",
+    "markdown-it-abbr": "2.0.0",
     "markdown-it-attrs": "4.1.6",
     "markdown-it-decorate": "1.2.2",
-    "markdown-it-emoji": "2.0.2",
+    "markdown-it-emoji": "3.0.0",
     "markdown-it-expand-tabs": "1.0.13",
-    "markdown-it-footnote": "3.0.3",
+    "markdown-it-footnote": "4.0.0",
     "markdown-it-imsize": "2.0.1",
-    "markdown-it-mark": "3.0.1",
-    "markdown-it-mdc": "0.1.4",
+    "markdown-it-mark": "4.0.0",
+    "markdown-it-mdc": "0.2.1",
     "markdown-it-multimd-table": "4.2.3",
-    "markdown-it-sub": "1.0.0",
-    "markdown-it-sup": "1.0.0",
+    "markdown-it-sub": "2.0.0",
+    "markdown-it-sup": "2.0.0",
     "markdown-it-task-lists": "2.1.1",
     "mathjax": "3.2.2",
     "mime-types": "2.1.35",
     "ms": "2.1.3",
     "multer": "1.4.5-lts.1",
-    "nanoid": "5.0.3",
+    "nanoid": "5.0.5",
     "node-2fa": "2.0.3",
     "node-cache": "5.1.2",
-    "nodemailer": "6.9.7",
-    "objection": "3.1.2",
+    "nodemailer": "6.9.9",
+    "objection": "3.1.3",
     "octokit": "3.1.2",
-    "passport": "0.6.0",
+    "passport": "0.7.0",
     "passport-auth0": "1.4.4",
     "passport-azure-ad": "4.3.5",
     "passport-cas": "0.1.1",
@@ -138,7 +138,7 @@
     "passport-ldapauth": "3.0.1",
     "passport-local": "1.0.0",
     "passport-microsoft": "1.0.0",
-    "passport-oauth2": "1.7.0",
+    "passport-oauth2": "1.8.0",
     "passport-okta-oauth": "0.0.1",
     "passport-openidconnect": "0.1.1",
     "passport-slack-oauth2": "1.2.0",
@@ -148,11 +148,11 @@
     "pg-hstore": "2.3.4",
     "pg-pubsub": "0.8.1",
     "pg-query-stream": "4.5.3",
-    "pg-tsquery": "8.4.1",
-    "poolifier": "3.0.5",
-    "prom-client": "15.0.0",
+    "pg-tsquery": "8.4.2",
+    "poolifier": "3.1.19",
+    "prom-client": "15.1.0",
     "punycode": "2.3.1",
-    "puppeteer-core": "21.5.2",
+    "puppeteer-core": "21.11.0",
     "qr-image": "3.2.0",
     "remove-markdown": "0.5.0",
     "safe-regex": "2.1.1",
@@ -160,9 +160,9 @@
     "scim-query-filter-parser": "2.0.4",
     "semver": "7.5.4",
     "serve-favicon": "2.5.0",
-    "sharp": "0.32.6",
-    "simple-git": "3.20.0",
-    "socket.io": "4.7.2",
+    "sharp": "0.33.2",
+    "simple-git": "3.22.0",
+    "socket.io": "4.7.4",
     "striptags": "3.2.0",
     "tar-fs": "3.0.4",
     "turndown": "7.1.2",
@@ -171,18 +171,18 @@
     "uslug": "1.0.4",
     "uuid": "9.0.1",
     "validate.js": "0.13.1",
-    "vue": "3.3.8",
+    "vue": "3.4.15",
     "xss": "1.0.14",
     "yargs": "17.7.2"
   },
   "devDependencies": {
-    "eslint": "8.54.0",
+    "eslint": "8.56.0",
     "eslint-config-requarks": "1.0.7",
     "eslint-config-standard": "17.1.0",
-    "eslint-plugin-import": "2.29.0",
+    "eslint-plugin-import": "2.29.1",
     "eslint-plugin-node": "11.1.0",
     "eslint-plugin-promise": "6.1.1",
-    "nodemon": "3.0.1"
+    "nodemon": "3.0.3"
   },
   "overrides": {
     "@graphql-tools/utils": "10.0.1"

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 418 - 169
server/pnpm-lock.yaml


+ 1 - 1
server/renderers/markdown.mjs

@@ -1,7 +1,7 @@
 import MarkdownIt from 'markdown-it'
 import mdAttrs from 'markdown-it-attrs'
 import mdDecorate from 'markdown-it-decorate'
-import mdEmoji from 'markdown-it-emoji'
+import { full as mdEmoji } from 'markdown-it-emoji'
 import mdTaskLists from 'markdown-it-task-lists'
 import mdExpandTabs from 'markdown-it-expand-tabs'
 import mdAbbr from 'markdown-it-abbr'

+ 0 - 1
server/web.mjs

@@ -172,7 +172,6 @@ export async function init () {
   // ----------------------------------------
 
   app.set('views', path.join(WIKI.SERVERPATH, 'views'))
-  app.set('view engine', 'pug')
 
   app.use(express.urlencoded({ extended: false, limit: '1mb' }))
 

+ 59 - 59
ux/package.json

@@ -10,43 +10,43 @@
     "build": "NODE_OPTIONS=--max-old-space-size=8192 quasar build"
   },
   "dependencies": {
-    "@apollo/client": "3.8.7",
-    "@lezer/common": "1.1.1",
-    "@mdi/font": "7.3.67",
-    "@quasar/extras": "1.16.8",
-    "@simplewebauthn/browser": "8.3.4",
-    "@tiptap/core": "2.1.12",
-    "@tiptap/extension-code-block": "2.1.12",
-    "@tiptap/extension-code-block-lowlight": "2.1.12",
-    "@tiptap/extension-color": "2.1.12",
-    "@tiptap/extension-dropcursor": "2.1.12",
-    "@tiptap/extension-font-family": "2.1.12",
-    "@tiptap/extension-gapcursor": "2.1.12",
-    "@tiptap/extension-hard-break": "2.1.12",
-    "@tiptap/extension-highlight": "2.1.12",
-    "@tiptap/extension-history": "2.1.12",
-    "@tiptap/extension-image": "2.1.12",
-    "@tiptap/extension-mention": "2.1.12",
-    "@tiptap/extension-placeholder": "2.1.12",
-    "@tiptap/extension-table": "2.1.12",
-    "@tiptap/extension-table-cell": "2.1.12",
-    "@tiptap/extension-table-header": "2.1.12",
-    "@tiptap/extension-table-row": "2.1.12",
-    "@tiptap/extension-task-item": "2.1.12",
-    "@tiptap/extension-task-list": "2.1.12",
-    "@tiptap/extension-text-align": "2.1.12",
-    "@tiptap/extension-text-style": "2.1.12",
-    "@tiptap/extension-typography": "2.1.12",
-    "@tiptap/pm": "2.1.12",
-    "@tiptap/starter-kit": "2.1.12",
-    "@tiptap/vue-3": "2.1.12",
-    "@vue/repl": "2.8.0",
+    "@apollo/client": "3.9.2",
+    "@lezer/common": "1.2.1",
+    "@mdi/font": "7.4.47",
+    "@quasar/extras": "1.16.9",
+    "@simplewebauthn/browser": "9.0.1",
+    "@tiptap/core": "2.2.1",
+    "@tiptap/extension-code-block": "2.2.1",
+    "@tiptap/extension-code-block-lowlight": "2.2.1",
+    "@tiptap/extension-color": "2.2.1",
+    "@tiptap/extension-dropcursor": "2.2.1",
+    "@tiptap/extension-font-family": "2.2.1",
+    "@tiptap/extension-gapcursor": "2.2.1",
+    "@tiptap/extension-hard-break": "2.2.1",
+    "@tiptap/extension-highlight": "2.2.1",
+    "@tiptap/extension-history": "2.2.1",
+    "@tiptap/extension-image": "2.2.1",
+    "@tiptap/extension-mention": "2.2.1",
+    "@tiptap/extension-placeholder": "2.2.1",
+    "@tiptap/extension-table": "2.2.1",
+    "@tiptap/extension-table-cell": "2.2.1",
+    "@tiptap/extension-table-header": "2.2.1",
+    "@tiptap/extension-table-row": "2.2.1",
+    "@tiptap/extension-task-item": "2.2.1",
+    "@tiptap/extension-task-list": "2.2.1",
+    "@tiptap/extension-text-align": "2.2.1",
+    "@tiptap/extension-text-style": "2.2.1",
+    "@tiptap/extension-typography": "2.2.1",
+    "@tiptap/pm": "2.2.1",
+    "@tiptap/starter-kit": "2.2.1",
+    "@tiptap/vue-3": "2.2.1",
+    "@vue/repl": "3.4.0",
     "apollo-upload-client": "18.0.1",
     "browser-fs-access": "0.35.0",
     "clipboard": "2.0.11",
     "codemirror": "5.65.11",
     "codemirror-asciidoc": "1.0.4",
-    "dependency-graph": "0.11.0",
+    "dependency-graph": "1.0.0",
     "filesize": "10.1.0",
     "filesize-parser": "1.5.0",
     "fuse.js": "7.0.0",
@@ -59,46 +59,46 @@
     "lodash-es": "4.17.21",
     "lowlight": "3.1.0",
     "luxon": "3.4.4",
-    "markdown-it": "13.0.2",
-    "markdown-it-abbr": "1.0.4",
+    "markdown-it": "14.0.0",
+    "markdown-it-abbr": "2.0.0",
     "markdown-it-attrs": "4.1.6",
     "markdown-it-decorate": "1.2.2",
-    "markdown-it-emoji": "2.0.2",
+    "markdown-it-emoji": "3.0.0",
     "markdown-it-expand-tabs": "1.0.13",
-    "markdown-it-footnote": "3.0.3",
+    "markdown-it-footnote": "4.0.0",
     "markdown-it-imsize": "2.0.1",
-    "markdown-it-mark": "3.0.1",
-    "markdown-it-mdc": "0.1.4",
+    "markdown-it-mark": "4.0.0",
+    "markdown-it-mdc": "0.2.1",
     "markdown-it-multimd-table": "4.2.3",
-    "markdown-it-sub": "1.0.0",
-    "markdown-it-sup": "1.0.0",
+    "markdown-it-sub": "2.0.0",
+    "markdown-it-sup": "2.0.0",
     "markdown-it-task-lists": "2.1.1",
     "mitt": "3.0.1",
-    "monaco-editor": "0.44.0",
+    "monaco-editor": "0.45.0",
     "pako": "2.1.0",
     "pinia": "2.1.7",
     "prosemirror-commands": "1.5.2",
     "prosemirror-history": "1.3.2",
     "prosemirror-keymap": "1.2.2",
-    "prosemirror-model": "1.19.3",
+    "prosemirror-model": "1.19.4",
     "prosemirror-schema-list": "1.3.0",
     "prosemirror-state": "1.4.3",
     "prosemirror-transform": "1.8.0",
-    "prosemirror-view": "1.32.4",
+    "prosemirror-view": "1.32.7",
     "pug": "3.0.2",
-    "quasar": "2.14.0",
+    "quasar": "2.14.3",
     "slugify": "1.6.6",
-    "socket.io-client": "4.7.2",
-    "sortablejs": "1.15.0",
+    "socket.io-client": "4.7.4",
+    "sortablejs": "1.15.2",
     "sortablejs-vue3": "1.2.11",
-    "tabulator-tables": "5.5.2",
+    "tabulator-tables": "5.5.4",
     "tippy.js": "6.3.7",
     "twemoji": "14.0.2",
-    "typescript": "5.3.2",
+    "typescript": "5.3.3",
     "uuid": "9.0.1",
-    "v-network-graph": "0.9.13",
-    "vue": "3.3.8",
-    "vue-i18n": "9.7.1",
+    "v-network-graph": "0.9.14",
+    "vue": "3.4.15",
+    "vue-i18n": "9.9.1",
     "vue-router": "4.2.5",
     "vue3-otp-input": "0.4.1",
     "vuedraggable": "4.1.0",
@@ -106,18 +106,18 @@
     "zxcvbn": "4.4.2"
   },
   "devDependencies": {
-    "@intlify/unplugin-vue-i18n": "1.5.0",
-    "@quasar/app-vite": "1.7.0",
+    "@intlify/unplugin-vue-i18n": "2.0.0",
+    "@quasar/app-vite": "1.7.3",
     "@types/lodash": "4.14.202",
-    "@vue/language-plugin-pug": "1.8.22",
-    "autoprefixer": "10.4.16",
+    "@vue/language-plugin-pug": "1.8.27",
+    "autoprefixer": "10.4.17",
     "browserlist": "latest",
-    "eslint": "8.54.0",
+    "eslint": "8.56.0",
     "eslint-config-standard": "17.1.0",
-    "eslint-plugin-import": "2.29.0",
-    "eslint-plugin-n": "16.3.1",
+    "eslint-plugin-import": "2.29.1",
+    "eslint-plugin-n": "16.6.2",
     "eslint-plugin-promise": "6.1.1",
-    "eslint-plugin-vue": "9.18.1",
+    "eslint-plugin-vue": "9.21.1",
     "eslint-plugin-vue-pug": "0.6.1"
   },
   "engines": {

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 354 - 359
ux/pnpm-lock.yaml


+ 2 - 2
ux/src/boot/apollo.js

@@ -6,8 +6,8 @@ import createUploadLink from 'apollo-upload-client/createUploadLink.mjs'
 
 import { useUserStore } from 'src/stores/user'
 
-export default boot(({ app }) => {
-  const userStore = useUserStore()
+export default boot(({ app, store }) => {
+  const userStore = useUserStore(store)
 
   const defaultLinkOptions = {
     uri: '/_graphql',

+ 7 - 7
ux/src/boot/externals.js

@@ -3,19 +3,19 @@ import { usePageStore } from 'src/stores/page'
 import { useSiteStore } from 'src/stores/site'
 import { useUserStore } from 'src/stores/user'
 
-export default boot(({ router }) => {
+export default boot(({ router, store }) => {
   if (import.meta.env.SSR) {
     global.WIKI_STATE = {
-      page: usePageStore(),
-      site: useSiteStore(),
-      user: useUserStore()
+      page: usePageStore(store),
+      site: useSiteStore(store),
+      user: useUserStore(store)
     }
     global.WIKI_ROUTER = router
   } else {
     window.WIKI_STATE = {
-      page: usePageStore(),
-      site: useSiteStore(),
-      user: useUserStore()
+      page: usePageStore(store),
+      site: useSiteStore(store),
+      user: useUserStore(store)
     }
     window.WIKI_ROUTER = router
   }

+ 2 - 2
ux/src/boot/i18n.js

@@ -3,8 +3,8 @@ import { createI18n } from 'vue-i18n'
 
 import { useCommonStore } from 'src/stores/common'
 
-export default boot(({ app }) => {
-  const commonStore = useCommonStore()
+export default boot(({ app, store }) => {
+  const commonStore = useCommonStore(store)
 
   const i18n = createI18n({
     legacy: false,

+ 5 - 3
ux/src/components/FileManager.vue

@@ -808,7 +808,8 @@ function delPage (pageId, pageName) {
       pageName
     }
   }).onOk(() => {
-    loadTree(state.currentFolderId, null)
+    // -> Reload current view
+    loadTree({ parentId: state.currentFolderId })
   })
 }
 
@@ -835,8 +836,9 @@ function delAsset (assetId, assetName) {
       assetId,
       assetName
     }
-  }).onOk(() => {
-    loadTree(state.currentFolderId, null)
+  }).onOk(async () => {
+    // -> Reload current view
+    await loadTree({ parentId: state.currentFolderId })
   })
 }
 

+ 2 - 2
ux/src/layouts/AdminLayout.vue

@@ -8,9 +8,9 @@ q-layout.admin(view='hHh Lpr lff')
             img(src='/_assets/logo-wikijs.svg')
         q-toolbar-title.text-h6 Wiki.js
       q-toolbar.gt-sm.justify-center(style='height: 64px;', dark)
-        .text-overline.text-uppercase.text-grey {{t('admin.adminArea')}}
+        .text-overline.text-uppercase.text-grey {{ t('admin.adminArea') }}
         q-badge.q-ml-sm(
-          label='v3 Preview'
+          label='beta'
           color='pink'
           outline
           )

+ 1 - 1
ux/src/renderers/markdown.js

@@ -1,7 +1,7 @@
 import MarkdownIt from 'markdown-it'
 import mdAttrs from 'markdown-it-attrs'
 import mdDecorate from 'markdown-it-decorate'
-import mdEmoji from 'markdown-it-emoji'
+import { full as mdEmoji } from 'markdown-it-emoji'
 import mdTaskLists from 'markdown-it-task-lists'
 import mdExpandTabs from 'markdown-it-expand-tabs'
 import mdAbbr from 'markdown-it-abbr'

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio