refactor: use shikiji replace shiki to highlight & fix code space transformers

This commit is contained in:
YunYouJun 2024-01-21 20:14:44 +08:00
parent 2ebebddd2b
commit 808576bab5
20 changed files with 710 additions and 230 deletions

View File

@ -88,6 +88,6 @@ pnpm create valaxy
<p align="center">
<a href="https://sponsors.yunyoujun.cn">
<img src='https://fastly.jsdelivr.net/gh/YunYouJun/sponsors/public/sponsors.svg'/>
<img src='https://fastly.jsdelivr.net/gh/YunYouJun/sponsors/public/sponsors.svg' alt="YunYouJun Sponsors"/>
</a>
</p>

196
demo/yun/.valaxy/typed-router.d.ts vendored Normal file
View File

@ -0,0 +1,196 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// Generated by unplugin-vue-router. ‼️ DO NOT MODIFY THIS FILE ‼️
// It's recommended to commit this file.
// Make sure to add this file to your tsconfig.json file as an "includes" or "files" entry.
/// <reference types="unplugin-vue-router/client" />
import type {
// type safe route locations
RouteLocationTypedList,
RouteLocationResolvedTypedList,
RouteLocationNormalizedTypedList,
RouteLocationNormalizedLoadedTypedList,
RouteLocationAsString,
RouteLocationAsRelativeTypedList,
RouteLocationAsPathTypedList,
// helper types
// route definitions
RouteRecordInfo,
ParamValue,
ParamValueOneOrMore,
ParamValueZeroOrMore,
ParamValueZeroOrOne,
// vue-router extensions
_RouterTyped,
RouterLinkTyped,
RouterLinkPropsTyped,
NavigationGuard,
UseLinkFnTyped,
// data fetching
_DataLoader,
_DefineLoaderOptions,
} from 'unplugin-vue-router/types'
declare module 'vue-router/auto/routes' {
export interface RouteNamedMap {
'/': RouteRecordInfo<'/', '/', Record<never, never>, Record<never, never>>,
'/_drafts/README': RouteRecordInfo<'/_drafts/README', '/_drafts/README', Record<never, never>, Record<never, never>>,
'/[...path]': RouteRecordInfo<'/[...path]', '/:path(.*)', { path: ParamValue<true> }, { path: ParamValue<false> }>,
'/[year]/': RouteRecordInfo<'/[year]/', '/:year', { year: ParamValue<true> }, { year: ParamValue<false> }>,
'/[year]/[month]/': RouteRecordInfo<'/[year]/[month]/', '/:year/:month', { year: ParamValue<true>, month: ParamValue<true> }, { year: ParamValue<false>, month: ParamValue<false> }>,
'/404': RouteRecordInfo<'/404', '/404', Record<never, never>, Record<never, never>>,
'/about/': RouteRecordInfo<'/about/', '/about', Record<never, never>, Record<never, never>>,
'/about/site': RouteRecordInfo<'/about/site', '/about/site', Record<never, never>, Record<never, never>>,
'/albums/': RouteRecordInfo<'/albums/', '/albums', Record<never, never>, Record<never, never>>,
'/albums/daily': RouteRecordInfo<'/albums/daily', '/albums/daily', Record<never, never>, Record<never, never>>,
'/albums/miracle': RouteRecordInfo<'/albums/miracle', '/albums/miracle', Record<never, never>, Record<never, never>>,
'/albums/sunset': RouteRecordInfo<'/albums/sunset', '/albums/sunset', Record<never, never>, Record<never, never>>,
'/albums/young': RouteRecordInfo<'/albums/young', '/albums/young', Record<never, never>, Record<never, never>>,
'/archives/': RouteRecordInfo<'/archives/', '/archives', Record<never, never>, Record<never, never>>,
'/bangumi/': RouteRecordInfo<'/bangumi/', '/bangumi', Record<never, never>, Record<never, never>>,
'/categories/': RouteRecordInfo<'/categories/', '/categories', Record<never, never>, Record<never, never>>,
'/examples/addons/components': RouteRecordInfo<'/examples/addons/components', '/examples/addons/components', Record<never, never>, Record<never, never>>,
'/examples/custom-components': RouteRecordInfo<'/examples/custom-components', '/examples/custom-components', Record<never, never>, Record<never, never>>,
'/examples/sites': RouteRecordInfo<'/examples/sites', '/examples/sites', Record<never, never>, Record<never, never>>,
'/examples/without-aside': RouteRecordInfo<'/examples/without-aside', '/examples/without-aside', Record<never, never>, Record<never, never>>,
'/girls/': RouteRecordInfo<'/girls/', '/girls', Record<never, never>, Record<never, never>>,
'/links/': RouteRecordInfo<'/links/', '/links', Record<never, never>, Record<never, never>>,
'/notes/': RouteRecordInfo<'/notes/', '/notes', Record<never, never>, Record<never, never>>,
'/page/[page]': RouteRecordInfo<'/page/[page]', '/page/:page', { page: ParamValue<true> }, { page: ParamValue<false> }>,
'/posts/中文Post测试': RouteRecordInfo<'/posts/中文Post测试', '/posts/中文Post测试', Record<never, never>, Record<never, never>>,
'/posts/about': RouteRecordInfo<'/posts/about', '/posts/about', Record<never, never>, Record<never, never>>,
'/posts/categories-a-b': RouteRecordInfo<'/posts/categories-a-b', '/posts/categories-a-b', Record<never, never>, Record<never, never>>,
'/posts/categories-a-b-c': RouteRecordInfo<'/posts/categories-a-b-c', '/posts/categories-a-b-c', Record<never, never>, Record<never, never>>,
'/posts/code': RouteRecordInfo<'/posts/code', '/posts/code', Record<never, never>, Record<never, never>>,
'/posts/date': RouteRecordInfo<'/posts/date', '/posts/date', Record<never, never>, Record<never, never>>,
'/posts/design': RouteRecordInfo<'/posts/design', '/posts/design', Record<never, never>, Record<never, never>>,
'/posts/dev': RouteRecordInfo<'/posts/dev', '/posts/dev', Record<never, never>, Record<never, never>>,
'/posts/draft': RouteRecordInfo<'/posts/draft', '/posts/draft', Record<never, never>, Record<never, never>>,
'/posts/encrypted-part-post': RouteRecordInfo<'/posts/encrypted-part-post', '/posts/encrypted-part-post', Record<never, never>, Record<never, never>>,
'/posts/encrypted-post': RouteRecordInfo<'/posts/encrypted-post', '/posts/encrypted-post', Record<never, never>, Record<never, never>>,
'/posts/excerpt-type-ai': RouteRecordInfo<'/posts/excerpt-type-ai', '/posts/excerpt-type-ai', Record<never, never>, Record<never, never>>,
'/posts/excerpt-type-html': RouteRecordInfo<'/posts/excerpt-type-html', '/posts/excerpt-type-html', Record<never, never>, Record<never, never>>,
'/posts/excerpt-type-md': RouteRecordInfo<'/posts/excerpt-type-md', '/posts/excerpt-type-md', Record<never, never>, Record<never, never>>,
'/posts/excerpt-type-text': RouteRecordInfo<'/posts/excerpt-type-text', '/posts/excerpt-type-text', Record<never, never>, Record<never, never>>,
'/posts/framework-and-pages': RouteRecordInfo<'/posts/framework-and-pages', '/posts/framework-and-pages', Record<never, never>, Record<never, never>>,
'/posts/hello-valaxy': RouteRecordInfo<'/posts/hello-valaxy', '/posts/hello-valaxy', Record<never, never>, Record<never, never>>,
'/posts/hide': RouteRecordInfo<'/posts/hide', '/posts/hide', Record<never, never>, Record<never, never>>,
'/posts/hide-in-index': RouteRecordInfo<'/posts/hide-in-index', '/posts/hide-in-index', Record<never, never>, Record<never, never>>,
'/posts/katex': RouteRecordInfo<'/posts/katex', '/posts/katex', Record<never, never>, Record<never, never>>,
'/posts/long-toc': RouteRecordInfo<'/posts/long-toc', '/posts/long-toc', Record<never, never>, Record<never, never>>,
'/posts/lots-of-images': RouteRecordInfo<'/posts/lots-of-images', '/posts/lots-of-images', Record<never, never>, Record<never, never>>,
'/posts/markdown': RouteRecordInfo<'/posts/markdown', '/posts/markdown', Record<never, never>, Record<never, never>>,
'/posts/post-updated': RouteRecordInfo<'/posts/post-updated', '/posts/post-updated', Record<never, never>, Record<never, never>>,
'/posts/test': RouteRecordInfo<'/posts/test', '/posts/test', Record<never, never>, Record<never, never>>,
'/posts/test-images': RouteRecordInfo<'/posts/test-images', '/posts/test-images', Record<never, never>, Record<never, never>>,
'/posts/test-tags': RouteRecordInfo<'/posts/test-tags', '/posts/test-tags', Record<never, never>, Record<never, never>>,
'/tags/': RouteRecordInfo<'/tags/', '/tags', Record<never, never>, Record<never, never>>,
'/test/deadlinks': RouteRecordInfo<'/test/deadlinks', '/test/deadlinks', Record<never, never>, Record<never, never>>,
'/test/special-character': RouteRecordInfo<'/test/special-character', '/test/special-character', Record<never, never>, Record<never, never>>,
'/test/time_warning': RouteRecordInfo<'/test/time_warning', '/test/time_warning', Record<never, never>, Record<never, never>>,
'/yun/': RouteRecordInfo<'/yun/', '/yun', Record<never, never>, Record<never, never>>,
}
}
declare module 'vue-router/auto' {
import type { RouteNamedMap } from 'vue-router/auto/routes'
export type RouterTyped = _RouterTyped<RouteNamedMap>
/**
* Type safe version of `RouteLocationNormalized` (the type of `to` and `from` in navigation guards).
* Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocationNormalized<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationNormalizedTypedList<RouteNamedMap>[Name]
/**
* Type safe version of `RouteLocationNormalizedLoaded` (the return type of `useRoute()`).
* Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocationNormalizedLoaded<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationNormalizedLoadedTypedList<RouteNamedMap>[Name]
/**
* Type safe version of `RouteLocationResolved` (the returned route of `router.resolve()`).
* Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocationResolved<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationResolvedTypedList<RouteNamedMap>[Name]
/**
* Type safe version of `RouteLocation` . Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocation<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationTypedList<RouteNamedMap>[Name]
/**
* Type safe version of `RouteLocationRaw` . Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocationRaw<Name extends keyof RouteNamedMap = keyof RouteNamedMap> =
| RouteLocationAsString<RouteNamedMap>
| RouteLocationAsRelativeTypedList<RouteNamedMap>[Name]
| RouteLocationAsPathTypedList<RouteNamedMap>[Name]
/**
* Generate a type safe params for a route location. Requires the name of the route to be passed as a generic.
*/
export type RouteParams<Name extends keyof RouteNamedMap> = RouteNamedMap[Name]['params']
/**
* Generate a type safe raw params for a route location. Requires the name of the route to be passed as a generic.
*/
export type RouteParamsRaw<Name extends keyof RouteNamedMap> = RouteNamedMap[Name]['paramsRaw']
export function useRouter(): RouterTyped
export function useRoute<Name extends keyof RouteNamedMap = keyof RouteNamedMap>(name?: Name): RouteLocationNormalizedLoadedTypedList<RouteNamedMap>[Name]
export const useLink: UseLinkFnTyped<RouteNamedMap>
export function onBeforeRouteLeave(guard: NavigationGuard<RouteNamedMap>): void
export function onBeforeRouteUpdate(guard: NavigationGuard<RouteNamedMap>): void
export const RouterLink: RouterLinkTyped<RouteNamedMap>
export const RouterLinkProps: RouterLinkPropsTyped<RouteNamedMap>
// Experimental Data Fetching
export function defineLoader<
P extends Promise<any>,
Name extends keyof RouteNamedMap = keyof RouteNamedMap,
isLazy extends boolean = false,
>(
name: Name,
loader: (route: RouteLocationNormalizedLoaded<Name>) => P,
options?: _DefineLoaderOptions<isLazy>,
): _DataLoader<Awaited<P>, isLazy>
export function defineLoader<
P extends Promise<any>,
isLazy extends boolean = false,
>(
loader: (route: RouteLocationNormalizedLoaded) => P,
options?: _DefineLoaderOptions<isLazy>,
): _DataLoader<Awaited<P>, isLazy>
export {
_definePage as definePage,
_HasDataLoaderMeta as HasDataLoaderMeta,
_setupDataFetchingGuard as setupDataFetchingGuard,
_stopDataFetchingScope as stopDataFetchingScope,
} from 'unplugin-vue-router/runtime'
}
declare module 'vue-router' {
import type { RouteNamedMap } from 'vue-router/auto/routes'
export interface TypesConfig {
beforeRouteUpdate: NavigationGuard<RouteNamedMap>
beforeRouteLeave: NavigationGuard<RouteNamedMap>
$route: RouteLocationNormalizedLoadedTypedList<RouteNamedMap>[keyof RouteNamedMap]
$router: _RouterTyped<RouteNamedMap>
RouterLink: RouterLinkTyped<RouteNamedMap>
}
}

View File

@ -116,15 +116,13 @@ Adding the `// [!code --]` or `// [!code ++]` comments on a line will create a d
**Input**
Note that only one space is required after `!code`, here are two to prevent processing.
````
```js
export default {
data () {
return {
msg: 'Removed' // [!code --]
msg: 'Added' // [!code ++]
msg: 'Removed' // [!!code --]
msg: 'Added' // [!!code ++]
}
}
}
@ -150,15 +148,13 @@ Adding the `// [!code warning]` or `// [!code error]` comments on a line will co
**Input**
Note that only one space is required after `!code`, here are two to prevent processing.
````
```js
export default {
data () {
return {
msg: 'Error', // [!code error]
msg: 'Warning' // [!code warning]
msg: 'Error', // [!!code error]
msg: 'Warning' // [!code warning]
}
}
}

View File

@ -58,6 +58,15 @@ export default defineValaxyConfig<ThemeConfig>({
text: 'información',
},
},
codeTransformers: [
// We use `[!!code` in demo to prevent transformation, here we revert it back.
{
postprocess(code) {
return code.replace(/\[\!\!code/g, '[!code')
},
},
],
},
addons: [

191
docs/.valaxy/typed-router.d.ts vendored Normal file
View File

@ -0,0 +1,191 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// Generated by unplugin-vue-router. ‼️ DO NOT MODIFY THIS FILE ‼️
// It's recommended to commit this file.
// Make sure to add this file to your tsconfig.json file as an "includes" or "files" entry.
/// <reference types="unplugin-vue-router/client" />
import type {
// type safe route locations
RouteLocationTypedList,
RouteLocationResolvedTypedList,
RouteLocationNormalizedTypedList,
RouteLocationNormalizedLoadedTypedList,
RouteLocationAsString,
RouteLocationAsRelativeTypedList,
RouteLocationAsPathTypedList,
// helper types
// route definitions
RouteRecordInfo,
ParamValue,
ParamValueOneOrMore,
ParamValueZeroOrMore,
ParamValueZeroOrOne,
// vue-router extensions
_RouterTyped,
RouterLinkTyped,
RouterLinkPropsTyped,
NavigationGuard,
UseLinkFnTyped,
// data fetching
_DataLoader,
_DefineLoaderOptions,
} from 'unplugin-vue-router/types'
declare module 'vue-router/auto/routes' {
export interface RouteNamedMap {
'/': RouteRecordInfo<'/', '/', Record<never, never>, Record<never, never>>,
'/[...all]': RouteRecordInfo<'/[...all]', '/:all(.*)', { all: ParamValue<true> }, { all: ParamValue<false> }>,
'/[...path]': RouteRecordInfo<'/[...path]', '/:path(.*)', { path: ParamValue<true> }, { path: ParamValue<false> }>,
'/addons/gallery': RouteRecordInfo<'/addons/gallery', '/addons/gallery', Record<never, never>, Record<never, never>>,
'/addons/use': RouteRecordInfo<'/addons/use', '/addons/use', Record<never, never>, Record<never, never>>,
'/addons/why': RouteRecordInfo<'/addons/why', '/addons/why', Record<never, never>, Record<never, never>>,
'/addons/write': RouteRecordInfo<'/addons/write', '/addons/write', Record<never, never>, Record<never, never>>,
'/api/': RouteRecordInfo<'/api/', '/api', Record<never, never>, Record<never, never>>,
'/api/addon': RouteRecordInfo<'/api/addon', '/api/addon', Record<never, never>, Record<never, never>>,
'/api/theme': RouteRecordInfo<'/api/theme', '/api/theme', Record<never, never>, Record<never, never>>,
'/dev/': RouteRecordInfo<'/dev/', '/dev', Record<never, never>, Record<never, never>>,
'/dev/docs': RouteRecordInfo<'/dev/docs', '/dev/docs', Record<never, never>, Record<never, never>>,
'/dev/faq': RouteRecordInfo<'/dev/faq', '/dev/faq', Record<never, never>, Record<never, never>>,
'/dev/logo': RouteRecordInfo<'/dev/logo', '/dev/logo', Record<never, never>, Record<never, never>>,
'/ecosystem/client': RouteRecordInfo<'/ecosystem/client', '/ecosystem/client', Record<never, never>, Record<never, never>>,
'/ecosystem/community': RouteRecordInfo<'/ecosystem/community', '/ecosystem/community', Record<never, never>, Record<never, never>>,
'/ecosystem/news': RouteRecordInfo<'/ecosystem/news', '/ecosystem/news', Record<never, never>, Record<never, never>>,
'/ecosystem/vscode': RouteRecordInfo<'/ecosystem/vscode', '/ecosystem/vscode', Record<never, never>, Record<never, never>>,
'/examples/code-height-limit': RouteRecordInfo<'/examples/code-height-limit', '/examples/code-height-limit', Record<never, never>, Record<never, never>>,
'/examples/katex': RouteRecordInfo<'/examples/katex', '/examples/katex', Record<never, never>, Record<never, never>>,
'/examples/partial-content-encryption': RouteRecordInfo<'/examples/partial-content-encryption', '/examples/partial-content-encryption', Record<never, never>, Record<never, never>>,
'/examples/site': RouteRecordInfo<'/examples/site', '/examples/site', Record<never, never>, Record<never, never>>,
'/faq/': RouteRecordInfo<'/faq/', '/faq', Record<never, never>, Record<never, never>>,
'/guide/best-pratice': RouteRecordInfo<'/guide/best-pratice', '/guide/best-pratice', Record<never, never>, Record<never, never>>,
'/guide/built-ins/': RouteRecordInfo<'/guide/built-ins/', '/guide/built-ins', Record<never, never>, Record<never, never>>,
'/guide/commands/': RouteRecordInfo<'/guide/commands/', '/guide/commands', Record<never, never>, Record<never, never>>,
'/guide/config/': RouteRecordInfo<'/guide/config/', '/guide/config', Record<never, never>, Record<never, never>>,
'/guide/config/extend': RouteRecordInfo<'/guide/config/extend', '/guide/config/extend', Record<never, never>, Record<never, never>>,
'/guide/custom/components': RouteRecordInfo<'/guide/custom/components', '/guide/custom/components', Record<never, never>, Record<never, never>>,
'/guide/custom/extend': RouteRecordInfo<'/guide/custom/extend', '/guide/custom/extend', Record<never, never>, Record<never, never>>,
'/guide/custom/hooks': RouteRecordInfo<'/guide/custom/hooks', '/guide/custom/hooks', Record<never, never>, Record<never, never>>,
'/guide/custom/styles': RouteRecordInfo<'/guide/custom/styles', '/guide/custom/styles', Record<never, never>, Record<never, never>>,
'/guide/custom/templates': RouteRecordInfo<'/guide/custom/templates', '/guide/custom/templates', Record<never, never>, Record<never, never>>,
'/guide/deploy': RouteRecordInfo<'/guide/deploy', '/guide/deploy', Record<never, never>, Record<never, never>>,
'/guide/features': RouteRecordInfo<'/guide/features', '/guide/features', Record<never, never>, Record<never, never>>,
'/guide/getting-started': RouteRecordInfo<'/guide/getting-started', '/guide/getting-started', Record<never, never>, Record<never, never>>,
'/guide/i18n': RouteRecordInfo<'/guide/i18n', '/guide/i18n', Record<never, never>, Record<never, never>>,
'/guide/markdown': RouteRecordInfo<'/guide/markdown', '/guide/markdown', Record<never, never>, Record<never, never>>,
'/guide/page': RouteRecordInfo<'/guide/page', '/guide/page', Record<never, never>, Record<never, never>>,
'/guide/post': RouteRecordInfo<'/guide/post', '/guide/post', Record<never, never>, Record<never, never>>,
'/guide/third-party/': RouteRecordInfo<'/guide/third-party/', '/guide/third-party', Record<never, never>, Record<never, never>>,
'/guide/third-party/comment-system': RouteRecordInfo<'/guide/third-party/comment-system', '/guide/third-party/comment-system', Record<never, never>, Record<never, never>>,
'/guide/third-party/schema-org': RouteRecordInfo<'/guide/third-party/schema-org', '/guide/third-party/schema-org', Record<never, never>, Record<never, never>>,
'/guide/third-party/vite-vue': RouteRecordInfo<'/guide/third-party/vite-vue', '/guide/third-party/vite-vue', Record<never, never>, Record<never, never>>,
'/guide/why': RouteRecordInfo<'/guide/why', '/guide/why', Record<never, never>, Record<never, never>>,
'/migration/': RouteRecordInfo<'/migration/', '/migration', Record<never, never>, Record<never, never>>,
'/migration/hexo': RouteRecordInfo<'/migration/hexo', '/migration/hexo', Record<never, never>, Record<never, never>>,
'/posts/i18n': RouteRecordInfo<'/posts/i18n', '/posts/i18n', Record<never, never>, Record<never, never>>,
'/themes/gallery': RouteRecordInfo<'/themes/gallery', '/themes/gallery', Record<never, never>, Record<never, never>>,
'/themes/use': RouteRecordInfo<'/themes/use', '/themes/use', Record<never, never>, Record<never, never>>,
'/themes/write': RouteRecordInfo<'/themes/write', '/themes/write', Record<never, never>, Record<never, never>>,
}
}
declare module 'vue-router/auto' {
import type { RouteNamedMap } from 'vue-router/auto/routes'
export type RouterTyped = _RouterTyped<RouteNamedMap>
/**
* Type safe version of `RouteLocationNormalized` (the type of `to` and `from` in navigation guards).
* Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocationNormalized<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationNormalizedTypedList<RouteNamedMap>[Name]
/**
* Type safe version of `RouteLocationNormalizedLoaded` (the return type of `useRoute()`).
* Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocationNormalizedLoaded<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationNormalizedLoadedTypedList<RouteNamedMap>[Name]
/**
* Type safe version of `RouteLocationResolved` (the returned route of `router.resolve()`).
* Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocationResolved<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationResolvedTypedList<RouteNamedMap>[Name]
/**
* Type safe version of `RouteLocation` . Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocation<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationTypedList<RouteNamedMap>[Name]
/**
* Type safe version of `RouteLocationRaw` . Allows passing the name of the route to be passed as a generic.
*/
export type RouteLocationRaw<Name extends keyof RouteNamedMap = keyof RouteNamedMap> =
| RouteLocationAsString<RouteNamedMap>
| RouteLocationAsRelativeTypedList<RouteNamedMap>[Name]
| RouteLocationAsPathTypedList<RouteNamedMap>[Name]
/**
* Generate a type safe params for a route location. Requires the name of the route to be passed as a generic.
*/
export type RouteParams<Name extends keyof RouteNamedMap> = RouteNamedMap[Name]['params']
/**
* Generate a type safe raw params for a route location. Requires the name of the route to be passed as a generic.
*/
export type RouteParamsRaw<Name extends keyof RouteNamedMap> = RouteNamedMap[Name]['paramsRaw']
export function useRouter(): RouterTyped
export function useRoute<Name extends keyof RouteNamedMap = keyof RouteNamedMap>(name?: Name): RouteLocationNormalizedLoadedTypedList<RouteNamedMap>[Name]
export const useLink: UseLinkFnTyped<RouteNamedMap>
export function onBeforeRouteLeave(guard: NavigationGuard<RouteNamedMap>): void
export function onBeforeRouteUpdate(guard: NavigationGuard<RouteNamedMap>): void
export const RouterLink: RouterLinkTyped<RouteNamedMap>
export const RouterLinkProps: RouterLinkPropsTyped<RouteNamedMap>
// Experimental Data Fetching
export function defineLoader<
P extends Promise<any>,
Name extends keyof RouteNamedMap = keyof RouteNamedMap,
isLazy extends boolean = false,
>(
name: Name,
loader: (route: RouteLocationNormalizedLoaded<Name>) => P,
options?: _DefineLoaderOptions<isLazy>,
): _DataLoader<Awaited<P>, isLazy>
export function defineLoader<
P extends Promise<any>,
isLazy extends boolean = false,
>(
loader: (route: RouteLocationNormalizedLoaded) => P,
options?: _DefineLoaderOptions<isLazy>,
): _DataLoader<Awaited<P>, isLazy>
export {
_definePage as definePage,
_HasDataLoaderMeta as HasDataLoaderMeta,
_setupDataFetchingGuard as setupDataFetchingGuard,
_stopDataFetchingScope as stopDataFetchingScope,
} from 'unplugin-vue-router/runtime'
}
declare module 'vue-router' {
import type { RouteNamedMap } from 'vue-router/auto/routes'
export interface TypesConfig {
beforeRouteUpdate: NavigationGuard<RouteNamedMap>
beforeRouteLeave: NavigationGuard<RouteNamedMap>
$route: RouteLocationNormalizedLoadedTypedList<RouteNamedMap>[keyof RouteNamedMap]
$router: _RouterTyped<RouteNamedMap>
RouterLink: RouterLinkTyped<RouteNamedMap>
}
}

View File

@ -157,14 +157,14 @@ All icon names added to `config.unocss.safelist` will be ready for hot reloading
:::
::: zh-CN
基于 [Shiki](https://github.com/shikijs/shiki) 实现。
基于 [Shikiji](https://shikiji.netlify.app/) 实现。
Valaxy 支持 `vue` 等语法高亮,拷贝代码,高亮其中某一行。
譬如:
:::
::: en
Based on [Shiki](https://github.com/shikijs/shiki).
Based on [Shikiji](https://shikiji.netlify.app/).
Valaxy supports syntax highlighting for languages like `vue`, and also supports copying code and
highlighting a particular line in the code block.

View File

@ -121,15 +121,13 @@ Adding the `// [!code --]` or `// [!code ++]` comments on a line will create a d
**Input**
Note that only one space is required after `!code`, here are two to prevent processing.
````
```js
export default {
data () {
return {
msg: 'Removed' // [!code --]
msg: 'Added' // [!code ++]
msg: 'Removed' // [!!code --]
msg: 'Added' // [!!code ++]
}
}
}
@ -155,15 +153,13 @@ Adding the `// [!code warning]` or `// [!code error]` comments on a line will co
**Input**
Note that only one space is required after `!code`, here are two to prevent processing.
````
```js
export default {
data () {
return {
msg: 'Error', // [!code error]
msg: 'Warning' // [!code warning]
msg: 'Error', // [!!code error]
msg: 'Warning' // [!!code warning]
}
}
}

View File

@ -199,6 +199,14 @@ export default defineValaxyConfig<PressTheme.Config>({
},
},
codeTransformers: [
// We use `[!!code` in demo to prevent transformation, here we revert it back.
{
postprocess(code) {
return code.replace(/\[\!\!code/g, '[!code')
},
},
],
// theme: 'material-theme-palenight',
},
})

View File

@ -10,5 +10,6 @@ $c-primary: #0078e7 !default;
// override the default style of star-markdown-css
@use "./common/button.scss" as *;
@use "./common/markdown.scss" as *;
@use 'valaxy/client/styles/components/code.scss' as *;
@use 'valaxy/client/styles/components/code-group.scss' as *;
@use 'valaxy/client/styles/components/custom-block.scss' as *;

View File

@ -0,0 +1,7 @@
.dark .vp-code span {
color: var(--shiki-dark, inherit);
}
html:not(.dark) .vp-code span {
color: var(--shiki-light, inherit);
}

View File

@ -36,6 +36,7 @@ import { linkPlugin } from './plugins/link'
import { preWrapperPlugin } from './plugins/markdown-it/preWrapper'
import { lineNumberPlugin } from './plugins/markdown-it/lineNumbers'
import { snippetPlugin } from './plugins/markdown-it/snippet'
import type { ThemeOptions } from './types'
export * from './env'
@ -47,7 +48,7 @@ export interface MarkdownParsedData {
export type MarkdownRenderer = MarkdownIt
export const defaultCodeTheme = { light: 'github-light', dark: 'github-dark' }
export const defaultCodeTheme = { light: 'github-light', dark: 'github-dark' } as const as ThemeOptions
export async function setupMarkdownPlugins(
md: MarkdownIt,
@ -172,9 +173,12 @@ export async function createMarkdownRenderer(options?: ResolvedValaxyOptions): P
const md = MarkdownIt({
html: true,
linkify: true,
highlight: await highlight(theme, mdOptions.languages, mdOptions.defaultHighlightLang),
highlight: await highlight(theme, mdOptions),
...mdOptions.options,
}) as MarkdownRenderer
md.linkify.set({ fuzzyLink: false })
await setupMarkdownPlugins(md, options)
return md
}

View File

@ -2,23 +2,23 @@
import { customAlphabet } from 'nanoid'
import c from 'picocolors'
import {
BUNDLED_LANGUAGES,
type HtmlRendererOptions,
type ILanguageRegistration,
type IThemeRegistration,
} from 'shiki'
type TransformerCompactLineOption,
transformerCompactLineOptions,
transformerNotationDiff,
transformerNotationErrorLevel,
transformerNotationFocus,
transformerNotationHighlight,
} from 'shikiji-transformers'
import type { ShikijiTransformer } from 'shikiji'
import {
type Processor,
addClass,
createDiffProcessor,
createFocusProcessor,
createHighlightProcessor,
createRangeProcessor,
defineProcessor,
addClassToHast,
bundledLanguages,
getHighlighter,
} from 'shiki-processor'
isPlaintext as isPlainLang,
isSpecialLang,
} from 'shikiji'
import type { Logger } from 'vite'
import type { ThemeOptions } from '../types'
import type { MarkdownOptions, ThemeOptions } from '../types'
const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz', 10)
@ -30,7 +30,7 @@ const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz', 10)
* 2. convert line numbers into line options:
* [{ line: number, classes: string[] }]
*/
function attrsToLines(attrs: string): HtmlRendererOptions['lineOptions'] {
function attrsToLines(attrs: string): TransformerCompactLineOption[] {
attrs = attrs.replace(/^(?:\[.*?\])?.*?([\d,-]+).*/, '$1').trim()
const result: number[] = []
if (!attrs)
@ -55,39 +55,48 @@ function attrsToLines(attrs: string): HtmlRendererOptions['lineOptions'] {
}))
}
const errorLevelProcessor = defineProcessor({
name: 'error-level',
handler: createRangeProcessor({
error: ['highlighted', 'error'],
warning: ['highlighted', 'warning'],
}),
})
export async function highlight(
theme: ThemeOptions,
languages: ILanguageRegistration[] = [],
defaultLang: string = '',
options: MarkdownOptions,
logger: Pick<Logger, 'warn'> = console,
): Promise<(str: string, lang: string, attrs: string) => string> {
const hasSingleTheme = typeof theme === 'string' || 'name' in theme
const getThemeName = (themeValue: IThemeRegistration) =>
typeof themeValue === 'string' ? themeValue : themeValue.name
const processors: Processor[] = [
createFocusProcessor(),
createHighlightProcessor({ hasHighlightClass: 'highlighted' }),
createDiffProcessor(),
errorLevelProcessor,
]
const {
defaultHighlightLang: defaultLang = '',
codeTransformers: userTransformers = [],
} = options
const highlighter = await getHighlighter({
themes: hasSingleTheme ? [theme] : [theme.dark, theme.light],
langs: [...BUNDLED_LANGUAGES, ...languages],
processors,
themes:
(typeof theme === 'string' || 'name' in theme)
? [theme]
: [theme.light, theme.dark],
langs: [...Object.keys(bundledLanguages), ...(options.languages || [])],
langAlias: options.languageAlias,
})
const styleRE = /<pre[^>]*(style=".*?")/
const preRE = /^<pre(.*?)>/
await options?.shikijiSetup?.(highlighter)
const transformers: ShikijiTransformer[] = [
transformerNotationDiff(),
transformerNotationFocus({
classActiveLine: 'has-focus',
classActivePre: 'has-focused-lines',
}),
transformerNotationHighlight(),
transformerNotationErrorLevel(),
{
name: 'valaxy:add-class',
pre(node) {
addClassToHast(node, 'vp-code')
},
},
{
name: 'valaxy:clean-up',
pre(node) {
delete node.properties.tabindex
delete node.properties.style
},
},
]
const vueRE = /-vue$/
const lineNoStartRE = /=(\d*)/
const lineNoRE = /:(no-)?line-numbers(=\d*)?$/
@ -104,7 +113,7 @@ export async function highlight(
if (lang) {
const langLoaded = highlighter.getLoadedLanguages().includes(lang as any)
if (!langLoaded && !['ansi', 'plaintext', 'txt', 'text'].includes(lang)) {
if (!langLoaded && !isPlainLang(lang) && !isSpecialLang(lang)) {
logger.warn(
c.yellow(
`\nThe language '${lang}' is not loaded, falling back to '${
@ -117,15 +126,6 @@ export async function highlight(
}
const lineOptions = attrsToLines(attrs)
const cleanup = (str: string) => {
return str
.replace(
preRE,
(_, attributes) => `<pre ${vPre}${attributes.replace(' tabindex="0"', '')}>`,
)
.replace(styleRE, (_, style) => _.replace(style, ''))
}
const mustaches = new Map<string, string>()
const removeMustache = (s: string) => {
@ -157,25 +157,31 @@ export async function highlight(
str = removeMustache(str).trimEnd()
const codeToHtml = (theme: IThemeRegistration) => {
const res
= lang === 'ansi'
? highlighter.ansiToHtml(str, {
lineOptions,
theme: getThemeName(theme),
})
: highlighter.codeToHtml(str, {
lang,
lineOptions,
theme: getThemeName(theme),
})
return fillEmptyHighlightedLine(cleanup(restoreMustache(res)))
}
const highlighted = highlighter.codeToHtml(str, {
lang,
transformers: [
...transformers,
transformerCompactLineOptions(lineOptions),
{
name: 'valaxy:v-pre',
pre(node) {
if (vPre)
node.properties['v-pre'] = ''
},
},
...userTransformers,
],
meta: {
__raw: attrs,
},
...(typeof theme === 'string' || 'name' in theme
? { theme }
: {
themes: theme,
defaultColor: false,
}),
})
if (hasSingleTheme)
return codeToHtml(theme)
const dark = addClass(codeToHtml(theme.dark), 'vp-code-dark', 'pre')
const light = addClass(codeToHtml(theme.light), 'vp-code-light', 'pre')
return dark + light
return fillEmptyHighlightedLine(restoreMustache(highlighted))
}
}

View File

@ -1,6 +1,13 @@
import type MarkdownIt from 'markdown-it'
import type { ILanguageRegistration, IThemeRegistration } from 'shiki'
import type {
BuiltinTheme,
Highlighter,
LanguageInput,
ShikijiTransformer,
ThemeRegistration
,
} from 'shikiji'
import type anchorPlugin from 'markdown-it-anchor'
import type { KatexOptions } from 'katex'
@ -22,8 +29,12 @@ import type {
import type { Blocks } from './plugins/markdown-it/container'
export type ThemeOptions =
| IThemeRegistration
| { light: IThemeRegistration, dark: IThemeRegistration }
| ThemeRegistration
| BuiltinTheme
| {
light: ThemeRegistration | BuiltinTheme
dark: ThemeRegistration | BuiltinTheme
}
export interface MarkdownOptions {
/**
@ -45,7 +56,50 @@ export interface MarkdownOptions {
allowedAttributes?: string[]
disable?: boolean
}
/**
* Custom theme for syntax highlighting.
*
* You can also pass an object with `light` and `dark` themes to support dual themes.
*
* @example { theme: 'github-dark' }
* @example { theme: { light: 'github-light', dark: 'github-dark' } }
*
* You can use an existing theme.
* @see https://github.com/antfu/shikiji/blob/main/docs/themes.md#all-themes
* Or add your own theme.
* @see https://github.com/antfu/shikiji/blob/main/docs/themes.md#load-custom-themes
*/
theme?: ThemeOptions
/**
* Languages for syntax highlighting.
* @see https://github.com/antfu/shikiji/blob/main/docs/languages.md#all-themes
*/
languages?: LanguageInput[]
/**
* Custom language aliases.
*
* @example { 'my-lang': 'js' }
* @see https://github.com/antfu/shikiji/tree/main#custom-language-aliases
*/
languageAlias?: Record<string, string>
/**
* Show line numbers in code blocks
* @default false
*/
lineNumbers?: boolean
/**
* Fallback language when the specified language is not available.
*/
defaultHighlightLang?: string
/**
* Transformers applied to code blocks
* @see https://github.com/antfu/shikiji#hast-transformers
*/
codeTransformers?: ShikijiTransformer[]
/**
* Setup Shikiji instance
*/
shikijiSetup?: (shikiji: Highlighter) => void | Promise<void>
// mdit-vue plugins
frontmatter?: FrontmatterPluginOptions
headers?: HeadersPluginOptions
@ -66,17 +120,10 @@ export interface MarkdownOptions {
classes: string
}
lineNumbers?: boolean
/**
* @see https://katex.org/docs/options.html
*/
katex?: KatexOptions
/**
* shiki
*/
theme?: ThemeOptions
languages?: ILanguageRegistration[]
/**
* Custom block configurations
*/

View File

@ -39,6 +39,11 @@ export interface ResolvedValaxyOptions<ThemeConfig = DefaultTheme.Config> {
* package.json root
*/
pkgRoot: string
/**
* temp dir, store d.ts and other temp files
* .valaxy
*/
tempDir: string
/**
* Client root path
* @default 'valaxy/client'
@ -199,6 +204,7 @@ export async function resolveOptions(
let valaxyOptions: ResolvedValaxyOptions = {
mode,
pkgRoot,
tempDir: resolve(userRoot, '.valaxy'),
clientRoot,
userRoot,
themeRoot,
@ -222,6 +228,9 @@ export async function resolveOptions(
const valaxyConfig = mergeValaxyConfig(userValaxyConfig, themeValaxyConfig)
valaxyOptions = await processValaxyOptions(valaxyOptions, valaxyConfig)
// ensure .valaxy folder to store temp files, like d.ts
fs.ensureDirSync(valaxyOptions.tempDir)
return valaxyOptions
}

View File

@ -10,6 +10,7 @@ import VueI18n from '@intlify/unplugin-vue-i18n/vite'
import UnheadVite from '@unhead/addons/vite'
import { resolve } from 'pathe'
import type { ResolvedValaxyOptions, ValaxyServerOptions } from '../options'
import { setupMarkdownPlugins } from '../markdown'
@ -112,7 +113,7 @@ export async function ViteValaxyPlugins(
dirs: roots
.map(root => `${root}/components`)
.concat(['src/components', 'components']),
dts: `${options.userRoot}/components.d.ts`,
dts: resolve(options.tempDir, 'components.d.ts'),
...valaxyConfig.components,
}),

View File

@ -1,5 +1,6 @@
import VueRouter from 'unplugin-vue-router/vite'
import fs from 'fs-extra'
import { resolve } from 'pathe'
import matter from 'gray-matter'
import { isDate } from '@antfu/utils'
import { convert } from 'html-to-text'
@ -40,7 +41,7 @@ export function createRouterPlugin(options: ResolvedValaxyOptions) {
return VueRouter({
extensions: ['.vue', '.md'],
routesFolder: roots.map(root => `${root}/pages`),
dts: `${options.clientRoot}/typed-router.d.ts`,
dts: resolve(options.tempDir, 'typed-router.d.ts'),
...valaxyConfig.router,

View File

@ -113,7 +113,8 @@
"pinia": "^2.1.7",
"qrcode": "^1.5.3",
"sass": "^1.70.0",
"shiki": "^0.14.7",
"shikiji": "0.9.7",
"shikiji-transformers": "0.9.7",
"star-markdown-css": "^0.4.2",
"unconfig": "^0.3.11",
"unocss": "^0.58.3",
@ -149,7 +150,6 @@
"debug": "^4.3.4",
"diacritics": "^1.3.0",
"https-localhost": "^4.7.1",
"markdown-it-image-figures": "^2.1.1",
"shiki-processor": "^0.1.3"
"markdown-it-image-figures": "^2.1.1"
}
}

View File

@ -1,6 +1,6 @@
import 'vue-router'
import './client/typed-router'
// import './client/typed-router'
import type { Post } from './types'
import type { Header } from './node/markdown'

View File

@ -393,9 +393,12 @@ importers:
sass:
specifier: ^1.70.0
version: 1.70.0
shiki:
specifier: ^0.14.7
version: 0.14.7
shikiji:
specifier: 0.9.7
version: 0.9.7
shikiji-transformers:
specifier: 0.9.7
version: 0.9.7
star-markdown-css:
specifier: ^0.4.2
version: 0.4.2
@ -489,7 +492,7 @@ importers:
version: 17.0.32
debug:
specifier: ^4.3.4
version: 4.3.4(supports-color@5.5.0)
version: 4.3.4(supports-color@8.1.1)
diacritics:
specifier: ^1.3.0
version: 1.3.0
@ -499,9 +502,6 @@ importers:
markdown-it-image-figures:
specifier: ^2.1.1
version: 2.1.1(markdown-it@14.0.0)
shiki-processor:
specifier: ^0.1.3
version: 0.1.3(shiki@0.14.7)
packages/valaxy-addon-algolia:
dependencies:
@ -867,7 +867,7 @@ packages:
'@babel/traverse': 7.23.7
'@babel/types': 7.23.6
convert-source-map: 2.0.0
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@ -943,7 +943,7 @@ packages:
'@babel/core': 7.23.7
'@babel/helper-compilation-targets': 7.23.6
'@babel/helper-plugin-utils': 7.22.5
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
lodash.debounce: 4.0.8
resolve: 1.22.8
transitivePeerDependencies:
@ -958,7 +958,7 @@ packages:
'@babel/core': 7.23.7
'@babel/helper-compilation-targets': 7.23.6
'@babel/helper-plugin-utils': 7.22.5
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
lodash.debounce: 4.0.8
resolve: 1.22.8
transitivePeerDependencies:
@ -1984,7 +1984,7 @@ packages:
babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.23.7)
babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.7)
babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.23.7)
core-js-compat: 3.35.0
core-js-compat: 3.35.1
semver: 6.3.1
transitivePeerDependencies:
- supports-color
@ -2051,7 +2051,7 @@ packages:
'@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.23.6
'@babel/types': 7.23.6
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@ -2408,7 +2408,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
espree: 9.6.1
globals: 13.24.0
ignore: 5.3.0
@ -2434,7 +2434,7 @@ packages:
engines: {node: '>=10.10.0'}
dependencies:
'@humanwhocodes/object-schema': 2.0.2
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@ -2493,7 +2493,7 @@ packages:
'@antfu/install-pkg': 0.1.1
'@antfu/utils': 0.7.7
'@iconify/types': 2.0.0
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
kolorist: 1.8.0
local-pkg: 0.4.3
transitivePeerDependencies:
@ -2565,7 +2565,7 @@ packages:
'@intlify/shared': 9.9.0
'@rollup/pluginutils': 5.1.0(rollup@3.29.4)
'@vue/compiler-sfc': 3.4.15
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
fast-glob: 3.3.2
js-yaml: 4.1.0
json5: 2.2.3
@ -2919,92 +2919,92 @@ packages:
picomatch: 2.3.1
rollup: 3.29.4
/@rollup/rollup-android-arm-eabi@4.9.5:
resolution: {integrity: sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA==}
/@rollup/rollup-android-arm-eabi@4.9.6:
resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==}
cpu: [arm]
os: [android]
requiresBuild: true
optional: true
/@rollup/rollup-android-arm64@4.9.5:
resolution: {integrity: sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg==}
/@rollup/rollup-android-arm64@4.9.6:
resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==}
cpu: [arm64]
os: [android]
requiresBuild: true
optional: true
/@rollup/rollup-darwin-arm64@4.9.5:
resolution: {integrity: sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==}
/@rollup/rollup-darwin-arm64@4.9.6:
resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
optional: true
/@rollup/rollup-darwin-x64@4.9.5:
resolution: {integrity: sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA==}
/@rollup/rollup-darwin-x64@4.9.6:
resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==}
cpu: [x64]
os: [darwin]
requiresBuild: true
optional: true
/@rollup/rollup-linux-arm-gnueabihf@4.9.5:
resolution: {integrity: sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g==}
/@rollup/rollup-linux-arm-gnueabihf@4.9.6:
resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==}
cpu: [arm]
os: [linux]
requiresBuild: true
optional: true
/@rollup/rollup-linux-arm64-gnu@4.9.5:
resolution: {integrity: sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA==}
/@rollup/rollup-linux-arm64-gnu@4.9.6:
resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==}
cpu: [arm64]
os: [linux]
requiresBuild: true
optional: true
/@rollup/rollup-linux-arm64-musl@4.9.5:
resolution: {integrity: sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ==}
/@rollup/rollup-linux-arm64-musl@4.9.6:
resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==}
cpu: [arm64]
os: [linux]
requiresBuild: true
optional: true
/@rollup/rollup-linux-riscv64-gnu@4.9.5:
resolution: {integrity: sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA==}
/@rollup/rollup-linux-riscv64-gnu@4.9.6:
resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==}
cpu: [riscv64]
os: [linux]
requiresBuild: true
optional: true
/@rollup/rollup-linux-x64-gnu@4.9.5:
resolution: {integrity: sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==}
/@rollup/rollup-linux-x64-gnu@4.9.6:
resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==}
cpu: [x64]
os: [linux]
requiresBuild: true
optional: true
/@rollup/rollup-linux-x64-musl@4.9.5:
resolution: {integrity: sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg==}
/@rollup/rollup-linux-x64-musl@4.9.6:
resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==}
cpu: [x64]
os: [linux]
requiresBuild: true
optional: true
/@rollup/rollup-win32-arm64-msvc@4.9.5:
resolution: {integrity: sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ==}
/@rollup/rollup-win32-arm64-msvc@4.9.6:
resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==}
cpu: [arm64]
os: [win32]
requiresBuild: true
optional: true
/@rollup/rollup-win32-ia32-msvc@4.9.5:
resolution: {integrity: sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA==}
/@rollup/rollup-win32-ia32-msvc@4.9.6:
resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==}
cpu: [ia32]
os: [win32]
requiresBuild: true
optional: true
/@rollup/rollup-win32-x64-msvc@4.9.5:
resolution: {integrity: sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ==}
/@rollup/rollup-win32-x64-msvc@4.9.6:
resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==}
cpu: [x64]
os: [win32]
requiresBuild: true
@ -3355,7 +3355,7 @@ packages:
'@typescript-eslint/type-utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.19.0
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0
graphemer: 1.4.0
ignore: 5.3.0
@ -3381,7 +3381,7 @@ packages:
'@typescript-eslint/types': 6.19.0
'@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.19.0
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0
typescript: 5.3.3
transitivePeerDependencies:
@ -3408,7 +3408,7 @@ packages:
dependencies:
'@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3)
'@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0
ts-api-utils: 1.0.3(typescript@5.3.3)
typescript: 5.3.3
@ -3432,7 +3432,7 @@ packages:
dependencies:
'@typescript-eslint/types': 6.19.0
'@typescript-eslint/visitor-keys': 6.19.0
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.3
@ -3834,12 +3834,12 @@ packages:
- rollup
dev: false
/@vue/babel-helper-vue-transform-on@1.1.6:
resolution: {integrity: sha512-XxM2tZHjYHTd9yiKHHt7fKCN0e2BK2z78UxU5rpjH3YCstEV/tcrW29CaOdrxIdeD0c/9mHHebvXWwDxlphjKA==}
/@vue/babel-helper-vue-transform-on@1.2.0:
resolution: {integrity: sha512-Zn6iRYAVvWl835GCcNsLUroy+jwNjH1yd83hvKNSgbiCkzeZwXvEFCC1u0lVKwoqL7z0IcrtY3dkBMuMxwB1fw==}
dev: false
/@vue/babel-plugin-jsx@1.1.6(@babel/core@7.23.7):
resolution: {integrity: sha512-s2pK8Wwg0LiR25lyCKWGJePt8aXF0DsXOmTHYJnlKNdT3yTKfdvkKmsWjaHBctFvwWmetedObrAoINc9BeYZlA==}
/@vue/babel-plugin-jsx@1.2.0(@babel/core@7.23.7):
resolution: {integrity: sha512-z0t7fjk03TqncyWYoChKQ4rWx1LXJaw1kNEDrUU5tbPWI2zkCPv2imQJOYlJ8GyTDoQ6/nD82asFcSxDRJ8YgQ==}
peerDependencies:
'@babel/core': ^7.0.0-0
peerDependenciesMeta:
@ -3848,11 +3848,13 @@ packages:
dependencies:
'@babel/core': 7.23.7
'@babel/helper-module-imports': 7.22.15
'@babel/helper-plugin-utils': 7.22.5
'@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7)
'@babel/template': 7.22.15
'@babel/traverse': 7.23.7
'@babel/types': 7.23.6
'@vue/babel-helper-vue-transform-on': 1.1.6
'@vue/babel-helper-vue-transform-on': 1.2.0
'@vue/babel-plugin-resolve-type': 1.2.0-beta.0(@babel/core@7.23.7)
camelcase: 6.3.0
html-tags: 3.3.1
svg-tags: 1.0.0
@ -3860,6 +3862,19 @@ packages:
- supports-color
dev: false
/@vue/babel-plugin-resolve-type@1.2.0-beta.0(@babel/core@7.23.7):
resolution: {integrity: sha512-zG5nXU+89UjXHVvvf0yehU0MDF1caJssCUF+bU5HWevEoR5qoRLt7wX6rNTtG/ZKHFUvB8BibIKL62Ix167Wxg==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/code-frame': 7.23.5
'@babel/core': 7.23.7
'@babel/helper-module-imports': 7.22.15
'@babel/helper-plugin-utils': 7.22.5
'@babel/parser': 7.23.6
'@vue/compiler-sfc': 3.4.15
dev: false
/@vue/compiler-core@3.4.15:
resolution: {integrity: sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==}
dependencies:
@ -4165,7 +4180,7 @@ packages:
resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
engines: {node: '>= 14'}
dependencies:
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
dev: false
@ -4245,9 +4260,6 @@ packages:
resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
engines: {node: '>=12'}
/ansi-sequence-parser@1.1.1:
resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==}
/ansi-styles@3.2.1:
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
engines: {node: '>=4'}
@ -4468,7 +4480,7 @@ packages:
dependencies:
'@babel/core': 7.23.7
'@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7)
core-js-compat: 3.35.0
core-js-compat: 3.35.1
transitivePeerDependencies:
- supports-color
dev: true
@ -5052,8 +5064,8 @@ packages:
engines: {node: '>= 0.6'}
dev: true
/core-js-compat@3.35.0:
resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==}
/core-js-compat@3.35.1:
resolution: {integrity: sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==}
dependencies:
browserslist: 4.22.2
dev: true
@ -5372,6 +5384,7 @@ packages:
dependencies:
ms: 2.1.2
supports-color: 5.5.0
dev: true
/debug@4.3.4(supports-color@8.1.1):
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
@ -5384,7 +5397,6 @@ packages:
dependencies:
ms: 2.1.2
supports-color: 8.1.1
dev: true
/decamelize@1.2.0:
resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
@ -5861,7 +5873,7 @@ packages:
peerDependencies:
eslint: ^7.2.0 || ^8
dependencies:
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
doctrine: 3.0.0
eslint: 8.56.0
eslint-import-resolver-node: 0.3.9
@ -5886,7 +5898,7 @@ packages:
'@es-joy/jsdoccomment': 0.41.0
are-docs-informative: 0.0.2
comment-parser: 1.4.1
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
escape-string-regexp: 4.0.0
eslint: 8.56.0
esquery: 1.5.0
@ -5983,7 +5995,7 @@ packages:
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0
eslint-compat-utils: 0.4.1(eslint@8.56.0)
lodash: 4.17.21
@ -6003,7 +6015,7 @@ packages:
'@eslint/eslintrc': 2.1.4
ci-info: 4.0.0
clean-regexp: 1.0.0
core-js-compat: 3.35.0
core-js-compat: 3.35.1
eslint: 8.56.0
esquery: 1.5.0
indent-string: 4.0.0
@ -6080,7 +6092,7 @@ packages:
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0
eslint-compat-utils: 0.4.1(eslint@8.56.0)
lodash: 4.17.21
@ -6133,7 +6145,7 @@ packages:
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.2
@ -7027,7 +7039,7 @@ packages:
engines: {node: '>= 14'}
dependencies:
agent-base: 7.1.0
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
dev: false
@ -7060,7 +7072,7 @@ packages:
engines: {node: '>= 14'}
dependencies:
agent-base: 7.1.0
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
dev: false
@ -7537,6 +7549,7 @@ packages:
/js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
requiresBuild: true
/js-tokens@8.0.2:
resolution: {integrity: sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==}
@ -7770,7 +7783,7 @@ packages:
dependencies:
chalk: 5.3.0
commander: 11.1.0
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
execa: 8.0.1
lilconfig: 3.0.0
listr2: 8.0.0
@ -8121,7 +8134,7 @@ packages:
/micromark@2.11.4:
resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==}
dependencies:
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
parse-entities: 2.0.0
transitivePeerDependencies:
- supports-color
@ -9593,26 +9606,26 @@ packages:
optionalDependencies:
fsevents: 2.3.3
/rollup@4.9.5:
resolution: {integrity: sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==}
/rollup@4.9.6:
resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
dependencies:
'@types/estree': 1.0.5
optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.9.5
'@rollup/rollup-android-arm64': 4.9.5
'@rollup/rollup-darwin-arm64': 4.9.5
'@rollup/rollup-darwin-x64': 4.9.5
'@rollup/rollup-linux-arm-gnueabihf': 4.9.5
'@rollup/rollup-linux-arm64-gnu': 4.9.5
'@rollup/rollup-linux-arm64-musl': 4.9.5
'@rollup/rollup-linux-riscv64-gnu': 4.9.5
'@rollup/rollup-linux-x64-gnu': 4.9.5
'@rollup/rollup-linux-x64-musl': 4.9.5
'@rollup/rollup-win32-arm64-msvc': 4.9.5
'@rollup/rollup-win32-ia32-msvc': 4.9.5
'@rollup/rollup-win32-x64-msvc': 4.9.5
'@rollup/rollup-android-arm-eabi': 4.9.6
'@rollup/rollup-android-arm64': 4.9.6
'@rollup/rollup-darwin-arm64': 4.9.6
'@rollup/rollup-darwin-x64': 4.9.6
'@rollup/rollup-linux-arm-gnueabihf': 4.9.6
'@rollup/rollup-linux-arm64-gnu': 4.9.6
'@rollup/rollup-linux-arm64-musl': 4.9.6
'@rollup/rollup-linux-riscv64-gnu': 4.9.6
'@rollup/rollup-linux-x64-gnu': 4.9.6
'@rollup/rollup-linux-x64-musl': 4.9.6
'@rollup/rollup-win32-arm64-msvc': 4.9.6
'@rollup/rollup-win32-ia32-msvc': 4.9.6
'@rollup/rollup-win32-x64-msvc': 4.9.6
fsevents: 2.3.3
/rrweb-cssom@0.6.0:
@ -9824,38 +9837,38 @@ packages:
resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
dev: true
/shiki-processor@0.1.3(shiki@0.14.7):
resolution: {integrity: sha512-oZqVFKweklwt+fj6yUPb+ffrCpYYoJ4RYxNt7w1+aoHetHq5ZaN6oX6+4HrypOi0s/O6A2neBpn+Xf6bM4KfsQ==}
peerDependencies:
shiki: 0.x
dependencies:
shiki: 0.14.7
dev: true
/shiki@0.14.7:
resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==}
dependencies:
ansi-sequence-parser: 1.1.1
jsonc-parser: 3.2.0
vscode-oniguruma: 1.7.0
vscode-textmate: 8.0.0
/shikiji-core@0.9.19:
resolution: {integrity: sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==}
dev: true
/shikiji-core@0.9.7:
resolution: {integrity: sha512-VaNXwEyWIAkOqA3fjCUU1p8sbRWmnYLr0Ni4YX2q+ePR9nxIcYOQG6BEd6xu+nyk8QlpADOS2/naMYce9KpBNg==}
dev: false
/shikiji-transformers@0.9.19:
resolution: {integrity: sha512-lGLI7Z8frQrIBbhZ74/eiJtxMoCQRbpaHEB+gcfvdIy+ZFaAtXncJGnc52932/UET+Y4GyKtwwC/vjWUCp+c/Q==}
dependencies:
shikiji: 0.9.19
dev: true
/shikiji-transformers@0.9.7:
resolution: {integrity: sha512-tQWL8Cq3hR6/00+kf6sEFHYb0kwCC3dHTyoVqwTBM0blazl5SkxkEySjEgyHVGIxVX77BDl4+8oOm3k0IpMK2g==}
dependencies:
shikiji: 0.9.7
dev: false
/shikiji@0.9.19:
resolution: {integrity: sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==}
dependencies:
shikiji-core: 0.9.19
dev: true
/shikiji@0.9.7:
resolution: {integrity: sha512-PdemkqPoYmcxEsJzBOl1rd7Iuh03IxkyBT2Xf8OXHUU0SICFld8+6c4YT6txeTzCJufmmoIl4vwJr5mPu27ntg==}
dependencies:
shikiji-core: 0.9.7
dev: false
/side-channel@1.0.4:
resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
dependencies:
@ -9997,7 +10010,7 @@ packages:
/spdy-transport@3.0.0:
resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
dependencies:
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
detect-node: 2.1.0
hpack.js: 2.1.6
obuf: 1.1.2
@ -10011,7 +10024,7 @@ packages:
resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
engines: {node: '>=6.0.0'}
dependencies:
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
handle-thing: 2.0.1
http-deceiver: 1.2.7
select-hose: 2.0.0
@ -10345,7 +10358,7 @@ packages:
cosmiconfig: 9.0.0(typescript@5.3.3)
css-functions-list: 3.2.1
css-tree: 2.3.1
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
fast-glob: 3.3.2
fastest-levenshtein: 1.0.16
file-entry-cache: 8.0.0
@ -10410,7 +10423,6 @@ packages:
engines: {node: '>=10'}
dependencies:
has-flag: 4.0.0
dev: true
/supports-hyperlinks@3.0.0:
resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==}
@ -10648,7 +10660,7 @@ packages:
bundle-require: 4.0.2(esbuild@0.19.11)
cac: 6.7.14
chokidar: 3.5.3
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
esbuild: 0.19.11
execa: 5.1.1
globby: 11.1.0
@ -10656,7 +10668,7 @@ packages:
postcss: 8.4.33
postcss-load-config: 4.0.2(postcss@8.4.33)
resolve-from: 5.0.0
rollup: 4.9.5
rollup: 4.9.6
source-map: 0.8.0-beta.0
sucrase: 3.35.0
tree-kill: 1.2.2
@ -10833,7 +10845,7 @@ packages:
rollup-plugin-dts: 6.1.0(rollup@3.29.4)(typescript@5.3.3)
scule: 1.2.0
typescript: 5.3.3
untyped: 1.4.1
untyped: 1.4.2
transitivePeerDependencies:
- sass
- supports-color
@ -10988,7 +11000,7 @@ packages:
'@antfu/utils': 0.7.7
'@rollup/pluginutils': 5.1.0(rollup@3.29.4)
chokidar: 3.5.3
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
fast-glob: 3.3.2
local-pkg: 0.4.3
magic-string: 0.30.5
@ -11041,8 +11053,8 @@ packages:
resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==}
engines: {node: '>=8'}
/untyped@1.4.1:
resolution: {integrity: sha512-fJtYUW3joTcsTKZm00VjvWXjT5sUSiE1MEU6RZVoAXw62MWCYur+Bopvz+SL0goHaWV97r5fE/1fKIJRDDZVvA==}
/untyped@1.4.2:
resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==}
hasBin: true
dependencies:
'@babel/core': 7.23.7
@ -11155,7 +11167,7 @@ packages:
hasBin: true
dependencies:
cac: 6.7.14
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
pathe: 1.1.2
picocolors: 1.0.0
vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)
@ -11182,7 +11194,7 @@ packages:
dependencies:
'@antfu/utils': 0.7.7
'@rollup/pluginutils': 5.1.0(rollup@3.29.4)
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
error-stack-parser-es: 0.1.1
fs-extra: 11.2.0
open: 9.1.0
@ -11202,7 +11214,7 @@ packages:
workbox-build: ^7.0.0
workbox-window: ^7.0.0
dependencies:
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
fast-glob: 3.3.2
pretty-bytes: 6.1.1
vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)
@ -11243,7 +11255,7 @@ packages:
'@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.7)
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.7)
'@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.7)
'@vue/babel-plugin-jsx': 1.1.6(@babel/core@7.23.7)
'@vue/babel-plugin-jsx': 1.2.0(@babel/core@7.23.7)
'@vue/compiler-dom': 3.4.15
kolorist: 1.8.0
magic-string: 0.30.5
@ -11259,7 +11271,7 @@ packages:
vue: ^3.2.4
vue-router: ^4.0.11
dependencies:
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
fast-glob: 3.3.2
vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0)
vue: 3.4.15(typescript@5.3.3)
@ -11338,7 +11350,7 @@ packages:
'@types/node': 20.11.5
esbuild: 0.19.11
postcss: 8.4.33
rollup: 4.9.5
rollup: 4.9.6
sass: 1.70.0
optionalDependencies:
fsevents: 2.3.3
@ -11433,7 +11445,7 @@ packages:
acorn-walk: 8.3.2
cac: 6.7.14
chai: 4.4.1
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
execa: 8.0.1
local-pkg: 0.5.0
magic-string: 0.30.5
@ -11456,12 +11468,6 @@ packages:
- terser
dev: true
/vscode-oniguruma@1.7.0:
resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==}
/vscode-textmate@8.0.0:
resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==}
/vue-demi@0.14.6(vue@3.4.15):
resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==}
engines: {node: '>=12'}
@ -11482,7 +11488,7 @@ packages:
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4(supports-color@5.5.0)
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3

View File

@ -33,6 +33,8 @@
"skipLibCheck": true
},
"include": [
// for type check
"demo/yun/.valaxy/typed-router.d.ts",
"./*.ts",
"./test/*.ts",
"./packages/**/*.ts",