diff --git a/CHANGELOG.md b/CHANGELOG.md index d5159ebf..06905ccc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,28 @@ +# [1.0.0-rc.29](https://github.com/vuejs/vitepress/compare/v1.0.0-rc.28...v1.0.0-rc.29) (2023-11-19) + +### Bug Fixes + +- **client:** regression - router not working without .html present ([d63cb86](https://github.com/vuejs/vitepress/commit/d63cb867b14ba49c8333ad0d69d33874e2ece6c6)), closes [#3225](https://github.com/vuejs/vitepress/issues/3225) + +# [1.0.0-rc.28](https://github.com/vuejs/vitepress/compare/v1.0.0-rc.27...v1.0.0-rc.28) (2023-11-18) + +### Bug Fixes + +- **ally:** clear up confusion with the title of theme switch ([#3215](https://github.com/vuejs/vitepress/issues/3215)) ([6761036](https://github.com/vuejs/vitepress/commit/67610363bcb354d33327e6b5c3c2d916ed025ffc)) +- **build:** support nested assetsDir ([02161d0](https://github.com/vuejs/vitepress/commit/02161d0f797cfa36d715119e8c7618770b1a6761)) +- wrong recognition of non-html extension leads to route error ([#3218](https://github.com/vuejs/vitepress/issues/3218)) ([c4abc95](https://github.com/vuejs/vitepress/commit/c4abc950af7061611e3b5eff93e767706bd12396)) + +### Features + +- **build:** html head meta generator ([#3219](https://github.com/vuejs/vitepress/issues/3219)) ([672e494](https://github.com/vuejs/vitepress/commit/672e4946ac3c24f3fc79469534e66cfaf6f23e67)) +- **client:** allow disabling link auto-prefetching ([#3220](https://github.com/vuejs/vitepress/issues/3220)) ([563dc89](https://github.com/vuejs/vitepress/commit/563dc899757e58d2261bcb31081283eb395fab0b)) + +# [1.0.0-rc.27](https://github.com/vuejs/vitepress/compare/v1.0.0-rc.26...v1.0.0-rc.27) (2023-11-17) + +### Bug Fixes + +- CSS missing after build ([#3217](https://github.com/vuejs/vitepress/issues/3217)) ([da73b58](https://github.com/vuejs/vitepress/commit/da73b58c795a65a09d028e0ca6acefa1170d3d5b)), closes [#3216](https://github.com/vuejs/vitepress/issues/3216) + # [1.0.0-rc.26](https://github.com/vuejs/vitepress/compare/v1.0.0-rc.25...v1.0.0-rc.26) (2023-11-16) ### Bug Fixes diff --git a/docs/guide/data-loading.md b/docs/guide/data-loading.md index 2a356c21..3005f642 100644 --- a/docs/guide/data-loading.md +++ b/docs/guide/data-loading.md @@ -230,7 +230,7 @@ export { data } export default defineLoader({ // type checked loader options - glob: ['...'], + watch: ['...'], async load(): Promise { // ... } diff --git a/docs/reference/site-config.md b/docs/reference/site-config.md index 57920952..c6838c50 100644 --- a/docs/reference/site-config.md +++ b/docs/reference/site-config.md @@ -360,7 +360,7 @@ export default { - Type: `string` - Default: `assets` -The directory for assets files. See also: [assetsDir](https://vitejs.dev/config/build-options.html#build-assetsdir). +Specify the directory to nest generated assets under. The path should be inside [`outDir`](#outdir) and is resolved relative to it. ```ts export default { diff --git a/package.json b/package.json index 9e7f3fc2..61bfb544 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vitepress", - "version": "1.0.0-rc.26", + "version": "1.0.0-rc.29", "description": "Vite & Vue powered static site generator", "type": "module", "packageManager": "pnpm@8.10.5", @@ -100,6 +100,7 @@ "focus-trap": "^7.5.4", "mark.js": "8.11.1", "minisearch": "^6.2.0", + "mrmime": "^1.0.1", "shiki": "^0.14.5", "vite": "^5.0.0", "vue": "^3.3.8" @@ -142,7 +143,7 @@ "@types/markdown-it-emoji": "^2.0.4", "@types/micromatch": "^4.0.5", "@types/minimist": "^1.2.5", - "@types/node": "^20.9.0", + "@types/node": "^20.9.1", "@types/postcss-prefix-selector": "^1.16.3", "@types/prompts": "^2.4.8", "@vue/shared": "^3.3.8", @@ -175,14 +176,14 @@ "path-to-regexp": "^6.2.1", "picocolors": "^1.0.0", "pkg-dir": "^8.0.0", - "playwright-chromium": "^1.39.0", + "playwright-chromium": "^1.40.0", "polka": "1.0.0-next.23", "postcss-prefix-selector": "^1.16.0", "prettier": "^3.1.0", "prompts": "^2.4.2", "punycode": "^2.3.1", "rimraf": "^5.0.5", - "rollup": "^4.4.1", + "rollup": "^4.5.0", "rollup-plugin-dts": "^6.1.0", "rollup-plugin-esbuild": "^6.1.0", "semver": "^7.5.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 69d32234..f8016659 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,12 +41,15 @@ importers: minisearch: specifier: ^6.2.0 version: 6.2.0 + mrmime: + specifier: ^1.0.1 + version: 1.0.1 shiki: specifier: ^0.14.5 version: 0.14.5 vite: specifier: ^5.0.0 - version: 5.0.0(@types/node@20.9.0) + version: 5.0.0(@types/node@20.9.1) vue: specifier: ^3.3.8 version: 3.3.8(typescript@5.2.2) @@ -77,19 +80,19 @@ importers: version: 1.0.0 '@rollup/plugin-alias': specifier: ^5.0.1 - version: 5.0.1(rollup@4.4.1) + version: 5.0.1(rollup@4.5.0) '@rollup/plugin-commonjs': specifier: ^25.0.7 - version: 25.0.7(rollup@4.4.1) + version: 25.0.7(rollup@4.5.0) '@rollup/plugin-json': specifier: ^6.0.1 - version: 6.0.1(rollup@4.4.1) + version: 6.0.1(rollup@4.5.0) '@rollup/plugin-node-resolve': specifier: ^15.2.3 - version: 15.2.3(rollup@4.4.1) + version: 15.2.3(rollup@4.5.0) '@rollup/plugin-replace': specifier: ^5.0.5 - version: 5.0.5(rollup@4.4.1) + version: 5.0.5(rollup@4.5.0) '@types/compression': specifier: ^1.7.5 version: 1.7.5 @@ -127,8 +130,8 @@ importers: specifier: ^1.2.5 version: 1.2.5 '@types/node': - specifier: ^20.9.0 - version: 20.9.0 + specifier: ^20.9.1 + version: 20.9.1 '@types/postcss-prefix-selector': specifier: ^1.16.3 version: 1.16.3 @@ -226,8 +229,8 @@ importers: specifier: ^8.0.0 version: 8.0.0 playwright-chromium: - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.0 + version: 1.40.0 polka: specifier: 1.0.0-next.23 version: 1.0.0-next.23 @@ -247,14 +250,14 @@ importers: specifier: ^5.0.5 version: 5.0.5 rollup: - specifier: ^4.4.1 - version: 4.4.1 + specifier: ^4.5.0 + version: 4.5.0 rollup-plugin-dts: specifier: ^6.1.0 - version: 6.1.0(rollup@4.4.1)(typescript@5.2.2) + version: 6.1.0(rollup@4.5.0)(typescript@5.2.2) rollup-plugin-esbuild: specifier: ^6.1.0 - version: 6.1.0(esbuild@0.19.5)(rollup@4.4.1)(supports-color@9.4.0) + version: 6.1.0(esbuild@0.19.5)(rollup@4.5.0)(supports-color@9.4.0) semver: specifier: ^7.5.4 version: 7.5.4 @@ -278,7 +281,7 @@ importers: version: 5.2.2 vitest: specifier: ^1.0.0-beta.4 - version: 1.0.0-beta.4(@types/node@20.9.0)(supports-color@9.4.0) + version: 1.0.0-beta.5(@types/node@20.9.1)(supports-color@9.4.0) vue-tsc: specifier: ^1.8.22 version: 1.8.22(typescript@5.2.2) @@ -857,7 +860,7 @@ packages: resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} dev: true - /@rollup/plugin-alias@5.0.1(rollup@4.4.1): + /@rollup/plugin-alias@5.0.1(rollup@4.5.0): resolution: {integrity: sha512-JObvbWdOHoMy9W7SU0lvGhDtWq9PllP5mjpAy+TUslZG/WzOId9u80Hsqq1vCUn9pFJ0cxpdcnAv+QzU2zFH3Q==} engines: {node: '>=14.0.0'} peerDependencies: @@ -866,11 +869,11 @@ packages: rollup: optional: true dependencies: - rollup: 4.4.1 + rollup: 4.5.0 slash: 4.0.0 dev: true - /@rollup/plugin-commonjs@25.0.7(rollup@4.4.1): + /@rollup/plugin-commonjs@25.0.7(rollup@4.5.0): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -879,16 +882,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.5(rollup@4.4.1) + '@rollup/pluginutils': 5.0.5(rollup@4.5.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.5 - rollup: 4.4.1 + rollup: 4.5.0 dev: true - /@rollup/plugin-json@6.0.1(rollup@4.4.1): + /@rollup/plugin-json@6.0.1(rollup@4.5.0): resolution: {integrity: sha512-RgVfl5hWMkxN1h/uZj8FVESvPuBJ/uf6ly6GTj0GONnkfoBN5KC0MSz+PN2OLDgYXMhtG0mWpTrkiOjoxAIevw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -897,11 +900,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.5(rollup@4.4.1) - rollup: 4.4.1 + '@rollup/pluginutils': 5.0.5(rollup@4.5.0) + rollup: 4.5.0 dev: true - /@rollup/plugin-node-resolve@15.2.3(rollup@4.4.1): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.5.0): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -910,16 +913,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.5(rollup@4.4.1) + '@rollup/pluginutils': 5.0.5(rollup@4.5.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 4.4.1 + rollup: 4.5.0 dev: true - /@rollup/plugin-replace@5.0.5(rollup@4.4.1): + /@rollup/plugin-replace@5.0.5(rollup@4.5.0): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -928,12 +931,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.5(rollup@4.4.1) + '@rollup/pluginutils': 5.0.5(rollup@4.5.0) magic-string: 0.30.5 - rollup: 4.4.1 + rollup: 4.5.0 dev: true - /@rollup/pluginutils@5.0.5(rollup@4.4.1): + /@rollup/pluginutils@5.0.5(rollup@4.5.0): resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} engines: {node: '>=14.0.0'} peerDependencies: @@ -945,88 +948,88 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.4.1 + rollup: 4.5.0 dev: true - /@rollup/rollup-android-arm-eabi@4.4.1: - resolution: {integrity: sha512-Ss4suS/sd+6xLRu+MLCkED2mUrAyqHmmvZB+zpzZ9Znn9S8wCkTQCJaQ8P8aHofnvG5L16u9MVnJjCqioPErwQ==} + /@rollup/rollup-android-arm-eabi@4.5.0: + resolution: {integrity: sha512-OINaBGY+Wc++U0rdr7BLuFClxcoWaVW3vQYqmQq6B3bqQ/2olkaoz+K8+af/Mmka/C2yN5j+L9scBkv4BtKsDA==} cpu: [arm] os: [android] requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.4.1: - resolution: {integrity: sha512-sRSkGTvGsARwWd7TzC8LKRf8FiPn7257vd/edzmvG4RIr9x68KBN0/Ek48CkuUJ5Pj/Dp9vKWv6PEupjKWjTYA==} + /@rollup/rollup-android-arm64@4.5.0: + resolution: {integrity: sha512-UdMf1pOQc4ZmUA/NTmKhgJTBimbSKnhPS2zJqucqFyBRFPnPDtwA8MzrGNTjDeQbIAWfpJVAlxejw+/lQyBK/w==} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.4.1: - resolution: {integrity: sha512-nz0AiGrrXyaWpsmBXUGOBiRDU0wyfSXbFuF98pPvIO8O6auQsPG6riWsfQqmCCC5FNd8zKQ4JhgugRNAkBJ8mQ==} + /@rollup/rollup-darwin-arm64@4.5.0: + resolution: {integrity: sha512-L0/CA5p/idVKI+c9PcAPGorH6CwXn6+J0Ys7Gg1axCbTPgI8MeMlhA6fLM9fK+ssFhqogMHFC8HDvZuetOii7w==} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.4.1: - resolution: {integrity: sha512-Ogqvf4/Ve/faMaiPRvzsJEqajbqs00LO+8vtrPBVvLgdw4wBg6ZDXdkDAZO+4MLnrc8mhGV6VJAzYScZdPLtJg==} + /@rollup/rollup-darwin-x64@4.5.0: + resolution: {integrity: sha512-QZCbVqU26mNlLn8zi/XDDquNmvcr4ON5FYAHQQsyhrHx8q+sQi/6xduoznYXwk/KmKIXG5dLfR0CvY+NAWpFYQ==} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.4.1: - resolution: {integrity: sha512-9zc2tqlr6HfO+hx9+wktUlWTRdje7Ub15iJqKcqg5uJZ+iKqmd2CMxlgPpXi7+bU7bjfDIuvCvnGk7wewFEhCg==} + /@rollup/rollup-linux-arm-gnueabihf@4.5.0: + resolution: {integrity: sha512-VpSQ+xm93AeV33QbYslgf44wc5eJGYfYitlQzAi3OObu9iwrGXEnmu5S3ilkqE3Pr/FkgOiJKV/2p0ewf4Hrtg==} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.4.1: - resolution: {integrity: sha512-phLb1fN3rq2o1j1v+nKxXUTSJnAhzhU0hLrl7Qzb0fLpwkGMHDem+o6d+ZI8+/BlTXfMU4kVWGvy6g9k/B8L6Q==} + /@rollup/rollup-linux-arm64-gnu@4.5.0: + resolution: {integrity: sha512-OrEyIfpxSsMal44JpEVx9AEcGpdBQG1ZuWISAanaQTSMeStBW+oHWwOkoqR54bw3x8heP8gBOyoJiGg+fLY8qQ==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.4.1: - resolution: {integrity: sha512-M2sDtw4tf57VPSjbTAN/lz1doWUqO2CbQuX3L9K6GWIR5uw9j+ROKCvvUNBY8WUbMxwaoc8mH9HmmBKsLht7+w==} + /@rollup/rollup-linux-arm64-musl@4.5.0: + resolution: {integrity: sha512-1H7wBbQuE6igQdxMSTjtFfD+DGAudcYWhp106z/9zBA8OQhsJRnemO4XGavdzHpGhRtRxbgmUGdO3YQgrWf2RA==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.4.1: - resolution: {integrity: sha512-mHIlRLX+hx+30cD6c4BaBOsSqdnCE4ok7/KDvjHYAHoSuveoMMxIisZFvcLhUnyZcPBXDGZTuBoalcuh43UfQQ==} + /@rollup/rollup-linux-x64-gnu@4.5.0: + resolution: {integrity: sha512-FVyFI13tXw5aE65sZdBpNjPVIi4Q5mARnL/39UIkxvSgRAIqCo5sCpCELk0JtXHGee2owZz5aNLbWNfBHzr71Q==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.4.1: - resolution: {integrity: sha512-tB+RZuDi3zxFx7vDrjTNGVLu2KNyzYv+UY8jz7e4TMEoAj7iEt8Qk6xVu6mo3pgjnsHj6jnq3uuRsHp97DLwOA==} + /@rollup/rollup-linux-x64-musl@4.5.0: + resolution: {integrity: sha512-eBPYl2sLpH/o8qbSz6vPwWlDyThnQjJfcDOGFbNjmjb44XKC1F5dQfakOsADRVrXCNzM6ZsSIPDG5dc6HHLNFg==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.4.1: - resolution: {integrity: sha512-Hdn39PzOQowK/HZzYpCuZdJC91PE6EaGbTe2VCA9oq2u18evkisQfws0Smh9QQGNNRa/T7MOuGNQoLeXhhE3PQ==} + /@rollup/rollup-win32-arm64-msvc@4.5.0: + resolution: {integrity: sha512-xaOHIfLOZypoQ5U2I6rEaugS4IYtTgP030xzvrBf5js7p9WI9wik07iHmsKaej8Z83ZDxN5GyypfoyKV5O5TJA==} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.4.1: - resolution: {integrity: sha512-tLpKb1Elm9fM8c5w3nl4N1eLTP4bCqTYw9tqUBxX8/hsxqHO3dxc2qPbZ9PNkdK4tg4iLEYn0pOUnVByRd2CbA==} + /@rollup/rollup-win32-ia32-msvc@4.5.0: + resolution: {integrity: sha512-Al6quztQUrHwcOoU2TuFblUQ5L+/AmPBXFR6dUvyo4nRj2yQRK0WIUaGMF/uwKulvRcXkpHe3k9A8Vf93VDktA==} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.4.1: - resolution: {integrity: sha512-eAhItDX9yQtZVM3yvXS/VR3qPqcnXvnLyx1pLXl4JzyNMBNO3KC986t/iAg2zcMzpAp9JSvxB5VZGnBiNoA98w==} + /@rollup/rollup-win32-x64-msvc@4.5.0: + resolution: {integrity: sha512-8kdW+brNhI/NzJ4fxDufuJUjepzINqJKLGHuxyAtpPG9bMbn8P5mtaCcbOm0EzLJ+atg+kF9dwg8jpclkVqx5w==} cpu: [x64] os: [win32] requiresBuild: true @@ -1054,7 +1057,7 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.9.0 + '@types/node': 20.9.1 dev: true /@types/braces@3.0.4: @@ -1070,13 +1073,13 @@ packages: /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.9.0 + '@types/node': 20.9.1 dev: true /@types/cross-spawn@6.0.5: resolution: {integrity: sha512-wsIMP68FvGXk+RaWhraz6Xp4v7sl4qwzHAmtPaJEN2NRTXXI9LtFawUpeTsBNL/pd6QoLStdytCaAyiK7AEd/Q==} dependencies: - '@types/node': 20.9.0 + '@types/node': 20.9.1 dev: true /@types/debug@4.1.12: @@ -1096,7 +1099,7 @@ packages: /@types/express-serve-static-core@4.17.41: resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} dependencies: - '@types/node': 20.9.0 + '@types/node': 20.9.1 '@types/qs': 6.9.10 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -1115,7 +1118,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.9.0 + '@types/node': 20.9.1 dev: true /@types/http-errors@2.0.4: @@ -1131,7 +1134,7 @@ packages: /@types/jsonfile@6.1.4: resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} dependencies: - '@types/node': 20.9.0 + '@types/node': 20.9.1 dev: true /@types/linkify-it@3.0.5: @@ -1206,8 +1209,8 @@ packages: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: true - /@types/node@20.9.0: - resolution: {integrity: sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==} + /@types/node@20.9.1: + resolution: {integrity: sha512-HhmzZh5LSJNS5O8jQKpJ/3ZcrrlG6L70hpGqMIAoM9YVD0YBRNWYsfwcXq8VnSjlNpCpgLzMXdiPo+dxcvSmiA==} dependencies: undici-types: 5.26.5 @@ -1224,7 +1227,7 @@ packages: /@types/prompts@2.4.8: resolution: {integrity: sha512-fPOEzviubkEVCiLduO45h+zFHB0RZX8tFt3C783sO5cT7fUXf3EEECpD26djtYdh4Isa9Z9tasMQuZnYPtvYzw==} dependencies: - '@types/node': 20.9.0 + '@types/node': 20.9.1 kleur: 3.0.3 dev: true @@ -1243,14 +1246,14 @@ packages: /@types/sax@1.2.7: resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} dependencies: - '@types/node': 20.9.0 + '@types/node': 20.9.1 dev: true /@types/send@0.17.4: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.9.0 + '@types/node': 20.9.1 dev: true /@types/serve-static@1.15.5: @@ -1258,7 +1261,7 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.9.0 + '@types/node': 20.9.1 dev: true /@types/sizzle@2.3.6: @@ -1276,42 +1279,42 @@ packages: vite: ^4.0.0 || ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.0(@types/node@20.9.0) + vite: 5.0.0(@types/node@20.9.1) vue: 3.3.8(typescript@5.2.2) dev: false - /@vitest/expect@1.0.0-beta.4: - resolution: {integrity: sha512-JOpNEva2AFxfySH3F+X+hT52Kq/ZdIrGtzWYbj6yRuBuxFqM55n/7/jV4XtQG+XkmehP3OUZGx5zISOU8KHPQw==} + /@vitest/expect@1.0.0-beta.5: + resolution: {integrity: sha512-q/TPdbXuEZZNFKILEVicojSWEq1y8qPLcAiZRQD8DsYUAV2cIjsD5lJWYaAjjUAV4lzovSci3KeISQdjUdfxQQ==} dependencies: - '@vitest/spy': 1.0.0-beta.4 - '@vitest/utils': 1.0.0-beta.4 + '@vitest/spy': 1.0.0-beta.5 + '@vitest/utils': 1.0.0-beta.5 chai: 4.3.10 dev: true - /@vitest/runner@1.0.0-beta.4: - resolution: {integrity: sha512-rlXCMp5MxMVVVN5hdhzPL9NpIkfZC0EXwAtN5gwBbCBoVRv9dBQiZ5qTw+LaNmugPl8gm76U4e4/nMZS9s6wyw==} + /@vitest/runner@1.0.0-beta.5: + resolution: {integrity: sha512-o/6ZqQoKCIdI4dmdc4Yb1u3n56dU69SABXyO5yhFZTDjEMJs1DdCQ68JK+UcrpJMQndr6q5lTFrfHEhj4XJy6w==} dependencies: - '@vitest/utils': 1.0.0-beta.4 - p-limit: 4.0.0 + '@vitest/utils': 1.0.0-beta.5 + p-limit: 5.0.0 pathe: 1.1.1 dev: true - /@vitest/snapshot@1.0.0-beta.4: - resolution: {integrity: sha512-CzmHLGo4RNEQUojYtuEz8wWKp9/p3hvXskejRRJB1iCRH48uWROmoyb2iEQUhgpQw/+WwI4wRP7jek5lp48pRA==} + /@vitest/snapshot@1.0.0-beta.5: + resolution: {integrity: sha512-fsWoc/mokLawqrLFqK9MHEyzJaGeDzU5gAgky2yZJR58VSsSvW+cesvmdv9ch39xHlTzFTRPgrWkNsmbdm2gbg==} dependencies: magic-string: 0.30.5 pathe: 1.1.1 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.0.0-beta.4: - resolution: {integrity: sha512-YvKUUl7KucKzLJb8+RTd8H3G24EVPGk+CVMFawwtD/KuYjBzM8RCh3oJTTba6ktLpB8JLVy8NVTNL4Oeigqs8A==} + /@vitest/spy@1.0.0-beta.5: + resolution: {integrity: sha512-B5dx87eCiJidWGdURMS/etHE9P3JRdFEQj8HQRGI3OhMy5XcSrdAwg5oEADoqXm32GUGc7bC8Dw/q9PiCJSBIQ==} dependencies: tinyspy: 2.2.0 dev: true - /@vitest/utils@1.0.0-beta.4: - resolution: {integrity: sha512-YY4bhhVqyTxuNwuZJXiCM4/D0Z7Z3H3JDHNM8gXty7EyRUf4iPDQtXzIWe1r4zdTtoFnzFAeMr+891pWlv4SPA==} + /@vitest/utils@1.0.0-beta.5: + resolution: {integrity: sha512-5ippiVcc6KjnAZiMc5Gz5g1tWTG+21g5scr+cedYC+YxAjqZzOG/ncJuM/Eqq9a+/MAJJc5zOGBcDYl27x62jg==} dependencies: diff-sequences: 29.6.3 loupe: 2.3.7 @@ -3071,9 +3074,12 @@ packages: strip-bom: 3.0.0 dev: true - /local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} + dependencies: + mlly: 1.4.2 + pkg-types: 1.0.3 dev: true /locate-path@7.2.0: @@ -3325,7 +3331,6 @@ packages: /mrmime@1.0.1: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} - dev: true /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -3494,6 +3499,13 @@ packages: yocto-queue: 1.0.0 dev: true + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + /p-locate@6.0.0: resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3625,17 +3637,17 @@ packages: pathe: 1.1.1 dev: true - /playwright-chromium@1.39.0: - resolution: {integrity: sha512-0WVmvn9ppPbcyb2PQherIpzsvJlyjqziCZiAiexTEYSz8k6/+/3wljmFaMRMP1lcv2xKyHDn9yWd/lHb7IzYyA==} + /playwright-chromium@1.40.0: + resolution: {integrity: sha512-LEObqtviC8ik5QM9dHcx3YYGxTl2bBrUnePHibHX/a7KVbkvt1P13b9oYHylytKBh8C84pg+D3yfs/t5MgGDpg==} engines: {node: '>=16'} hasBin: true requiresBuild: true dependencies: - playwright-core: 1.39.0 + playwright-core: 1.40.0 dev: true - /playwright-core@1.39.0: - resolution: {integrity: sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==} + /playwright-core@1.40.0: + resolution: {integrity: sha512-fvKewVJpGeca8t0ipM56jkVSU6Eo0RmFvQ/MaCQNDYm+sdvKkMBBWTE1FdeMqIdumRaXXjZChWHvIzCGM/tA/Q==} engines: {node: '>=16'} hasBin: true dev: true @@ -3715,7 +3727,7 @@ packages: dependencies: find-up: 6.3.0 read-pkg: 8.1.0 - type-fest: 4.7.1 + type-fest: 4.8.1 dev: true /read-pkg@3.0.0: @@ -3734,7 +3746,7 @@ packages: '@types/normalize-package-data': 2.4.4 normalize-package-data: 6.0.0 parse-json: 7.1.1 - type-fest: 4.7.1 + type-fest: 4.8.1 dev: true /readable-stream@3.6.2: @@ -3805,7 +3817,7 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.4.1)(typescript@5.2.2): + /rollup-plugin-dts@6.1.0(rollup@4.5.0)(typescript@5.2.2): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: @@ -3813,46 +3825,46 @@ packages: typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.5 - rollup: 4.4.1 + rollup: 4.5.0 typescript: 5.2.2 optionalDependencies: '@babel/code-frame': 7.22.13 dev: true - /rollup-plugin-esbuild@6.1.0(esbuild@0.19.5)(rollup@4.4.1)(supports-color@9.4.0): + /rollup-plugin-esbuild@6.1.0(esbuild@0.19.5)(rollup@4.5.0)(supports-color@9.4.0): resolution: {integrity: sha512-HPpXU65V8bSpW8eSYPahtUJaJHmbxJGybuf/M8B3bz/6i11YaYHlNNJIQ38gSEV0FyohQOgVxJ2YMEEZtEmwvA==} engines: {node: '>=14.18.0'} peerDependencies: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 dependencies: - '@rollup/pluginutils': 5.0.5(rollup@4.4.1) + '@rollup/pluginutils': 5.0.5(rollup@4.5.0) debug: 4.3.4(supports-color@9.4.0) es-module-lexer: 1.4.1 esbuild: 0.19.5 get-tsconfig: 4.7.2 - rollup: 4.4.1 + rollup: 4.5.0 transitivePeerDependencies: - supports-color dev: true - /rollup@4.4.1: - resolution: {integrity: sha512-idZzrUpWSblPJX66i+GzrpjKE3vbYrlWirUHteoAbjKReZwa0cohAErOYA5efoMmNCdvG9yrJS+w9Kl6csaH4w==} + /rollup@4.5.0: + resolution: {integrity: sha512-41xsWhzxqjMDASCxH5ibw1mXk+3c4TNI2UjKbLxe6iEzrSQnqOzmmK8/3mufCPbzHNJ2e04Fc1ddI35hHy+8zg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.4.1 - '@rollup/rollup-android-arm64': 4.4.1 - '@rollup/rollup-darwin-arm64': 4.4.1 - '@rollup/rollup-darwin-x64': 4.4.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.4.1 - '@rollup/rollup-linux-arm64-gnu': 4.4.1 - '@rollup/rollup-linux-arm64-musl': 4.4.1 - '@rollup/rollup-linux-x64-gnu': 4.4.1 - '@rollup/rollup-linux-x64-musl': 4.4.1 - '@rollup/rollup-win32-arm64-msvc': 4.4.1 - '@rollup/rollup-win32-ia32-msvc': 4.4.1 - '@rollup/rollup-win32-x64-msvc': 4.4.1 + '@rollup/rollup-android-arm-eabi': 4.5.0 + '@rollup/rollup-android-arm64': 4.5.0 + '@rollup/rollup-darwin-arm64': 4.5.0 + '@rollup/rollup-darwin-x64': 4.5.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.5.0 + '@rollup/rollup-linux-arm64-gnu': 4.5.0 + '@rollup/rollup-linux-arm64-musl': 4.5.0 + '@rollup/rollup-linux-x64-gnu': 4.5.0 + '@rollup/rollup-linux-x64-musl': 4.5.0 + '@rollup/rollup-win32-arm64-msvc': 4.5.0 + '@rollup/rollup-win32-ia32-msvc': 4.5.0 + '@rollup/rollup-win32-x64-msvc': 4.5.0 fsevents: 2.3.3 /run-parallel@1.2.0: @@ -4313,8 +4325,8 @@ packages: engines: {node: '>=14.16'} dev: true - /type-fest@4.7.1: - resolution: {integrity: sha512-iWr8RUmzAJRfhZugX9O7nZE6pCxDU8CZ3QxsLuTnGcBLJpCaP2ll3s4eMTBoFnU/CeXY/5rfQSuAEsTGJO4y8A==} + /type-fest@4.8.1: + resolution: {integrity: sha512-ShaaYnjf+0etG8W/FumARKMjjIToy/haCaTjN2dvcewOSoNqCQzdgG7m2JVOlM5qndGTHjkvsrWZs+k/2Z7E0Q==} engines: {node: '>=16'} dev: true @@ -4415,17 +4427,16 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-node@1.0.0-beta.4(@types/node@20.9.0)(supports-color@9.4.0): - resolution: {integrity: sha512-YODjVvHd2Jih+TGMG3B99ktSyvET9w2cMevorAjcuQ3KKiPhDxEf2bRia2KsDHfnUGIfSpwoUdbcDdJ5xR7epg==} + /vite-node@1.0.0-beta.5(@types/node@20.9.1)(supports-color@9.4.0): + resolution: {integrity: sha512-iXm+GTJbR9R6V/bCM1+LQqIohL/tncZVNGIcTtzpYThBD8yiTkDPvEjy1Mf7KFACtG3qY/0VDMrkuMtqG/JFhg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: cac: 6.7.14 debug: 4.3.4(supports-color@9.4.0) - mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.0.0(@types/node@20.9.0) + vite: 5.0.0(@types/node@20.9.1) transitivePeerDependencies: - '@types/node' - less @@ -4437,7 +4448,7 @@ packages: - terser dev: true - /vite@5.0.0(@types/node@20.9.0): + /vite@5.0.0(@types/node@20.9.1): resolution: {integrity: sha512-ESJVM59mdyGpsiNAeHQOR/0fqNoOyWPYesFto8FFZugfmhdHx8Fzd8sF3Q/xkVhZsyOxHfdM7ieiVAorI9RjFw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -4465,15 +4476,15 @@ packages: terser: optional: true dependencies: - '@types/node': 20.9.0 + '@types/node': 20.9.1 esbuild: 0.19.5 postcss: 8.4.31 - rollup: 4.4.1 + rollup: 4.5.0 optionalDependencies: fsevents: 2.3.3 - /vitest@1.0.0-beta.4(@types/node@20.9.0)(supports-color@9.4.0): - resolution: {integrity: sha512-WOJTqxY3hWqn4yy26SK+cx+BlPBeK/KtY9ALWkD6FLWLhSGY0QFEmarc8sdb/UGZQ8xs5pOvcQQS9JJSV8HH8g==} + /vitest@1.0.0-beta.5(@types/node@20.9.1)(supports-color@9.4.0): + resolution: {integrity: sha512-wmrGmXMKysR+JBvIwy0COgLrRSsZTR00dN+IpWBxGC4ACF5Mt/uYyrPLJZ0ixK4P3bxI16vd92JXMsuGnm9gQQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -4497,18 +4508,18 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.9.0 - '@vitest/expect': 1.0.0-beta.4 - '@vitest/runner': 1.0.0-beta.4 - '@vitest/snapshot': 1.0.0-beta.4 - '@vitest/spy': 1.0.0-beta.4 - '@vitest/utils': 1.0.0-beta.4 - acorn: 8.11.2 + '@types/node': 20.9.1 + '@vitest/expect': 1.0.0-beta.5 + '@vitest/runner': 1.0.0-beta.5 + '@vitest/snapshot': 1.0.0-beta.5 + '@vitest/spy': 1.0.0-beta.5 + '@vitest/utils': 1.0.0-beta.5 acorn-walk: 8.3.0 cac: 6.7.14 chai: 4.3.10 debug: 4.3.4(supports-color@9.4.0) - local-pkg: 0.4.3 + execa: 8.0.1 + local-pkg: 0.5.0 magic-string: 0.30.5 pathe: 1.1.1 picocolors: 1.0.0 @@ -4516,8 +4527,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.1 - vite: 5.0.0(@types/node@20.9.0) - vite-node: 1.0.0-beta.4(@types/node@20.9.0)(supports-color@9.4.0) + vite: 5.0.0(@types/node@20.9.1) + vite-node: 1.0.0-beta.5(@types/node@20.9.1)(supports-color@9.4.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less diff --git a/src/client/app/index.ts b/src/client/app/index.ts index 31e7884b..023b93ae 100644 --- a/src/client/app/index.ts +++ b/src/client/app/index.ts @@ -48,7 +48,7 @@ const VitePressApp = defineComponent({ }) }) - if (import.meta.env.PROD) { + if (import.meta.env.PROD && site.value.router.prefetchLinks) { // in prod mode, enable intersectionObserver based pre-fetch usePrefetch() } diff --git a/src/client/app/router.ts b/src/client/app/router.ts index c81a1de5..6e4f0774 100644 --- a/src/client/app/router.ts +++ b/src/client/app/router.ts @@ -1,5 +1,6 @@ import { reactive, inject, markRaw, nextTick, readonly } from 'vue' import type { Component, InjectionKey } from 'vue' +import { lookup } from 'mrmime' import { notFoundPageData } from '../shared' import type { PageData, PageDataPayload, Awaitable } from '../shared' import { inBrowser, withBase } from './utils' @@ -181,7 +182,7 @@ export function createRouter( link.baseURI ) const currentUrl = window.location - const extMatch = pathname.match(/\.\w+$/) + const mimeType = lookup(pathname) // only intercept inbound links if ( !e.ctrlKey && @@ -190,8 +191,8 @@ export function createRouter( !e.metaKey && !target && origin === currentUrl.origin && - // don't intercept if non-html extension is present - !(extMatch && extMatch[0] !== '.html') + // intercept only html and unknown types (assume html) + (!mimeType || mimeType === 'text/html') ) { e.preventDefault() if ( diff --git a/src/client/theme-default/components/VPSwitchAppearance.vue b/src/client/theme-default/components/VPSwitchAppearance.vue index 003e14b9..16828e7e 100644 --- a/src/client/theme-default/components/VPSwitchAppearance.vue +++ b/src/client/theme-default/components/VPSwitchAppearance.vue @@ -1,5 +1,5 @@