fix(theme): incorrect url convert in PageContextMenu (#807)

* fix(theme): incorrect url convert in `PageContextMenu`

* test: migrate to v8

* perf: update deps to latest
This commit is contained in:
pengzhanbo 2025-12-28 15:09:32 +08:00 committed by GitHub
parent e2c9d50539
commit 9bbba1ada6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 1178 additions and 1356 deletions

View File

@ -41,7 +41,7 @@
}, },
"plume-deps": { "plume-deps": {
"vuepress": "2.0.0-rc.26", "vuepress": "2.0.0-rc.26",
"vue": "^3.5.25", "vue": "^3.5.26",
"http-server": "^14.1.1", "http-server": "^14.1.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },

View File

@ -3,7 +3,7 @@
"type": "module", "type": "module",
"version": "1.0.0-rc.183", "version": "1.0.0-rc.183",
"private": true, "private": true,
"packageManager": "pnpm@10.25.0", "packageManager": "pnpm@10.26.2",
"author": "pengzhanbo <q942450674@outlook.com> (https://github.com/pengzhanbo/)", "author": "pengzhanbo <q942450674@outlook.com> (https://github.com/pengzhanbo/)",
"license": "MIT", "license": "MIT",
"keywords": [ "keywords": [
@ -54,7 +54,7 @@
"@types/stylus": "catalog:dev", "@types/stylus": "catalog:dev",
"@types/three": "catalog:dev", "@types/three": "catalog:dev",
"@types/webpack-env": "catalog:dev", "@types/webpack-env": "catalog:dev",
"@vitest/coverage-istanbul": "catalog:dev", "@vitest/coverage-v8": "catalog:dev",
"bumpp": "catalog:dev", "bumpp": "catalog:dev",
"commitizen": "catalog:dev", "commitizen": "catalog:dev",
"conventional-changelog-cli": "catalog:dev", "conventional-changelog-cli": "catalog:dev",
@ -79,14 +79,25 @@
"vitest": "catalog:dev", "vitest": "catalog:dev",
"wait-on": "catalog:dev" "wait-on": "catalog:dev"
}, },
"lint-staged": {
"*": "eslint --fix",
"*.{css,vue}": "stylelint --fix",
"*.{js,ts,mjs,cjs}": "cross-env TZ=Etc/UTC vitest related --run"
},
"config": { "config": {
"commitizen": { "commitizen": {
"path": "./node_modules/cz-conventional-changelog" "path": "./node_modules/cz-conventional-changelog"
} }
},
"resolutions": {
"@bufbuild/protobuf": "^2.10.2",
"@eslint-community/eslint-utils": "catalog:peer",
"@typescript-eslint/types": "catalog:peer",
"@typescript-eslint/utils": "catalog:peer",
"chokidar": "catalog:prod",
"esbuild": "catalog:prod",
"sass-embedded": "catalog:peer",
"vite": "catalog:dev",
"vue-router": "catalog:dev"
},
"lint-staged": {
"*": "eslint --fix",
"*.{css,vue}": "stylelint --fix",
"*.{js,ts,mjs,cjs}": "cross-env TZ=Etc/UTC vitest related --run"
} }
} }

2442
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,12 @@
catalogMode: prefer
ignoreWorkspaceRootCheck: true
shamefullyHoist: true
shellEmulator: true
trustPolicy: no-downgrade
strictPeerDependencies: false
trustPolicyExclude:
- ua-parser-js
packages: packages:
- docs - docs
- theme - theme
@ -5,15 +14,6 @@ packages:
- plugins/* - plugins/*
- examples/* - examples/*
overrides:
'@bufbuild/protobuf': ^2.10.2
'@typescript-eslint/utils': ^8.49.0
chokidar: ^5.0.0
esbuild: ^0.27.1
sass-embedded: ^1.96.0
vite: ^8.0.0-beta.2
vue-router: ^4.6.4
patchedDependencies: patchedDependencies:
floating-vue: patches/floating-vue.patch floating-vue: patches/floating-vue.patch
catalogs: catalogs:
@ -21,21 +21,21 @@ catalogs:
'@commitlint/cli': ^20.2.0 '@commitlint/cli': ^20.2.0
'@commitlint/config-conventional': ^20.2.0 '@commitlint/config-conventional': ^20.2.0
'@lunariajs/core': ^0.1.1 '@lunariajs/core': ^0.1.1
'@pengzhanbo/eslint-config-vue': ^1.43.0 '@pengzhanbo/eslint-config-vue': ^1.45.0
'@pengzhanbo/stylelint-config': ^1.43.0 '@pengzhanbo/stylelint-config': ^1.45.0
'@simonwep/pickr': ^1.9.1 '@simonwep/pickr': ^1.9.1
'@types/express': ^5.0.6 '@types/express': ^5.0.6
'@types/js-yaml': ^4.0.9 '@types/js-yaml': ^4.0.9
'@types/less': ^3.0.8 '@types/less': ^3.0.8
'@types/markdown-it': ^14.1.2 '@types/markdown-it': ^14.1.2
'@types/minimist': ^1.2.5 '@types/minimist': ^1.2.5
'@types/node': ^25.0.1 '@types/node': ^25.0.3
'@types/picomatch': ^4.0.2 '@types/picomatch': ^4.0.2
'@types/qrcode': ^1.5.6 '@types/qrcode': ^1.5.6
'@types/stylus': ^0.48.43 '@types/stylus': ^0.48.43
'@types/three': ^0.182.0 '@types/three': ^0.182.0
'@types/webpack-env': ^1.18.8 '@types/webpack-env': ^1.18.8
'@vitest/coverage-istanbul': ^4.0.15 '@vitest/coverage-v8': ^4.0.16
bumpp: ^10.3.2 bumpp: ^10.3.2
commitizen: ^4.3.1 commitizen: ^4.3.1
conventional-changelog-cli: ^5.0.0 conventional-changelog-cli: ^5.0.0
@ -45,7 +45,7 @@ catalogs:
eslint: ^9.39.2 eslint: ^9.39.2
http-server: ^14.1.1 http-server: ^14.1.1
husky: ^9.1.7 husky: ^9.1.7
less: ^4.4.2 less: ^4.5.1
lint-staged: ^16.2.7 lint-staged: ^16.2.7
markdown-it: ^14.1.0 markdown-it: ^14.1.0
memfs: ^4.51.1 memfs: ^4.51.1
@ -56,24 +56,28 @@ catalogs:
stylelint: ^16.26.1 stylelint: ^16.26.1
stylus: ^0.64.0 stylus: ^0.64.0
tsconfig-vuepress: ^7.0.0 tsconfig-vuepress: ^7.0.0
tsdown: ^0.17.3 tsdown: ^0.18.3
typescript: ^5.9.3 typescript: ^5.9.3
vitest: ^4.0.15 vite: ^8.0.0-beta.5
vitest: ^4.0.16
vue-router: ^4.6.4 vue-router: ^4.6.4
wait-on: ^9.0.3 wait-on: ^9.0.3
peer: peer:
'@iconify/json': ^2.2.417 '@eslint-community/eslint-utils': ^4.9.0
'@mathjax/src': ^4.0.0 '@iconify/json': ^2.2.421
'@mathjax/src': ^4.1.0
'@typescript-eslint/types': ^8.50.1
'@typescript-eslint/utils': ^8.50.1
artplayer: ^5.3.0 artplayer: ^5.3.0
dashjs: ^5.1.0 dashjs: ^5.1.1
gsap: ^3.14.2 gsap: ^3.14.2
hls.js: ^1.6.15 hls.js: ^1.6.15
mpegts.js: 1.7.3 mpegts.js: 1.7.3
ogl: ^1.0.11 ogl: ^1.0.11
postprocessing: ^6.38.0 postprocessing: ^6.38.2
pyodide: ^0.29.0 pyodide: ^0.29.0
sass: ^1.96.0 sass: ^1.97.1
sass-embedded: ^1.96.0 sass-embedded: ^1.97.1
swiper: ^12.0.3 swiper: ^12.0.3
three: ^0.182.0 three: ^0.182.0
prod: prod:
@ -95,9 +99,9 @@ catalogs:
chokidar: 5.0.0 chokidar: 5.0.0
dayjs: ^1.11.19 dayjs: ^1.11.19
echarts: ^6.0.0 echarts: ^6.0.0
esbuild: ^0.27.1 esbuild: ^0.27.2
flowchart.ts: ^3.0.1 flowchart.ts: ^3.0.1
focus-trap: ^7.6.6 focus-trap: ^7.7.0
gray-matter: ^4.0.3 gray-matter: ^4.0.3
handlebars: ^4.7.8 handlebars: ^4.7.8
hash-wasm: ^4.12.0 hash-wasm: ^4.12.0
@ -122,10 +126,10 @@ catalogs:
picomatch: ^4.0.3 picomatch: ^4.0.3
qrcode: ^1.5.4 qrcode: ^1.5.4
shiki: ^3.20.0 shiki: ^3.20.0
sort-package-json: ^3.5.1 sort-package-json: ^3.6.0
tm-grammars: ^1.26.0 tm-grammars: ^1.26.0
tm-themes: ^1.10.13 tm-themes: ^1.10.13
vue: ^3.5.25 vue: ^3.5.26
vuepress: vuepress:
'@vuepress/bundler-vite': 2.0.0-rc.26 '@vuepress/bundler-vite': 2.0.0-rc.26
'@vuepress/helper': 2.0.0-rc.121 '@vuepress/helper': 2.0.0-rc.121
@ -150,8 +154,10 @@ catalogs:
'@vuepress/plugin-watermark': 2.0.0-rc.121 '@vuepress/plugin-watermark': 2.0.0-rc.121
'@vuepress/shiki-twoslash': 2.0.0-rc.121 '@vuepress/shiki-twoslash': 2.0.0-rc.121
vuepress: 2.0.0-rc.26 vuepress: 2.0.0-rc.26
onlyBuiltDependencies: onlyBuiltDependencies:
- '@parcel/watcher' - '@parcel/watcher'
- core-js - core-js
- esbuild - esbuild
- unrs-resolver - unrs-resolver
- less

View File

@ -2,7 +2,6 @@
import { onClickOutside, useClipboard, useToggle } from '@vueuse/core' import { onClickOutside, useClipboard, useToggle } from '@vueuse/core'
import { computed, onMounted, ref, useTemplateRef } from 'vue' import { computed, onMounted, ref, useTemplateRef } from 'vue'
import { withBase } from 'vuepress/client' import { withBase } from 'vuepress/client'
import { ensureEndingSlash } from 'vuepress/shared'
import { useData, useEncrypt } from '../../composables/index.js' import { useData, useEncrypt } from '../../composables/index.js'
import '@vuepress/helper/transition/fade-in.css' import '@vuepress/helper/transition/fade-in.css'
@ -27,7 +26,9 @@ const markdownLink = computed(() => {
const url = withBase(page.value.path) const url = withBase(page.value.path)
if (url.endsWith('.html')) if (url.endsWith('.html'))
return `${url.slice(0, -5)}.md` return `${url.slice(0, -5)}.md`
return `${ensureEndingSlash(url)}index.md` if (url[url.length - 1] !== '/')
return `${url}.md`
return `${url}index.md`
}) })
const message = computed(() => { const message = computed(() => {

View File

@ -10,7 +10,7 @@ export default defineConfig({
], ],
coverage: { coverage: {
enabled: true, enabled: true,
provider: 'istanbul', provider: 'v8',
reporter: ['text', 'clover', 'json'], reporter: ['text', 'clover', 'json'],
}, },
}, },