mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-19 22:41:42 +01:00
docs: improve multi-source handling (#682)
This commit is contained in:
21
docs/app.vue
21
docs/app.vue
@@ -10,7 +10,7 @@
|
||||
<Footer />
|
||||
|
||||
<ClientOnly>
|
||||
<LazyUDocsSearch ref="searchRef" :files="files" :navigation="navigation" />
|
||||
<LazyUDocsSearch ref="searchRef" :files="files" :navigation="navigation" :groups="groups" />
|
||||
</ClientOnly>
|
||||
|
||||
<UNotifications>
|
||||
@@ -28,29 +28,32 @@
|
||||
<script setup lang="ts">
|
||||
import { withoutTrailingSlash } from 'ufo'
|
||||
import { debounce } from 'perfect-debounce'
|
||||
import type { ParsedContent } from '@nuxt/content/dist/runtime/types'
|
||||
|
||||
const searchRef = ref()
|
||||
|
||||
const route = useRoute()
|
||||
const colorMode = useColorMode()
|
||||
const { prefix, removePrefixFromNavigation, removePrefixFromFiles } = useContentSource()
|
||||
const { branch, branches } = useContentSource()
|
||||
|
||||
const { data: nav } = await useAsyncData('navigation', () => fetchContentNavigation())
|
||||
|
||||
const { data: search } = useLazyFetch('/api/search.json', { default: () => [], server: false })
|
||||
const { data: files } = useLazyFetch<ParsedContent[]>('/api/search.json', { default: () => [], server: false })
|
||||
|
||||
// Computed
|
||||
|
||||
const navigation = computed(() => {
|
||||
const navigation = nav.value.find(link => link._path === prefix.value)?.children || []
|
||||
const main = nav.value.filter(item => item._path !== '/dev')
|
||||
const dev = nav.value.find(item => item._path === '/dev')?.children
|
||||
|
||||
return prefix.value === '/main' ? removePrefixFromNavigation(navigation) : navigation
|
||||
return branch.value?.name === 'dev' ? dev : main
|
||||
})
|
||||
|
||||
const files = computed(() => {
|
||||
const files = search.value.filter(file => file._path.startsWith(prefix.value))
|
||||
const groups = computed(() => {
|
||||
if (route.path === '/') {
|
||||
return []
|
||||
}
|
||||
|
||||
return prefix.value === '/main' ? removePrefixFromFiles(files) : files
|
||||
return [{ key: 'branch', label: 'Branch', commands: branches.value }]
|
||||
})
|
||||
|
||||
const color = computed(() => colorMode.value === 'dark' ? '#18181b' : 'white')
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
color="gray"
|
||||
:ui="{ icon: { trailing: { padding: { sm: 'pe-1.5' } } } }"
|
||||
:ui-menu="{ option: { container: 'gap-1.5' } }"
|
||||
@update:model-value="selectBranch"
|
||||
@update:model-value="select"
|
||||
>
|
||||
<template #label>
|
||||
<UIcon v-if="branch.icon" :name="branch.icon" class="w-4 h-4 flex-shrink-0 text-gray-600 dark:text-gray-300" />
|
||||
@@ -32,19 +32,5 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
const { branches, branch } = useContentSource()
|
||||
|
||||
function selectBranch (branch) {
|
||||
if (branch.name === 'dev') {
|
||||
if (route.path.startsWith('/dev')) {
|
||||
return
|
||||
}
|
||||
|
||||
router.push(`/dev${route.path}`)
|
||||
} else {
|
||||
router.push(route.path.replace('/dev', ''))
|
||||
}
|
||||
}
|
||||
const { branches, branch, select } = useContentSource()
|
||||
</script>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<UDocsSearchButton icon-only />
|
||||
</UTooltip>
|
||||
|
||||
<UColorModeButton v-if="!$colorMode.forced" />
|
||||
<UColorModeButton />
|
||||
|
||||
<USocialButton to="https://github.com/nuxt/ui" target="_blank" icon="i-simple-icons-github" aria-label="GitHub" class="hidden lg:inline-flex" />
|
||||
</template>
|
||||
|
||||
@@ -1,57 +1,43 @@
|
||||
import type { NavItem, ParsedContent } from '@nuxt/content/dist/runtime/types'
|
||||
|
||||
export const useContentSource = () => {
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
const config = useRuntimeConfig().public
|
||||
|
||||
const branches = [{
|
||||
const branches = computed(() => [{
|
||||
id: 'dev',
|
||||
name: 'dev',
|
||||
icon: 'i-heroicons-cube',
|
||||
suffix: 'dev',
|
||||
label: 'Edge'
|
||||
label: 'Edge',
|
||||
disabled: route.path.startsWith('/dev'),
|
||||
click: () => select({ name: 'dev' })
|
||||
}, {
|
||||
id: 'main',
|
||||
name: 'main',
|
||||
icon: 'i-heroicons-cube',
|
||||
suffix: 'latest',
|
||||
label: `v${config.version}`
|
||||
}]
|
||||
label: `v${config.version}`,
|
||||
disabled: !route.path.startsWith('/dev'),
|
||||
click: () => select({ name: 'main' })
|
||||
}])
|
||||
|
||||
const branch = computed(() => branches.find(b => b.name === (route.path.startsWith('/dev') ? 'dev' : 'main')))
|
||||
const branch = computed(() => branches.value.find(b => b.name === (route.path.startsWith('/dev') ? 'dev' : 'main')))
|
||||
|
||||
const prefix = computed(() => `/${branch.value.name}`)
|
||||
|
||||
function removePrefixFromNavigation (navigation: NavItem[]): NavItem[] {
|
||||
return navigation.map((link) => {
|
||||
const { _path, children, ...rest } = link
|
||||
|
||||
return {
|
||||
...rest,
|
||||
_path: route.path.startsWith(prefix.value) ? _path : _path.replace(new RegExp(`^${prefix.value}`, 'g'), ''),
|
||||
children: children?.length ? removePrefixFromNavigation(children) : undefined
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function removePrefixFromFiles (files: ParsedContent[]) {
|
||||
return files.map((file) => {
|
||||
if (!file) {
|
||||
function select (branch) {
|
||||
if (branch.name === 'dev') {
|
||||
if (route.path.startsWith('/dev')) {
|
||||
return
|
||||
}
|
||||
|
||||
const { _path, ...rest } = file
|
||||
|
||||
return {
|
||||
...rest,
|
||||
_path: route.path.startsWith(prefix.value) ? _path : _path.replace(new RegExp(`^${prefix.value}`, 'g'), '')
|
||||
}
|
||||
})
|
||||
router.push(`/dev${route.path}`)
|
||||
} else {
|
||||
router.push(route.path.replace('/dev', ''))
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
branches,
|
||||
branch,
|
||||
prefix,
|
||||
removePrefixFromNavigation,
|
||||
removePrefixFromFiles
|
||||
select
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</UContainer>
|
||||
|
||||
<ClientOnly>
|
||||
<UDocsSearch :files="files" :navigation="navigation" />
|
||||
<LazyUDocsSearch :files="files" :navigation="navigation" />
|
||||
</ClientOnly>
|
||||
|
||||
<UNotifications />
|
||||
@@ -20,8 +20,7 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import type { NuxtError } from '#app'
|
||||
|
||||
const { prefix, removePrefixFromNavigation, removePrefixFromFiles } = useContentSource()
|
||||
import type { ParsedContent } from '@nuxt/content/dist/runtime/types'
|
||||
|
||||
useSeoMeta({
|
||||
title: 'Page not found',
|
||||
@@ -32,22 +31,18 @@ defineProps<{
|
||||
error: NuxtError
|
||||
}>()
|
||||
|
||||
const { data: navigation } = await useLazyAsyncData('navigation', () => fetchContentNavigation(), {
|
||||
default: () => [],
|
||||
transform: (navigation) => {
|
||||
navigation = navigation.find(link => link._path === prefix.value)?.children || []
|
||||
const { branch } = useContentSource()
|
||||
|
||||
return prefix.value === '/main' ? removePrefixFromNavigation(navigation) : navigation
|
||||
}
|
||||
})
|
||||
const { data: nav } = await useAsyncData('navigation', () => fetchContentNavigation())
|
||||
const { data: files } = useLazyFetch<ParsedContent[]>('/api/search.json', { default: () => [], server: false })
|
||||
|
||||
const { data: files } = await useLazyAsyncData('files', () => queryContent().where({ _type: 'markdown', navigation: { $ne: false } }).find(), {
|
||||
default: () => [],
|
||||
transform: (files) => {
|
||||
files = files.filter(file => file._path.startsWith(prefix.value))
|
||||
// Computed
|
||||
|
||||
return prefix.value === '/main' ? removePrefixFromFiles(files) : files
|
||||
}
|
||||
const navigation = computed(() => {
|
||||
const main = nav.value.filter(item => item._path !== '/dev')
|
||||
const dev = nav.value.find(item => item._path === '/dev')?.children
|
||||
|
||||
return branch.value?.name === 'dev' ? dev : main
|
||||
})
|
||||
|
||||
// Provide
|
||||
|
||||
@@ -32,14 +32,13 @@ export default defineNuxtConfig({
|
||||
},
|
||||
content: {
|
||||
sources: {
|
||||
// overwrite default source AKA `content` directory
|
||||
content: {
|
||||
dev: {
|
||||
prefix: '/dev',
|
||||
driver: 'fs',
|
||||
base: resolve('./content')
|
||||
},
|
||||
main: {
|
||||
prefix: '/main',
|
||||
// overwrite default source AKA `content` directory
|
||||
content: {
|
||||
driver: 'github',
|
||||
repo: 'nuxt/ui',
|
||||
branch: 'main',
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
"devDependencies": {
|
||||
"@iconify-json/heroicons": "latest",
|
||||
"@iconify-json/simple-icons": "latest",
|
||||
"@nuxt/content": "^2.8.2",
|
||||
"@nuxt/content": "npm:@nuxt/content-edge@2.8.2-28246249.76260da",
|
||||
"@nuxt/devtools": "^0.8.3",
|
||||
"@nuxt/eslint-config": "^0.2.0",
|
||||
"@nuxthq/elements": "npm:@nuxthq/elements-edge@0.0.1-28245159.d523b38",
|
||||
"@nuxthq/elements": "npm:@nuxthq/elements-edge@0.0.1-28246224.5395dca",
|
||||
"@nuxthq/studio": "^0.14.1",
|
||||
"@nuxtjs/fontaine": "^0.4.1",
|
||||
"@nuxtjs/google-fonts": "^3.0.2",
|
||||
@@ -24,6 +24,7 @@
|
||||
"typescript": "^5.2.2",
|
||||
"ufo": "^1.3.0",
|
||||
"v-calendar": "^3.0.3",
|
||||
"valibot": "^0.15.0",
|
||||
"yup": "^1.2.0",
|
||||
"zod": "^3.22.2"
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<UDivider v-if="surround?.length" />
|
||||
|
||||
<UDocsSurround :surround="removePrefixFromFiles(surround)" />
|
||||
<UDocsSurround :surround="(surround as ParsedContent[])" />
|
||||
</UPageBody>
|
||||
|
||||
<template v-if="page.body?.toc?.links?.length" #right>
|
||||
@@ -25,25 +25,35 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { withoutTrailingSlash } from 'ufo'
|
||||
import type { ParsedContent } from '@nuxt/content/dist/runtime/types'
|
||||
|
||||
const route = useRoute()
|
||||
const { prefix, removePrefixFromFiles } = useContentSource()
|
||||
const { branch } = useContentSource()
|
||||
const { findPageHeadline } = useElementsHelpers()
|
||||
|
||||
definePageMeta({
|
||||
layout: 'docs'
|
||||
})
|
||||
|
||||
const path = computed(() => route.path.startsWith(prefix.value) ? route.path : `${prefix.value}${route.path}`)
|
||||
|
||||
const { data: page } = await useAsyncData(path.value, () => queryContent(path.value).findOne())
|
||||
const { data: page } = await useAsyncData(route.path, () => queryContent(route.path).findOne())
|
||||
if (!page.value) {
|
||||
throw createError({ statusCode: 404, statusMessage: 'Page not found' })
|
||||
}
|
||||
|
||||
const { data: surround } = await useAsyncData(`${path.value}-surround`, () => {
|
||||
return queryContent(prefix.value)
|
||||
.where({ _extension: 'md', navigation: { $ne: false } })
|
||||
.findSurround((path.value.endsWith('/') ? path.value.slice(0, -1) : path.value))
|
||||
const { data: surround } = await useAsyncData(`${route.path}-surround`, () => {
|
||||
return queryContent()
|
||||
.where({
|
||||
_extension: 'md',
|
||||
_path: {
|
||||
[branch.value?.name === 'dev' ? '$eq' : '$ne']: new RegExp('^/dev')
|
||||
},
|
||||
navigation: {
|
||||
$ne: false
|
||||
}
|
||||
})
|
||||
.only(['title', 'description', '_path'])
|
||||
.findSurround(withoutTrailingSlash(route.path))
|
||||
})
|
||||
|
||||
useSeoMeta({
|
||||
|
||||
@@ -2,12 +2,12 @@ import type { Config } from 'tailwindcss'
|
||||
import defaultTheme from 'tailwindcss/defaultTheme'
|
||||
|
||||
export default <Partial<Config>>{
|
||||
content: {
|
||||
files: [
|
||||
'./docs/content/**/*.md',
|
||||
'./docs/content/**/*.yml'
|
||||
]
|
||||
},
|
||||
// content: {
|
||||
// files: [
|
||||
// './docs/content/**/*.md',
|
||||
// './docs/content/**/*.yml'
|
||||
// ]
|
||||
// },
|
||||
theme: {
|
||||
extend: {
|
||||
fontFamily: {
|
||||
|
||||
155
pnpm-lock.yaml
generated
155
pnpm-lock.yaml
generated
@@ -79,7 +79,7 @@ importers:
|
||||
version: 0.2.0(eslint@8.49.0)
|
||||
'@nuxt/module-builder':
|
||||
specifier: ^0.5.1
|
||||
version: 0.5.1(@nuxt/kit@3.7.3)(nuxi@3.7.3)(typescript@5.2.2)
|
||||
version: 0.5.1(@nuxt/kit@3.7.3)(nuxi@3.8.4)(typescript@5.2.2)
|
||||
'@release-it/conventional-changelog':
|
||||
specifier: ^7.0.1
|
||||
version: 7.0.1(release-it@16.1.5)
|
||||
@@ -127,8 +127,8 @@ importers:
|
||||
specifier: latest
|
||||
version: 1.1.70
|
||||
'@nuxt/content':
|
||||
specifier: ^2.8.2
|
||||
version: 2.8.2(rollup@3.28.1)(vue@3.3.4)
|
||||
specifier: npm:@nuxt/content-edge@2.8.2-28246249.76260da
|
||||
version: /@nuxt/content-edge@2.8.2-28246249.76260da(rollup@3.28.1)(vue@3.3.4)
|
||||
'@nuxt/devtools':
|
||||
specifier: ^0.8.3
|
||||
version: 0.8.3(nuxt@3.7.3)(rollup@3.28.1)(vite@4.4.9)
|
||||
@@ -136,8 +136,8 @@ importers:
|
||||
specifier: ^0.2.0
|
||||
version: 0.2.0(eslint@8.49.0)
|
||||
'@nuxthq/elements':
|
||||
specifier: npm:@nuxthq/elements-edge@0.0.1-28245159.d523b38
|
||||
version: /@nuxthq/elements-edge@0.0.1-28245159.d523b38(rollup@3.28.1)(vue@3.3.4)(webpack@5.88.2)
|
||||
specifier: npm:@nuxthq/elements-edge@0.0.1-28246224.5395dca
|
||||
version: /@nuxthq/elements-edge@0.0.1-28246224.5395dca(rollup@3.28.1)(vue@3.3.4)(webpack@5.88.2)
|
||||
'@nuxthq/studio':
|
||||
specifier: ^0.14.1
|
||||
version: 0.14.1(rollup@3.28.1)
|
||||
@@ -177,6 +177,9 @@ importers:
|
||||
v-calendar:
|
||||
specifier: ^3.0.3
|
||||
version: 3.0.3(@popperjs/core@2.11.8)(vue@3.3.4)
|
||||
valibot:
|
||||
specifier: ^0.15.0
|
||||
version: 0.15.0
|
||||
yup:
|
||||
specifier: ^1.2.0
|
||||
version: 1.2.0
|
||||
@@ -1289,21 +1292,23 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@nuxt/content@2.8.2(rollup@3.28.1)(vue@3.3.4):
|
||||
resolution: {integrity: sha512-fi5/axuYNGccJ/dXyaf5C/WqgEd5wSijpGHZ9O+pH7754S2NeKyx8fUFGfXsLN9VyJP+Mx8EUihfWKJm09SCRA==}
|
||||
/@nuxt/content-edge@2.8.2-28246249.76260da(rollup@3.28.1)(vue@3.3.4):
|
||||
resolution: {integrity: sha512-gO4tECJf/oYh/DPB94S2gPbUOJ0cM1RxKO2AUbAcJD5HMOh43iP9MrHdgwXvsAGtjIJLDiOX8KVXUAqFikegPA==}
|
||||
dependencies:
|
||||
'@nuxt/kit': 3.7.1(rollup@3.28.1)
|
||||
'@nuxt/kit': 3.7.3(rollup@3.28.1)
|
||||
'@nuxtjs/mdc': 0.1.6(rollup@3.28.1)
|
||||
'@vueuse/head': 1.3.1(vue@3.3.4)
|
||||
'@vueuse/head': 2.0.0(vue@3.3.4)
|
||||
consola: 3.2.3
|
||||
defu: 6.1.2
|
||||
destr: 2.0.1
|
||||
json5: 2.2.3
|
||||
knitwork: 1.0.0
|
||||
listhen: 1.4.4
|
||||
listhen: 1.5.3
|
||||
mdast-util-to-string: 4.0.0
|
||||
mdurl: 1.0.1
|
||||
micromark: 4.0.0
|
||||
micromark-util-sanitize-uri: 2.0.0
|
||||
micromark-util-types: 2.0.0
|
||||
ohash: 1.1.3
|
||||
pathe: 1.1.1
|
||||
scule: 1.0.0
|
||||
@@ -1311,8 +1316,9 @@ packages:
|
||||
slugify: 1.6.6
|
||||
socket.io-client: 4.7.2
|
||||
ufo: 1.3.0
|
||||
unist-util-stringify-position: 4.0.0
|
||||
unstorage: 1.9.0
|
||||
ws: 8.13.0
|
||||
ws: 8.14.1
|
||||
transitivePeerDependencies:
|
||||
- '@azure/app-configuration'
|
||||
- '@azure/cosmos'
|
||||
@@ -1520,7 +1526,7 @@ packages:
|
||||
- rollup
|
||||
- supports-color
|
||||
|
||||
/@nuxt/module-builder@0.5.1(@nuxt/kit@3.7.3)(nuxi@3.7.3)(typescript@5.2.2):
|
||||
/@nuxt/module-builder@0.5.1(@nuxt/kit@3.7.3)(nuxi@3.8.4)(typescript@5.2.2):
|
||||
resolution: {integrity: sha512-O39UrOFbNgL27urwDqeMgXeYiNIUvp73nsmtt7jm9JDcMVIWykuUzyBPYtHif7gq5ElzIjjmDw9zdRGgyMzo+w==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
@@ -1531,7 +1537,7 @@ packages:
|
||||
consola: 3.2.3
|
||||
mlly: 1.4.2
|
||||
mri: 1.2.0
|
||||
nuxi: 3.7.3
|
||||
nuxi: 3.8.4
|
||||
pathe: 1.1.1
|
||||
unbuild: 2.0.0(typescript@5.2.2)
|
||||
transitivePeerDependencies:
|
||||
@@ -1747,8 +1753,8 @@ packages:
|
||||
- vue-tsc
|
||||
dev: true
|
||||
|
||||
/@nuxthq/elements-edge@0.0.1-28245159.d523b38(rollup@3.28.1)(vue@3.3.4)(webpack@5.88.2):
|
||||
resolution: {integrity: sha512-/A7GmZClyhbGeckwB4aPYtkoLDLHS4+jkyF/zM53jFHqLGziNrAvnog10zFgr3XSIdXfTuUE6qA/3bLjV/WhEw==}
|
||||
/@nuxthq/elements-edge@0.0.1-28246224.5395dca(rollup@3.28.1)(vue@3.3.4)(webpack@5.88.2):
|
||||
resolution: {integrity: sha512-GOuFqa5QDAnTyXW2SJff0XT/cjTZNdepkMkdodZTduCKZy4/ZzNzXRQd6vOr/Knj3arMOc9VRKBe/ZeA89gE+Q==}
|
||||
dependencies:
|
||||
'@nuxt/ui': 2.8.1(rollup@3.28.1)(vue@3.3.4)(webpack@5.88.2)
|
||||
'@vueuse/core': 10.4.1(vue@3.3.4)
|
||||
@@ -2985,13 +2991,6 @@ packages:
|
||||
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
|
||||
dev: true
|
||||
|
||||
/@unhead/dom@1.5.3:
|
||||
resolution: {integrity: sha512-0a9aO34lzy40jT3DycpyaQCMbksveKajkhEACxcs2VdG04tndRK0s3UzdvJFV8nnTfRZAI+y3yEIjTLWswgFWQ==}
|
||||
dependencies:
|
||||
'@unhead/schema': 1.5.3
|
||||
'@unhead/shared': 1.5.3
|
||||
dev: true
|
||||
|
||||
/@unhead/dom@1.7.3:
|
||||
resolution: {integrity: sha512-igJ2ZxU5x4CQQQ3iM+CPOPHdjpam/Q89xIvDSE0crK11TU00WOl0bWl1yQp/EI0pyza1G3ZQ1JyDmi7OcCM9eQ==}
|
||||
dependencies:
|
||||
@@ -2999,13 +2998,6 @@ packages:
|
||||
'@unhead/shared': 1.7.3
|
||||
dev: true
|
||||
|
||||
/@unhead/schema@1.5.3:
|
||||
resolution: {integrity: sha512-UpvxfEn+2CJAO6Ytr/Mnps67/zm4ezWjP5JrisjTx8NqWQtIsuvkdp81GpTGVYGHuaPe9c/SqtlsL9aL9oUv8Q==}
|
||||
dependencies:
|
||||
hookable: 5.5.3
|
||||
zhead: 2.0.10
|
||||
dev: true
|
||||
|
||||
/@unhead/schema@1.7.3:
|
||||
resolution: {integrity: sha512-w2Yvt1++bAnSmsYc7bwLTMalSbff6HFnNmlpFIjNUTSkquOg+oavm62TrgxAwq753dedDOzCXr5cUvzCswc2Yg==}
|
||||
dependencies:
|
||||
@@ -3013,25 +3005,12 @@ packages:
|
||||
zhead: 2.1.1
|
||||
dev: true
|
||||
|
||||
/@unhead/shared@1.5.3:
|
||||
resolution: {integrity: sha512-JMRHlOmKTOlC949u3LTZIObwB9vRPLwLqbI5SRp9Cb1hheizTaHHsj7R7UfYpXzrbfNrx6wvnOosb5RF6Urikw==}
|
||||
dependencies:
|
||||
'@unhead/schema': 1.5.3
|
||||
dev: true
|
||||
|
||||
/@unhead/shared@1.7.3:
|
||||
resolution: {integrity: sha512-eqAn3n+T6WMecDUzdqGyedpZwT0u04pZwHEvD0bxmVen1FU6VHiL49azyv1W7MCiCHNFNAcR1py2Eolsr6+E7g==}
|
||||
dependencies:
|
||||
'@unhead/schema': 1.7.3
|
||||
dev: true
|
||||
|
||||
/@unhead/ssr@1.5.3:
|
||||
resolution: {integrity: sha512-zgSQzh33Q/1wtTM15hEYwkWVxJA8ENt++bM6acjQvx8vdaDTgNlD6ZokRBmKDvZ0dj9rNZDmQD34IFsJhuaW+A==}
|
||||
dependencies:
|
||||
'@unhead/schema': 1.5.3
|
||||
'@unhead/shared': 1.5.3
|
||||
dev: true
|
||||
|
||||
/@unhead/ssr@1.7.3:
|
||||
resolution: {integrity: sha512-icN3OmrbuXd0NbqarGRa3ixeqdpQzhldTzcN3LPHpmfgN+CFVS7kI9oo5znoIjW7nZaxAUH95knyAi1+Mt6ThQ==}
|
||||
dependencies:
|
||||
@@ -3039,18 +3018,6 @@ packages:
|
||||
'@unhead/shared': 1.7.3
|
||||
dev: true
|
||||
|
||||
/@unhead/vue@1.5.3(vue@3.3.4):
|
||||
resolution: {integrity: sha512-9xo7/ArTE+sunIK5RomfQWOPJYw3Vbvs/aJ1/vzaSQandqrgzSX8THiaZ+ZveefdJUqBXlq8tuTIf9ggzrW5Ww==}
|
||||
peerDependencies:
|
||||
vue: '>=2.7 || >=3'
|
||||
dependencies:
|
||||
'@unhead/schema': 1.5.3
|
||||
'@unhead/shared': 1.5.3
|
||||
hookable: 5.5.3
|
||||
unhead: 1.5.3
|
||||
vue: 3.3.4
|
||||
dev: true
|
||||
|
||||
/@unhead/vue@1.7.3(vue@3.3.4):
|
||||
resolution: {integrity: sha512-QSy2Qsc4IurrRrvpnnNzBWL/g4ecz3eblSVJ41QwqBnaUIRdPaSY8EdobA/NR0rtWzHicV6Fy3nEYXSXSRDELQ==}
|
||||
peerDependencies:
|
||||
@@ -3307,15 +3274,15 @@ packages:
|
||||
- '@vue/composition-api'
|
||||
- vue
|
||||
|
||||
/@vueuse/head@1.3.1(vue@3.3.4):
|
||||
resolution: {integrity: sha512-XCcHGfDzkGlHS7KIPJVYN//L7jpfASLsN7MUE19ndHVQLnPIDxqFLDl7IROsY81PKzawVAUe4OYVWcGixseWxA==}
|
||||
/@vueuse/head@2.0.0(vue@3.3.4):
|
||||
resolution: {integrity: sha512-ykdOxTGs95xjD4WXE4na/umxZea2Itl0GWBILas+O4oqS7eXIods38INvk3XkJKjqMdWPcpCyLX/DioLQxU1KA==}
|
||||
peerDependencies:
|
||||
vue: '>=2.7 || >=3'
|
||||
dependencies:
|
||||
'@unhead/dom': 1.5.3
|
||||
'@unhead/schema': 1.5.3
|
||||
'@unhead/ssr': 1.5.3
|
||||
'@unhead/vue': 1.5.3(vue@3.3.4)
|
||||
'@unhead/dom': 1.7.3
|
||||
'@unhead/schema': 1.7.3
|
||||
'@unhead/ssr': 1.7.3
|
||||
'@unhead/vue': 1.7.3(vue@3.3.4)
|
||||
vue: 3.3.4
|
||||
dev: true
|
||||
|
||||
@@ -7323,28 +7290,6 @@ packages:
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/listhen@1.4.4:
|
||||
resolution: {integrity: sha512-xoZWbfziou7xPWj9nlFXeroFTJZVIyJ6wKrLea2jxvWgMkcz/vLMoZACYHLRmcLGi5hZkcDF48tmkmv1Y6Y42Q==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@parcel/watcher': 2.3.0
|
||||
'@parcel/watcher-wasm': 2.3.0
|
||||
citty: 0.1.3
|
||||
clipboardy: 3.0.0
|
||||
consola: 3.2.3
|
||||
defu: 6.1.2
|
||||
get-port-please: 3.0.2
|
||||
h3: 1.8.1
|
||||
http-shutdown: 1.2.2
|
||||
jiti: 1.20.0
|
||||
mlly: 1.4.2
|
||||
node-forge: 1.3.1
|
||||
pathe: 1.1.1
|
||||
ufo: 1.3.0
|
||||
untun: 0.1.2
|
||||
uqr: 0.1.2
|
||||
dev: true
|
||||
|
||||
/listhen@1.5.1:
|
||||
resolution: {integrity: sha512-w4gfu76ibnSZBqPCqYORE4ewufHevXe6s39iQhPrOxSl/HzujP9pM9i/oHqzGm2L776djMm5wSE/5kR75RNcbA==}
|
||||
hasBin: true
|
||||
@@ -7367,6 +7312,29 @@ packages:
|
||||
uqr: 0.1.2
|
||||
dev: true
|
||||
|
||||
/listhen@1.5.3:
|
||||
resolution: {integrity: sha512-5SitrZRCH4XXHvKSAqwaLURfQ6ZS/BCv+kpPkage5PhSnQPlz5HIVROCEIcMw8YvIF8NhDUAj/HAI/OovJGEpQ==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@parcel/watcher': 2.3.0
|
||||
'@parcel/watcher-wasm': 2.3.0
|
||||
citty: 0.1.4
|
||||
clipboardy: 3.0.0
|
||||
consola: 3.2.3
|
||||
defu: 6.1.2
|
||||
get-port-please: 3.1.1
|
||||
h3: 1.8.1
|
||||
http-shutdown: 1.2.2
|
||||
jiti: 1.20.0
|
||||
mlly: 1.4.2
|
||||
node-forge: 1.3.1
|
||||
pathe: 1.1.1
|
||||
std-env: 3.4.3
|
||||
ufo: 1.3.0
|
||||
untun: 0.1.2
|
||||
uqr: 0.1.2
|
||||
dev: true
|
||||
|
||||
/loader-runner@4.3.0:
|
||||
resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
|
||||
engines: {node: '>=6.11.5'}
|
||||
@@ -8849,14 +8817,6 @@ packages:
|
||||
boolbase: 1.0.0
|
||||
dev: true
|
||||
|
||||
/nuxi@3.7.3:
|
||||
resolution: {integrity: sha512-Cg+ygRmhonE6PwAtDeKvKU/0VRqEyzmSSoJYfr0MzwIxQYrBSnLvw0z3UgJl/8MgFKjiZ5Y4wBUEiRsUw8O6uw==}
|
||||
engines: {node: ^14.18.0 || >=16.10.0}
|
||||
hasBin: true
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.3
|
||||
dev: true
|
||||
|
||||
/nuxi@3.8.4:
|
||||
resolution: {integrity: sha512-YQAH2msfL1PeaDuk880jQAJdtF1hpuYaTQ7j8Ombl+SyyamcB9VTx0gbkNyZj7wmJQYxfiV6a42nlGQ7cJDO+g==}
|
||||
engines: {node: ^14.18.0 || >=16.10.0}
|
||||
@@ -11668,15 +11628,6 @@ packages:
|
||||
node-fetch-native: 1.4.0
|
||||
pathe: 1.1.1
|
||||
|
||||
/unhead@1.5.3:
|
||||
resolution: {integrity: sha512-4hkVcX74zs+bv5s6ubIGd/iLgAN4D58u+z2wYbczPwUVFUxKyElTqT+9VjNX3T1SikKbOSl1pFyNKqBc+342lw==}
|
||||
dependencies:
|
||||
'@unhead/dom': 1.5.3
|
||||
'@unhead/schema': 1.5.3
|
||||
'@unhead/shared': 1.5.3
|
||||
hookable: 5.5.3
|
||||
dev: true
|
||||
|
||||
/unhead@1.7.3:
|
||||
resolution: {integrity: sha512-6LbBOVgsr+JCmeWH9okxlBtMtFHGIECX93ySWBnposnOqzSUtnUsEgB0nVB8Qa7uozfHlmJfSBJMUeTztzPfSQ==}
|
||||
dependencies:
|
||||
@@ -11970,7 +11921,7 @@ packages:
|
||||
destr: 2.0.1
|
||||
h3: 1.8.1
|
||||
ioredis: 5.3.2
|
||||
listhen: 1.4.4
|
||||
listhen: 1.5.1
|
||||
lru-cache: 10.0.1
|
||||
mri: 1.2.0
|
||||
node-fetch-native: 1.4.0
|
||||
@@ -12779,10 +12730,6 @@ packages:
|
||||
type-fest: 2.19.0
|
||||
dev: true
|
||||
|
||||
/zhead@2.0.10:
|
||||
resolution: {integrity: sha512-irug8fXNKjqazkA27cFQs7C6/ZD3qNiEzLC56kDyzQART/Z9GMGfg8h2i6fb9c8ZWnIx/QgOgFJxK3A/CYHG0g==}
|
||||
dev: true
|
||||
|
||||
/zhead@2.1.1:
|
||||
resolution: {integrity: sha512-FRmjAFioi07R+bmL+fqbkXF/pCbC9PwcKQ8RDluC5xTaVbNBgYRQ4eKuS1C8c7Sil//UIxet/AGp7D6royoHhA==}
|
||||
dev: true
|
||||
|
||||
Reference in New Issue
Block a user