From ea02834aff96861071c9cd482da39cc8c6a4f50b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20S=C3=A1nchez?= Date: Sun, 26 Jun 2022 21:20:57 +0200 Subject: [PATCH] docs: use `VPTeamMembers` component from `VitePress` (#1547) --- bench/package.json | 6 +- bench/pnpm-lock.yaml | 100 +++++----- docs/.vitepress/components.d.ts | 1 - docs/.vitepress/components/HomePage.vue | 9 +- docs/.vitepress/components/TeamMember.vue | 59 ------ docs/.vitepress/contributors.ts | 73 ++++--- docs/.vitepress/meta.ts | 2 + docs/.vitepress/scripts/assets.ts | 13 -- docs/.vitepress/scripts/build-pwa.ts | 15 ++ docs/.vitepress/style/main.css | 45 +++++ docs/.vitepress/style/vars.css | 13 +- docs/package.json | 8 +- docs/plugins/FixSponsorLink.ts | 229 ++++++++++++++++++++++ docs/vite.config.ts | 159 +++++++-------- package.json | 3 +- packages/vitest/LICENSE.md | 7 - pnpm-lock.yaml | 167 ++++++++++------ 17 files changed, 599 insertions(+), 310 deletions(-) delete mode 100644 docs/.vitepress/components/TeamMember.vue create mode 100644 docs/.vitepress/scripts/build-pwa.ts create mode 100644 docs/plugins/FixSponsorLink.ts diff --git a/bench/package.json b/bench/package.json index 1295a22c65e9..a3c99faa0285 100644 --- a/bench/package.json +++ b/bench/package.json @@ -2,8 +2,8 @@ "type": "module", "private": true, "scripts": { - "bench": "esno src/index.ts", - "bench:ci": "esno src/github.ts" + "bench": "esmo src/index.ts", + "bench:ci": "esmo src/github.ts" }, "devDependencies": { "@actions/core": "^1.9.0", @@ -12,7 +12,7 @@ "@happy-dom/jest-environment": "^4.1.0", "@types/benchmark": "^2.1.1", "benchmark": "^2.1.4", - "esno": "^0.16.3", + "esno": "^0.14.1", "execa": "^6.1.0", "fs-extra": "^10.1.0", "markdown-table": "^3.0.2", diff --git a/bench/pnpm-lock.yaml b/bench/pnpm-lock.yaml index e2a6574dfb17..7fe8531e2ba1 100644 --- a/bench/pnpm-lock.yaml +++ b/bench/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: 5.3 +lockfileVersion: 5.4 importers: @@ -10,7 +10,7 @@ importers: '@happy-dom/jest-environment': ^4.1.0 '@types/benchmark': ^2.1.1 benchmark: ^2.1.4 - esno: ^0.16.3 + esno: ^0.14.1 execa: ^6.1.0 fs-extra: ^10.1.0 markdown-table: ^3.0.2 @@ -23,7 +23,7 @@ importers: '@happy-dom/jest-environment': 4.1.0 '@types/benchmark': 2.1.1 benchmark: 2.1.4 - esno: 0.16.3 + esno: 0.14.1 execa: 6.1.0 fs-extra: 10.1.0 markdown-table: 3.0.2 @@ -91,7 +91,7 @@ importers: rollup: 2.75.7 splitpanes: 3.1.1 unocss: 0.39.3 - unplugin-auto-import: 0.8.8_@vueuse+core@8.7.4+rollup@2.75.7 + unplugin-auto-import: 0.8.8_iyh6i64y6me7sbel5qmrgx6wcy unplugin-vue-components: 0.19.6_rollup@2.75.7+vue@3.2.37 vite-plugin-pages: 0.24.2 vue: 3.2.37 @@ -161,7 +161,7 @@ importers: rollup: ^2.75.7 source-map-js: ^1.0.2 strip-ansi: ^7.0.1 - tinypool: ^0.1.3 + tinypool: ^0.2.1 tinyspy: ^0.3.3 typescript: ^4.7.4 vite: ^2.9.12 @@ -174,7 +174,7 @@ importers: chai: 4.3.6 debug: 4.3.4 local-pkg: 0.4.1 - tinypool: 0.1.3 + tinypool: 0.2.1 tinyspy: 0.3.3 vite: 2.9.12 devDependencies: @@ -258,11 +258,11 @@ importers: '@babel/preset-typescript': 7.17.12_@babel+core@7.18.2 '@vitejs/plugin-vue': 2.3.3_vue@3.2.37 '@vue/test-utils': 2.0.0_vue@3.2.37 - '@vue/vue3-jest': 27.0.0_42b0e14dfb61dea67ae002fa755ed344 + '@vue/vue3-jest': 27.0.0_ikyoctp3mhpkm6xaal5hkxwtiq babel-jest: 27.5.1_@babel+core@7.18.2 jest: 27.5.1 jsdom: 19.0.0 - ts-jest: 27.1.5_1de59f92b0ede13b4eb51662edd6ef98 + ts-jest: 27.1.5_dxsz7evq5xqtwtvvczro3vxpta vue: 3.2.37 packages: @@ -1789,27 +1789,6 @@ packages: - supports-color dev: true - /@esbuild-kit/cjs-loader/2.0.1: - resolution: {integrity: sha512-KmE8XouKm6m05jPIsf5CTIZZ4171GHd+PUts1mtti2tzoiD228qCRjpkCwg540c3fMUweKupO+PIpkJ9+Z7vPg==} - dependencies: - '@esbuild-kit/core-utils': 1.3.1 - get-tsconfig: 3.2.0 - dev: true - - /@esbuild-kit/core-utils/1.3.1: - resolution: {integrity: sha512-QXWJKf3mEIs+jgUCrY2YWJ2cr9e9asRYRwDhxit+wkCaQbSfV6fCCgs8KjRsrkIdMBcWsjbWnFKfwZ9kjILPrw==} - dependencies: - esbuild: 0.14.38 - source-map-support: 0.5.21 - dev: true - - /@esbuild-kit/esm-loader/2.1.5: - resolution: {integrity: sha512-G0HZSh53dXOb42xR14zEASXtVWFNX2itREVPnh6BWU2PcApbSzFEIUpknotpybuu6QupuW9sS9hVVpJjuyZlSw==} - dependencies: - '@esbuild-kit/core-utils': 1.3.1 - get-tsconfig: 3.2.0 - dev: true - /@faker-js/faker/7.3.0: resolution: {integrity: sha512-1W0PZezq2rxlAssoWemi9gFRD8IQxvf0FPL5Km3TOmGHFG7ib0TbFBJ0yC7D/1NsxunjNTK6WjUXV8ao/mKZ5w==} engines: {node: '>=14.0.0', npm: '>=6.0.0'} @@ -2786,7 +2765,7 @@ packages: vue: 3.2.37 dev: true - /@vue/vue3-jest/27.0.0_42b0e14dfb61dea67ae002fa755ed344: + /@vue/vue3-jest/27.0.0_ikyoctp3mhpkm6xaal5hkxwtiq: resolution: {integrity: sha512-VL61CgZBoQqayXfzlZJHHpZuX4lsT8dmdZMJzADhdAJjKu26JBpypHr/2ppevxItljPiuALQW4MKhhCXZRXnLg==} peerDependencies: '@babel/core': 7.x @@ -2809,7 +2788,7 @@ packages: css-tree: 2.1.0 jest: 27.5.1 source-map: 0.5.6 - ts-jest: 27.1.5_1de59f92b0ede13b4eb51662edd6ef98 + ts-jest: 27.1.5_dxsz7evq5xqtwtvvczro3vxpta tsconfig: 7.0.0 vue: 3.2.37 transitivePeerDependencies: @@ -3273,6 +3252,12 @@ packages: ieee754: 1.2.1 dev: true + /builtins/4.1.0: + resolution: {integrity: sha512-1bPRZQtmKaO6h7qV1YHXNtr6nCK28k0Zo95KM4dXfILcZZwoHJBN1m3lfLv9LPkcOZlrSr+J1bzMaZFO98Yq0w==} + dependencies: + semver: 7.3.5 + dev: true + /c8/7.11.3: resolution: {integrity: sha512-6YBmsaNmqRm9OS3ZbIiL2EZgi1+Xc4O24jL3vMYGE6idixYuGdy76rIfIdltSKDj9DpLNrcXSonUTR1miBD0wA==} engines: {node: '>=10.12.0'} @@ -4289,6 +4274,12 @@ packages: dev: true optional: true + /esbuild-node-loader/0.6.5: + resolution: {integrity: sha512-uPP+dllWm38cFvDysdocutN3lfe5pTIbddAHp1ENyLzpHYqE2r+3Wo+pfg9X3p8DFWwzIisft5YkeBIthIcixw==} + dependencies: + esbuild: 0.14.38 + dev: true + /esbuild-openbsd-64/0.14.27: resolution: {integrity: sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw==} engines: {node: '>=12'} @@ -4307,6 +4298,14 @@ packages: dev: true optional: true + /esbuild-register/3.3.3_esbuild@0.14.38: + resolution: {integrity: sha512-eFHOkutgIMJY5gc8LUp/7c+LLlDqzNi9T6AwCZ2WKKl3HmT+5ef3ZRyPPxDOynInML0fgaC50yszPKfPnjC0NQ==} + peerDependencies: + esbuild: '>=0.12 <1' + dependencies: + esbuild: 0.14.38 + dev: true + /esbuild-sunos-64/0.14.27: resolution: {integrity: sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg==} engines: {node: '>=12'} @@ -4468,11 +4467,15 @@ packages: source-map: 0.6.1 dev: true - /esno/0.16.3: - resolution: {integrity: sha512-6slSBEV1lMKcX13DBifvnDFpNno5WXhw4j/ff7RI0y51BZiDqEe5dNhhjhIQ3iCOQuzsm2MbVzmwqbN78BBhPg==} + /esno/0.14.1: + resolution: {integrity: sha512-yDFYw6dGUjCT1qKsdG7WOc/RzIh/qwxUEVZ+ohCltaxBxEFMNqeqbQL9xjRl6Yvdwrfc5OCjUA9JbFmuu/8BKg==} hasBin: true dependencies: - tsx: 3.4.2 + cross-spawn: 7.0.3 + esbuild: 0.14.38 + esbuild-node-loader: 0.6.5 + esbuild-register: 3.3.3_esbuild@0.14.38 + import-meta-resolve: 1.1.1 dev: true /esprima-extract-comments/1.1.0: @@ -4834,10 +4837,6 @@ packages: get-intrinsic: 1.1.1 dev: true - /get-tsconfig/3.2.0: - resolution: {integrity: sha512-PChG1QIKJKpzrgR/wRhX5TWMKqH1cIHViJYDk0cjXhpwXFHIGGJiL5TXu/frupyetjXXxeDInWbP4vhvhHSBkg==} - dev: true - /getos/3.2.1: resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} dependencies: @@ -5068,6 +5067,12 @@ packages: resolve-cwd: 3.0.0 dev: true + /import-meta-resolve/1.1.1: + resolution: {integrity: sha512-JiTuIvVyPaUg11eTrNDx5bgQ/yMKMZffc7YSjvQeSMXy58DO2SQ8BtAf3xteZvmzvjYh14wnqNjL8XVeDy2o9A==} + dependencies: + builtins: 4.1.0 + dev: true + /imurmurhash/0.1.4: resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} engines: {node: '>=0.8.19'} @@ -7196,8 +7201,8 @@ packages: resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} dev: true - /tinypool/0.1.3: - resolution: {integrity: sha512-2IfcQh7CP46XGWGGbdyO4pjcKqsmVqFAPcXfPxcPXmOWt9cYkTP9HcDmGgsfijYoAEc4z9qcpM/BaBz46Y9/CQ==} + /tinypool/0.2.1: + resolution: {integrity: sha512-HFU5ZYVq3wBfhSaf8qdqGsneaqXm0FgJQpoUlJbVdHpRLzm77IneKAD3RjzJWZvIv0YpPB9S7LUW53f6BE6ZSg==} engines: {node: '>=14.0.0'} dev: false @@ -7272,7 +7277,7 @@ packages: resolution: {integrity: sha512-2RpGIE0YVW6blKY756MP74czemC9x4XThhNCxq0A14Owm3ac8tZvigPbpZyZZQSyfOc7Qba5kG5xKBq74ihZfA==} dev: true - /ts-jest/27.1.5_1de59f92b0ede13b4eb51662edd6ef98: + /ts-jest/27.1.5_dxsz7evq5xqtwtvvczro3vxpta: resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -7319,17 +7324,6 @@ packages: resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} dev: true - /tsx/3.4.2: - resolution: {integrity: sha512-Rd1gm2noOUiVynF+VFxo4bVBNbzS6haWKWtlQ0bEfCLLEqm+GG3R98D3Rqk6foQ3NnJk6JAWOx1ragwcAPj4Lg==} - hasBin: true - dependencies: - '@esbuild-kit/cjs-loader': 2.0.1 - '@esbuild-kit/core-utils': 1.3.1 - '@esbuild-kit/esm-loader': 2.1.5 - optionalDependencies: - fsevents: 2.3.2 - dev: true - /tunnel-agent/0.6.0: resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=} dependencies: @@ -7494,7 +7488,7 @@ packages: - vite dev: true - /unplugin-auto-import/0.8.8_@vueuse+core@8.7.4+rollup@2.75.7: + /unplugin-auto-import/0.8.8_iyh6i64y6me7sbel5qmrgx6wcy: resolution: {integrity: sha512-cVZ79zMR1v4VCZ9emFTUnltmazCc2B4hObyVrxJdlgJ2sK8qub6JfjFt38rCF6MVEddkHiWCU6wZR1qbdqe+ig==} engines: {node: '>=14'} peerDependencies: diff --git a/docs/.vitepress/components.d.ts b/docs/.vitepress/components.d.ts index 98b1ea18716e..3ebc6d3315c1 100644 --- a/docs/.vitepress/components.d.ts +++ b/docs/.vitepress/components.d.ts @@ -11,7 +11,6 @@ declare module '@vue/runtime-core' { ListItem: typeof import('./components/ListItem.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] - TeamMember: typeof import('./components/TeamMember.vue')['default'] } } diff --git a/docs/.vitepress/components/HomePage.vue b/docs/.vitepress/components/HomePage.vue index 4d2e7dc6ae99..22eae54943e1 100644 --- a/docs/.vitepress/components/HomePage.vue +++ b/docs/.vitepress/components/HomePage.vue @@ -1,4 +1,5 @@ @@ -10,12 +11,8 @@ import { teamMembers } from '../contributors'

Meet The Team

-
- +
+

Contributors diff --git a/docs/.vitepress/components/TeamMember.vue b/docs/.vitepress/components/TeamMember.vue deleted file mode 100644 index cd9ecbd49292..000000000000 --- a/docs/.vitepress/components/TeamMember.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - diff --git a/docs/.vitepress/contributors.ts b/docs/.vitepress/contributors.ts index de04ea4c5199..ec351623e44f 100644 --- a/docs/.vitepress/contributors.ts +++ b/docs/.vitepress/contributors.ts @@ -5,13 +5,22 @@ export interface Contributor { avatar: string } +export interface SocialEntry { + icon: string + link: string +} + export interface CoreTeam { avatar: string name: string + // required to download avatars from GitHub github: string - twitter?: string - sponsors?: boolean - description: string + twitter: string + sponsor?: string + title?: string + org?: string + desc?: string + links?: SocialEntry[] } const contributorsAvatars: Record = {} @@ -24,61 +33,77 @@ export const contributors = (contributorNames as string[]).reduce((acc, name) => return acc }, [] as Contributor[]) -export const teamMembers: CoreTeam[] = [ +const createLinks = (tm: CoreTeam): CoreTeam => { + tm.links = [ + { icon: 'github', link: `https://github.com/${tm.github}` }, + { icon: 'twitter', link: `https://twitter.com/${tm.twitter}` }, + ] + return tm +} + +const plainTeamMembers: CoreTeam[] = [ { avatar: contributorsAvatars.antfu, name: 'Anthony Fu', github: 'antfu', twitter: 'antfu7', - sponsors: true, - description: 'A fanatical open sourceror
Core team member of Vite & Vue
Working at NuxtLabs', - }, - { - avatar: contributorsAvatars['patak-dev'], - name: 'Patak', - github: 'patak-dev', - twitter: 'patak_dev', - sponsors: true, - description: 'A collaborative being
Core team member of Vite
Team member of Vue', + sponsor: 'https://github.com/sponsors/antfu', + title: 'A fanatical open sourceror, working', + org: 'NuxtLabs', + desc: 'Core team member of Vite & Vue', }, { avatar: contributorsAvatars['sheremet-va'], name: 'Vladimir', github: 'sheremet-va', twitter: 'sheremet_va', - sponsors: false, - description: 'An open source fullstack developer', + title: 'An open source fullstack developer', + desc: 'Core team member of Vitest', + }, + { + avatar: contributorsAvatars['patak-dev'], + name: 'Patak', + github: 'patak-dev', + twitter: 'patak_dev', + sponsor: 'https://github.com/sponsors/patak-dev', + title: 'A collaborative being, working', + org: 'StackBlitz', + desc: 'Core team member of Vite & Vue', }, { avatar: contributorsAvatars.Aslemammad, name: 'Mohammad Bagher', github: 'Aslemammad', twitter: 'asleMammadam', - sponsors: false, - description: 'An open source developer
Team member of Poimandres and Vike', + title: 'An open source developer', + desc: 'Team member of Poimandres & Vike', }, { avatar: contributorsAvatars.Demivan, name: 'Ivan Demchuk', github: 'Demivan', twitter: 'IvanDemchuk', - sponsors: false, - description: 'A tech lead, fullstack developer
Author of fluent-vue', + title: 'A tech lead, fullstack developer', + desc: 'Author of fluent-vue', }, { avatar: contributorsAvatars.userquin, name: 'Joaquín Sánchez', github: 'userquin', twitter: 'userquin', - sponsors: false, - description: 'A fullstack and android developer
Vite\'s fanatical follower', + title: 'A fullstack and android developer', + desc: 'Vite\'s fanatical follower', }, { avatar: contributorsAvatars.zxch3n, name: 'Zixuan Chen', github: 'zxch3n', twitter: 'zxch3n', - sponsors: false, - description: 'A fullstack developer
Creating tools for collaboration', + title: 'A fullstack developer', + desc: 'Creating tools for collaboration', }, ] + +const teamMembers = plainTeamMembers.map(tm => createLinks(tm)) + +export { teamMembers } diff --git a/docs/.vitepress/meta.ts b/docs/.vitepress/meta.ts index eea342567a0e..617398b9d2b8 100644 --- a/docs/.vitepress/meta.ts +++ b/docs/.vitepress/meta.ts @@ -28,3 +28,5 @@ export const preconnectHomeLinks = [googleapis, gstatic] /* PWA runtime caching urlPattern regular expressions */ export const pwaFontsRegex = new RegExp(`^${googleapis}/.*`, 'i') export const pwaFontStylesRegex = new RegExp(`^${gstatic}/.*`, 'i') +// eslint-disable-next-line prefer-regex-literals +export const githubusercontentRegex = new RegExp('^https://((i.ibb.co)|((raw|user-images).githubusercontent.com))/.*', 'i') diff --git a/docs/.vitepress/scripts/assets.ts b/docs/.vitepress/scripts/assets.ts index 2daca50f7d9d..ffc6a913ec20 100644 --- a/docs/.vitepress/scripts/assets.ts +++ b/docs/.vitepress/scripts/assets.ts @@ -67,19 +67,6 @@ ${prefetchImg} ) } - // TODO: dark/light theme, don't remove yet - // html = html.replace( - // '', - // '\t\n', - // ) - html = html.replace( /aria-hidden="true"/gi, 'tabindex="-1" aria-hidden="true"', diff --git a/docs/.vitepress/scripts/build-pwa.ts b/docs/.vitepress/scripts/build-pwa.ts new file mode 100644 index 000000000000..0a0fc34d649e --- /dev/null +++ b/docs/.vitepress/scripts/build-pwa.ts @@ -0,0 +1,15 @@ +import { resolveConfig } from 'vite' +import type { VitePluginPWAAPI } from 'vite-plugin-pwa' +import { optimizePages } from './assets' + +const rebuildPwa = async () => { + const config = await resolveConfig({}, 'build', 'production') + // when `vite-plugin-pwa` is presented, use it to regenerate SW after rendering + const pwaPlugin: VitePluginPWAAPI = config.plugins.find(i => i.name === 'vite-plugin-pwa')?.api + const pwa = pwaPlugin && !pwaPlugin.disabled + await optimizePages(pwa) + if (pwa) + await pwaPlugin.generateSW() +} + +rebuildPwa() diff --git a/docs/.vitepress/style/main.css b/docs/.vitepress/style/main.css index 55c046351b2f..91eac95f9752 100644 --- a/docs/.vitepress/style/main.css +++ b/docs/.vitepress/style/main.css @@ -30,4 +30,49 @@ img.resizable-img { height: unset; } +/* fix height ~ 2 lines of text: 3 or more cards per row */ +.VPTeamMembersItem.small .profile .data .affiliation { + min-height: 3rem; +} +.VPTeamMembersItem.small .profile .data .desc { + min-height: 3rem; +} + +/* fix height ~ 3 lines of text: 4 cards per row */ +@media (min-width: 1064px) and (max-width: 1143px) { + .VPTeamMembersItem.small .profile .data .affiliation { + min-height: 4rem; + } + .VPTeamMembersItem.small .profile .data .desc { + min-height: 4rem; + } +} +/* fix height ~ 3 lines of text: 3 cards per row */ +@media (min-width: 815px) and (max-width: 875px) { + .VPTeamMembersItem.small .profile .data .affiliation { + min-height: 4rem; + } + .VPTeamMembersItem.small .profile .data .desc { + min-height: 4rem; + } +} +/* fix height ~ 3 lines of text: 2 cards per row */ +@media (max-width: 612px) { + .VPTeamMembersItem.small .profile .data .affiliation { + min-height: 4rem; + } + .VPTeamMembersItem.small .profile .data .desc { + min-height: 4rem; + } +} +/* fix height: one card per row */ +@media (max-width: 568px) { + .VPTeamMembersItem.small .profile .data .affiliation { + min-height: unset; + } + .VPTeamMembersItem.small .profile .data .desc { + min-height: unset; + } +} + diff --git a/docs/.vitepress/style/vars.css b/docs/.vitepress/style/vars.css index 8463e9257cdc..9552c8b04179 100644 --- a/docs/.vitepress/style/vars.css +++ b/docs/.vitepress/style/vars.css @@ -11,14 +11,23 @@ --vp-c-brand-darker: #52730d; --vp-c-text-code: #5d6f5d; --vp-code-block-bg: rgba(125,125,125,0.04); - --vp-custom-block-tip-text: rgb(18, 181, 157); - --vp-custom-block-tip-border: rgba(18, 181, 157, 0.5); + /* fix TIP on light: the default one is too light (2 in contrast) */ + --vp-custom-block-tip-text: rgb(12, 124, 108); + --vp-custom-block-tip-border: rgba(12, 124, 108, 0.5); --vp-custom-block-tip-bg: rgba(18, 181, 157, 0.1); + /* fix contrast on gray cards: used by --vp-c-text-2 */ + --vp-c-text-light-2: rgba(56 56 56 / 70%); } .dark { --vp-code-block-bg: rgba(0,0,0,0.2); --vp-c-text-code: #c0cec0; + /* fix TIP: check the same above (these are the defaults) */ + --vp-custom-block-tip-text: rgb(18, 181, 157); + --vp-custom-block-tip-border: rgba(18, 181, 157, 0.5); + --vp-custom-block-tip-bg: rgba(18, 181, 157, 0.1); + /* fix contrast on gray cards: check the same above (this is the default) */ + --vp-c-text-dark-2: rgba(235, 235, 235, 0.60); } /** diff --git a/docs/package.json b/docs/package.json index 809465c75a87..1206098061e1 100644 --- a/docs/package.json +++ b/docs/package.json @@ -3,9 +3,11 @@ "private": true, "scripts": { "dev": "vitepress --port 3333 --open", - "build": "nr prefetch && vitepress build", + "build": "nr prefetch && vitepress build && esno .vitepress/scripts/build-pwa.ts", + "build-no-prefetch": "vitepress build && esno .vitepress/scripts/build-pwa.ts", "serve": "vitepress serve", "preview-https": "pnpm run build && serve .vitepress/dist", + "preview-https-no-prefecth": "pnpm run build-no-prefetch && serve .vitepress/dist", "prefetch": "esno .vitepress/scripts/fetch-avatars.ts" }, "dependencies": { @@ -17,13 +19,13 @@ "@types/node": "^17.0.35", "@unocss/reset": "^0.39.3", "@vitejs/plugin-vue": "^2.3.3", - "esno": "^0.16.3", + "esno": "^0.14.1", "fast-glob": "^3.2.11", "https-localhost": "^4.7.1", "unocss": "^0.39.3", "unplugin-vue-components": "^0.19.6", "vite-plugin-pwa": "^0.12.0", - "vitepress": "^1.0.0-alpha.2", + "vitepress": "^1.0.0-alpha.4", "workbox-window": "^6.5.3" } } diff --git a/docs/plugins/FixSponsorLink.ts b/docs/plugins/FixSponsorLink.ts new file mode 100644 index 000000000000..fc43d453bebb --- /dev/null +++ b/docs/plugins/FixSponsorLink.ts @@ -0,0 +1,229 @@ +import type { Plugin } from 'vite' + +export default function SponsorLinkFix(): Plugin { + return { + name: 'vitepress-sponsor-link-fix', + enforce: 'pre', + transform(code, id) { + if (id.includes('VPTeamMembersItem.vue') && !id.endsWith('.css')) { + return ` + + + + + +` + } + }, + } +} diff --git a/docs/vite.config.ts b/docs/vite.config.ts index 6741a9a631a1..5a389ac7d20e 100644 --- a/docs/vite.config.ts +++ b/docs/vite.config.ts @@ -5,82 +5,17 @@ import Components from 'unplugin-vue-components/vite' import Unocss from 'unocss/vite' import { presetAttributify, presetIcons, presetUno } from 'unocss' import { resolve } from 'pathe' -import type { VitePluginPWAAPI } from 'vite-plugin-pwa' import { VitePWA } from 'vite-plugin-pwa' import fg from 'fast-glob' import { + githubusercontentRegex, pwaFontStylesRegex, pwaFontsRegex, vitestDescription, vitestName, vitestShortName, } from './.vitepress/meta' -import { optimizePages } from './.vitepress/scripts/assets' - -const PWA = VitePWA({ - outDir: '.vitepress/dist', - registerType: 'autoUpdate', - // include all static assets under public/ - includeAssets: fg.sync('**/*.{png,svg,ico,txt}', { cwd: resolve(__dirname, 'public') }), - manifest: { - id: '/', - name: vitestName, - short_name: vitestShortName, - description: vitestDescription, - theme_color: '#ffffff', - icons: [ - { - src: 'pwa-192x192.png', - sizes: '192x192', - type: 'image/png', - }, - { - src: 'pwa-512x512.png', - sizes: '512x512', - type: 'image/png', - }, - { - src: 'logo.svg', - sizes: '165x165', - type: 'image/svg', - purpose: 'any maskable', - }, - ], - }, - workbox: { - navigateFallbackDenylist: [/^\/new$/], - runtimeCaching: [ - { - urlPattern: pwaFontsRegex, - handler: 'CacheFirst', - options: { - cacheName: 'google-fonts-cache', - expiration: { - maxEntries: 10, - maxAgeSeconds: 60 * 60 * 24 * 365, // <== 365 days - }, - cacheableResponse: { - statuses: [0, 200], - }, - }, - }, - { - urlPattern: pwaFontStylesRegex, - handler: 'CacheFirst', - options: { - cacheName: 'gstatic-fonts-cache', - expiration: { - maxEntries: 10, - maxAgeSeconds: 60 * 60 * 24 * 365, // <== 365 days - }, - cacheableResponse: { - statuses: [0, 200], - }, - }, - }, - ], - }, -}) +import SponsorLinkFix from './plugins/FixSponsorLink' export default defineConfig({ plugins: [ @@ -103,19 +38,87 @@ export default defineConfig({ }), ], }), + SponsorLinkFix(), IncludesPlugin(), - PWA, - { - name: 'pwa:post', - enforce: 'post', - async buildEnd() { - const pwaPlugin: VitePluginPWAAPI = PWA.find(i => i.name === 'vite-plugin-pwa')?.api - const pwa = pwaPlugin && !pwaPlugin.disabled - await optimizePages(pwa) - if (pwa) - await pwaPlugin.generateSW() + VitePWA({ + outDir: '.vitepress/dist', + registerType: 'autoUpdate', + // include all static assets under public/ + includeAssets: fg.sync('**/*.{png,svg,ico,txt}', { cwd: resolve(__dirname, 'public') }), + manifest: { + id: '/', + name: vitestName, + short_name: vitestShortName, + description: vitestDescription, + theme_color: '#ffffff', + icons: [ + { + src: 'pwa-192x192.png', + sizes: '192x192', + type: 'image/png', + }, + { + src: 'pwa-512x512.png', + sizes: '512x512', + type: 'image/png', + }, + { + src: 'logo.svg', + sizes: '165x165', + type: 'image/svg', + purpose: 'any maskable', + }, + ], }, - }, + workbox: { + navigateFallbackDenylist: [/^\/new$/], + globPatterns: ['**/*.{css,js,html,woff2}'], + runtimeCaching: [ + { + urlPattern: pwaFontsRegex, + handler: 'CacheFirst', + options: { + cacheName: 'google-fonts-cache', + expiration: { + maxEntries: 10, + maxAgeSeconds: 60 * 60 * 24 * 365, // <== 365 days + }, + cacheableResponse: { + statuses: [0, 200], + }, + }, + }, + { + urlPattern: pwaFontStylesRegex, + handler: 'CacheFirst', + options: { + cacheName: 'gstatic-fonts-cache', + expiration: { + maxEntries: 10, + maxAgeSeconds: 60 * 60 * 24 * 365, // <== 365 days + }, + cacheableResponse: { + statuses: [0, 200], + }, + }, + }, + { + urlPattern: githubusercontentRegex, + handler: 'CacheFirst', + options: { + cacheName: 'githubusercontent-images-cache', + expiration: { + maxEntries: 10, + maxAgeSeconds: 60 * 60 * 24 * 365, // <== 365 days + }, + cacheableResponse: { + statuses: [0, 200], + }, + }, + }, + ], + }, + }), ], }) diff --git a/package.json b/package.json index 59aecb4120a7..554a3ce27f50 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "docs:build": "pnpm -C docs run build", "docs:serve": "pnpm -C docs run serve", "docs:https": "pnpm -C docs run preview-https", + "docs:https-no-prefetch": "pnpm -C docs run preview-https-no-prefecth", "docs:examples": "esmo scripts/update-examples.ts", "docs:contributors": "esmo scripts/update-contributors.ts", "lint": "eslint .", @@ -44,7 +45,7 @@ "cross-env": "^7.0.3", "esbuild": "~0.14.47", "eslint": "^8.18.0", - "esno": "^0.16.3", + "esno": "^0.14.1", "fast-glob": "^3.2.11", "if-node-version": "^1.1.1", "lint-staged": "^12.5.0", diff --git a/packages/vitest/LICENSE.md b/packages/vitest/LICENSE.md index cfd44623b6d1..afb0b813f543 100644 --- a/packages/vitest/LICENSE.md +++ b/packages/vitest/LICENSE.md @@ -465,13 +465,6 @@ Repository: git://github.com/kpdecker/jsdiff.git --------------------------------------- -## eastasianwidth -License: MIT -By: Masaki Komagata -Repository: git://github.com/komagata/eastasianwidth.git - ---------------------------------------- - ## emoji-regex License: MIT By: Mathias Bynens diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bb0df92459a6..7b1234bf2cfc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,7 +24,7 @@ importers: cross-env: ^7.0.3 esbuild: ^0.14.47 eslint: ^8.18.0 - esno: ^0.16.3 + esno: ^0.14.1 fast-glob: ^3.2.11 if-node-version: ^1.1.1 lint-staged: ^12.5.0 @@ -60,7 +60,7 @@ importers: cross-env: 7.0.3 esbuild: 0.14.47 eslint: 8.18.0 - esno: 0.16.3 + esno: 0.14.1 fast-glob: 3.2.11 if-node-version: 1.1.1 lint-staged: 12.5.0 @@ -88,13 +88,13 @@ importers: '@unocss/reset': ^0.39.3 '@vitejs/plugin-vue': ^2.3.3 '@vueuse/core': ^8.7.4 - esno: ^0.16.3 + esno: ^0.14.1 fast-glob: ^3.2.11 https-localhost: ^4.7.1 unocss: ^0.39.3 unplugin-vue-components: ^0.19.6 vite-plugin-pwa: ^0.12.0 - vitepress: ^1.0.0-alpha.2 + vitepress: ^1.0.0-alpha.4 vue: ^3.2.37 workbox-window: ^6.5.3 dependencies: @@ -105,13 +105,13 @@ importers: '@types/node': 17.0.35 '@unocss/reset': 0.39.3 '@vitejs/plugin-vue': 2.3.3_vite@2.9.12+vue@3.2.37 - esno: 0.16.3 + esno: 0.14.1 fast-glob: 3.2.11 https-localhost: 4.7.1 unocss: 0.39.3_vite@2.9.12 - unplugin-vue-components: 0.19.6_otqemb7qluv7nqo3rdkhuopmwy + unplugin-vue-components: 0.19.6_7felabkkrfdt7dxozyactxvh24 vite-plugin-pwa: 0.12.0_vite@2.9.12 - vitepress: 1.0.0-alpha.2_ohobp6rpsmerwlq5ipwfh5yigy + vitepress: 1.0.0-alpha.4_ohobp6rpsmerwlq5ipwfh5yigy workbox-window: 6.5.3 examples/basic: @@ -162,7 +162,7 @@ importers: lit: 2.2.5 devDependencies: '@vitest/ui': link:../../packages/ui - happy-dom: 5.3.1 + happy-dom: 5.3.2 vite: 2.9.12 vitest: link:../../packages/vitest @@ -1270,7 +1270,7 @@ packages: resolution: {integrity: sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.18.2 + '@babel/types': 7.18.4 '@jridgewell/gen-mapping': 0.3.1 jsesc: 2.5.2 @@ -3258,27 +3258,6 @@ packages: /@emotion/weak-memoize/0.2.5: resolution: {integrity: sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==} - /@esbuild-kit/cjs-loader/2.0.1: - resolution: {integrity: sha512-KmE8XouKm6m05jPIsf5CTIZZ4171GHd+PUts1mtti2tzoiD228qCRjpkCwg540c3fMUweKupO+PIpkJ9+Z7vPg==} - dependencies: - '@esbuild-kit/core-utils': 1.3.0 - get-tsconfig: 3.0.1 - dev: true - - /@esbuild-kit/core-utils/1.3.0: - resolution: {integrity: sha512-c3N86nZAgU7soEbSCyLGVVf+9iz5fWw4ujK6e8KSDN3PuVFD6G9JVyLsNWvNoWLmNANb0YKxuhqdOLM4kAK66w==} - dependencies: - esbuild: 0.14.47 - dev: true - - /@esbuild-kit/esm-loader/2.1.4: - resolution: {integrity: sha512-acfzciUGugu1TV1QHJOAOe6F5miEjQLDYMWhoD4mVPFmwHA8Iwp5UCJidyruj67qp2ybu+Zc++7+th9VnYaZMA==} - dependencies: - '@esbuild-kit/core-utils': 1.3.0 - es-module-lexer: 0.10.5 - get-tsconfig: 3.0.1 - dev: true - /@eslint/eslintrc/1.3.0: resolution: {integrity: sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -8793,6 +8772,12 @@ packages: resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} dev: true + /builtins/4.1.0: + resolution: {integrity: sha512-1bPRZQtmKaO6h7qV1YHXNtr6nCK28k0Zo95KM4dXfILcZZwoHJBN1m3lfLv9LPkcOZlrSr+J1bzMaZFO98Yq0w==} + dependencies: + semver: 7.3.7 + dev: true + /builtins/5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: @@ -9440,7 +9425,7 @@ packages: dev: true /concat-map/0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} /concat-stream/1.6.2: resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} @@ -10833,7 +10818,7 @@ packages: dev: true /ee-first/1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} dev: true /ejs/3.1.7: @@ -11099,10 +11084,6 @@ packages: isarray: 2.0.5 dev: true - /es-module-lexer/0.10.5: - resolution: {integrity: sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==} - dev: true - /es-module-lexer/0.9.3: resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} dev: true @@ -11251,6 +11232,12 @@ packages: requiresBuild: true optional: true + /esbuild-node-loader/0.6.5: + resolution: {integrity: sha512-uPP+dllWm38cFvDysdocutN3lfe5pTIbddAHp1ENyLzpHYqE2r+3Wo+pfg9X3p8DFWwzIisft5YkeBIthIcixw==} + dependencies: + esbuild: 0.14.47 + dev: true + /esbuild-openbsd-64/0.14.47: resolution: {integrity: sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==} engines: {node: '>=12'} @@ -11259,6 +11246,14 @@ packages: requiresBuild: true optional: true + /esbuild-register/3.3.3_esbuild@0.14.47: + resolution: {integrity: sha512-eFHOkutgIMJY5gc8LUp/7c+LLlDqzNi9T6AwCZ2WKKl3HmT+5ef3ZRyPPxDOynInML0fgaC50yszPKfPnjC0NQ==} + peerDependencies: + esbuild: '>=0.12 <1' + dependencies: + esbuild: 0.14.47 + dev: true + /esbuild-sunos-64/0.14.47: resolution: {integrity: sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==} engines: {node: '>=12'} @@ -11690,11 +11685,15 @@ packages: - supports-color dev: true - /esno/0.16.3: - resolution: {integrity: sha512-6slSBEV1lMKcX13DBifvnDFpNno5WXhw4j/ff7RI0y51BZiDqEe5dNhhjhIQ3iCOQuzsm2MbVzmwqbN78BBhPg==} + /esno/0.14.1: + resolution: {integrity: sha512-yDFYw6dGUjCT1qKsdG7WOc/RzIh/qwxUEVZ+ohCltaxBxEFMNqeqbQL9xjRl6Yvdwrfc5OCjUA9JbFmuu/8BKg==} hasBin: true dependencies: - tsx: 3.4.2 + cross-spawn: 7.0.3 + esbuild: 0.14.47 + esbuild-node-loader: 0.6.5 + esbuild-register: 3.3.3_esbuild@0.14.47 + import-meta-resolve: 1.1.1 dev: true /espree/9.3.2: @@ -12613,10 +12612,6 @@ packages: get-intrinsic: 1.1.1 dev: true - /get-tsconfig/3.0.1: - resolution: {integrity: sha512-+m30eQjbcf3xMNdnacXH5IDAKUMbI7Mhbf3e1BHif1FzBlUhBzBlmOVc7kL4+kB035l8OCyBdI3dNXZ3of9HqA==} - dev: true - /get-value/2.0.6: resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} engines: {node: '>=0.10.0'} @@ -12821,8 +12816,8 @@ packages: - encoding dev: true - /happy-dom/5.3.1: - resolution: {integrity: sha512-zVb0VUIK73lMZR4e9ntaEQSRTf8/Rrz9MlO2VQMOn68aZAC3qoMPS/81Rkfva4vMR+bKXDqkeHiw7HumvvBmag==} + /happy-dom/5.3.2: + resolution: {integrity: sha512-TVTS1wGeSi3oCi0gqBA97DvsvS5nOuB2GTSdQlvxQ/JgntDjXHbf/xj1VMXenLomGjm9Keu0IW5ExBXHhoE8zQ==} dependencies: css.escape: 1.5.1 he: 1.2.0 @@ -13337,6 +13332,12 @@ packages: resolve-cwd: 3.0.0 dev: true + /import-meta-resolve/1.1.1: + resolution: {integrity: sha512-JiTuIvVyPaUg11eTrNDx5bgQ/yMKMZffc7YSjvQeSMXy58DO2SQ8BtAf3xteZvmzvjYh14wnqNjL8XVeDy2o9A==} + dependencies: + builtins: 4.1.0 + dev: true + /imurmurhash/0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -19683,17 +19684,6 @@ packages: typescript: 4.7.4 dev: true - /tsx/3.4.2: - resolution: {integrity: sha512-Rd1gm2noOUiVynF+VFxo4bVBNbzS6haWKWtlQ0bEfCLLEqm+GG3R98D3Rqk6foQ3NnJk6JAWOx1ragwcAPj4Lg==} - hasBin: true - dependencies: - '@esbuild-kit/cjs-loader': 2.0.1 - '@esbuild-kit/core-utils': 1.3.0 - '@esbuild-kit/esm-loader': 2.1.4 - optionalDependencies: - fsevents: 2.3.2 - dev: true - /tty-browserify/0.0.0: resolution: {integrity: sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=} dev: true @@ -20120,6 +20110,38 @@ packages: - webpack dev: true + /unplugin-vue-components/0.19.6_7felabkkrfdt7dxozyactxvh24: + resolution: {integrity: sha512-APvrJ9Hpid1MLT0G4PWerMJgARhNw6dzz0pcCwCxaO2DR7VyvDacMqjOQNC6ukq7FSw3wzD8VH+9i3EFXwkGmw==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@babel/traverse': ^7.15.4 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@babel/traverse': + optional: true + dependencies: + '@antfu/utils': 0.5.2 + '@rollup/pluginutils': 4.2.1 + chokidar: 3.5.3 + debug: 4.3.4 + fast-glob: 3.2.11 + local-pkg: 0.4.1 + magic-string: 0.26.2 + minimatch: 5.0.1 + resolve: 1.22.0 + unplugin: 0.6.3_4mifhig4dhgnrt67tg257xfjai + vue: 3.2.37 + transitivePeerDependencies: + - esbuild + - rollup + - supports-color + - vite + - webpack + dev: true + /unplugin-vue-components/0.19.6_otqemb7qluv7nqo3rdkhuopmwy: resolution: {integrity: sha512-APvrJ9Hpid1MLT0G4PWerMJgARhNw6dzz0pcCwCxaO2DR7VyvDacMqjOQNC6ukq7FSw3wzD8VH+9i3EFXwkGmw==} engines: {node: '>=14'} @@ -20239,6 +20261,31 @@ packages: webpack-virtual-modules: 0.4.3 dev: true + /unplugin/0.6.3_4mifhig4dhgnrt67tg257xfjai: + resolution: {integrity: sha512-CoW88FQfCW/yabVc4bLrjikN9HC8dEvMU4O7B6K2jsYMPK0l6iAnd9dpJwqGcmXJKRCU9vwSsy653qg+RK0G6A==} + peerDependencies: + esbuild: '>=0.13' + rollup: ^2.50.0 + vite: ^2.3.0 + webpack: 4 || 5 + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + dependencies: + chokidar: 3.5.3 + esbuild: 0.14.47 + rollup: 2.75.7 + vite: 2.9.12 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.4.3 + dev: true + /unplugin/0.6.3_rollup@2.75.7+vite@2.9.12: resolution: {integrity: sha512-CoW88FQfCW/yabVc4bLrjikN9HC8dEvMU4O7B6K2jsYMPK0l6iAnd9dpJwqGcmXJKRCU9vwSsy653qg+RK0G6A==} peerDependencies: @@ -20386,7 +20433,7 @@ packages: dev: true /util-deprecate/1.0.2: - resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true /util.promisify/1.0.0: @@ -20413,7 +20460,7 @@ packages: dev: true /utils-merge/1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} engines: {node: '>= 0.4.0'} dev: true @@ -20706,8 +20753,8 @@ packages: optionalDependencies: fsevents: 2.3.2 - /vitepress/1.0.0-alpha.2_ohobp6rpsmerwlq5ipwfh5yigy: - resolution: {integrity: sha512-twSsmx2DI/3XgZZ8KLyRAH8RgK2Zj4kJx/kwhZhimwndYqQDrtcIaAcuV+P3FKukZ+cYtm9yt9qohz631jKx4A==} + /vitepress/1.0.0-alpha.4_ohobp6rpsmerwlq5ipwfh5yigy: + resolution: {integrity: sha512-bOAA4KW6vYGlkbcrPLZLTKWTgXVroObU+o9xj9EENyEl6yg26WWvfN7DGA4BftjdM5O8nR93Z5khPQ3W/tFE7Q==} engines: {node: '>=14.6.0'} hasBin: true dependencies: