diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index f43920dd..5a266283 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -8,9 +8,11 @@ import { transformerTwoslash } from '@shikijs/vitepress-twoslash' import { BiDirectionalLinks } from '@nolebase/markdown-it-bi-directional-links' import { InlineLinkPreviewElementTransform } from '@nolebase/vitepress-plugin-inline-link-preview/markdown-it' -import { buildEndGenerateOpenGraphImages } from '@nolebase/vitepress-plugin-og-image' +import { buildEndGenerateOpenGraphImages } from '@nolebase/vitepress-plugin-og-image/vitepress' import { UnlazyImages } from '@nolebase/markdown-it-unlazy-img' +import packageJSON from '../../package.json' + export const sidebars: Record = { 'en': { '/': [ @@ -59,6 +61,20 @@ export const sidebars: Record = { { text: 'Overview', link: '/pages/en/ui/' }, ], }, + { + text: 'Releasing', + items: [ + { + text: 'Migration guides', + items: [ + { + text: 'Migrate from v1 to v2', + link: '/pages/en/releases/migrations/v1-to-v2', + }, + ], + }, + ], + }, ], '/pages/en/integrations/': [ { @@ -202,6 +218,20 @@ export const sidebars: Record = { { text: '概览', link: '/pages/zh-CN/ui/' }, ], }, + { + text: '版本发布', + items: [ + { + text: '迁移指南', + items: [ + { + text: '自 v1 迁移至 v2', + link: '/pages/zh-CN/releases/migrations/v1-to-v2', + }, + ], + }, + ], + }, ], '/pages/zh-CN/integrations/': [ { @@ -378,6 +408,20 @@ export default defineConfig({ { text: 'Guide', link: '/pages/en/guide/getting-started' }, { text: 'Integrations', link: '/pages/en/integrations/' }, { text: 'UI Components', link: '/pages/en/ui/' }, + { + text: packageJSON.version, + items: [ + { + text: 'Migrations', + items: [ + { + text: 'Migrate from v1 to v2', + link: '/pages/en/releases/migrations/v1-to-v2', + }, + ], + }, + ], + }, ], sidebar: sidebars.en, }, @@ -393,6 +437,20 @@ export default defineConfig({ { text: '指南', link: '/pages/zh-CN/guide/getting-started' }, { text: '集成', link: '/pages/zh-CN/integrations/' }, { text: 'UI 组件', link: '/pages/zh-CN/ui/' }, + { + text: packageJSON.version, + items: [ + { + text: '迁移指南', + items: [ + { + text: '自 v1 迁移至 v2', + link: '/pages/zh-CN/releases/migrations/v1-to-v2', + }, + ], + }, + ], + }, ], sidebar: sidebars['zh-CN'], }, @@ -466,7 +524,7 @@ export default defineConfig({ }, }, async buildEnd(siteConfig) { - await buildEndGenerateOpenGraphImages({ + const newBuilder = buildEndGenerateOpenGraphImages({ baseUrl: 'https://nolebase-integrations.ayaka.io', category: { byPathPrefix: [ @@ -495,6 +553,8 @@ export default defineConfig({ ], fallbackWithFrontmatter: true, }, - })(siteConfig) + }) + + await newBuilder(siteConfig) }, }) diff --git a/docs/pages/en/releases/migrations/index.md b/docs/pages/en/releases/migrations/index.md new file mode 100644 index 00000000..fb04c264 --- /dev/null +++ b/docs/pages/en/releases/migrations/index.md @@ -0,0 +1,7 @@ +# Migration + +Currently the **ongoing developing version** of the project is: `v2`. + +You can find the migration guides here: + +- [Migrate from `v1` to `v2`](v1-to-v2.md) diff --git a/docs/pages/en/releases/migrations/v1-to-v2.md b/docs/pages/en/releases/migrations/v1-to-v2.md new file mode 100644 index 00000000..efd9f1f5 --- /dev/null +++ b/docs/pages/en/releases/migrations/v1-to-v2.md @@ -0,0 +1,232 @@ +# Migrate from `v1` to `v2` + +The primary goal of the version update to `v2` is: + +1. Update to VitePress `1.0.0`. +2. Enforce all packages and modules follow the same code structure, naming conventions, imports/exports pattern. + +Therefore, + +1. All the updated packages will not compatible with VitePress RC versions anymore. +2. All the updated packages will follow: + - Exported entry file is `{packageName}/client` if it is a Vue component, Vue plugin, client side code, styles, etc. + - Exported entry file is `{packageName}/locales` if it is a i18n module. + - Exported entry file is `{packageName}/vitepress` if it is a VitePress specific plugin (e.g. build hook, `buildEnd`, `transformHTML`, etc.) + - Exported entry file is `{packageName}/markdown-it` if it is a markdown-it plugin. + - Exported entry file is `{packageName}/vite` if it is a Vite plugin. +3. All the updated packages will follow the same i18n guidelines across Nolebase packages. +4. All the updated packages will try to re-use their Vue components from `@nolebase/ui` package. + +And breaking changes will be introduced, but with a migration guide, and less migration effort. + +## Inline links previewing + +There are some breaking changes in the `@nolebase/vitepress-plugin-inline-link-preview` plugin. + +1. No longer require the use of `@nolebase/markdown-it-element-transform` package, the new `@nolebase/vitepress-plugin-inline-link-preview/markdown-it` plugin will export the needed markdown-it plugin as a function that exported from `@nolebase/vitepress-plugin-inline-link-preview/markdown-it`. +2. By following the new structure, the new `@nolebase/vitepress-plugin-inline-link-preview/client` will export the Vue component for the inline link previewing instead of the direct import from the package root. + +### Remove `@nolebase/markdown-it-element-transform` + +```json +{ + "devDependencies": { + "@nolebase/markdown-it-element-transform": "^1.28.0" // [!code --] + } +} +``` + +You can perform the following steps to remove the `@nolebase/markdown-it-element-transform` package: + +::: code-group + +```shell [@antfu/ni] +nun @nolebase/markdown-it-element-transform +``` + +```shell [pnpm] +pnpm uninstall @nolebase/markdown-it-element-transform +``` + +```shell [yarn] +yarn remove @nolebase/markdown-it-element-transform +``` + +```shell [npm] +npm uninstall @nolebase/markdown-it-element-transform +``` + +::: + +### Update VitePress config to use the new markdown-it plugin exported from `@nolebase/vitepress-plugin-inline-link-preview/markdown-it` + +You can now use + +```ts +import { defineConfig } from 'vitepress' +import { InlineLinkPreviewElementTransform } from '@nolebase/vitepress-plugin-inline-link-preview/markdown-it' // [!code ++] + +export default defineConfig({ + // ... + markdown: { + // ... + config: (md) => { + md.use(InlineLinkPreviewElementTransform) // [!code ++] + }, + }, +}) +``` + +to replace the old way of using `@nolebase/markdown-it-element-transform`. + +Full changes: + +::: code-group + +```ts [.vitepress/config.ts] +import { defineConfig } from 'vitepress' +import { ElementTransform } from '@nolebase/markdown-it-element-transform' +import type { Options as ElementTransformOptions } from '@nolebase/markdown-it-element-transform' // [!code --] +import { InlineLinkPreviewElementTransform } from '@nolebase/vitepress-plugin-inline-link-preview/markdown-it' // [!code ++] + +export default defineConfig({ + // ... + markdown: { + // ... + config: (md) => { + md.use(ElementTransform, (() => {// [!code --] + let transformNextLinkCloseToken = false// [!code --] + // [!code --] + return { // [!code --] + transform(token) { // [!code --] + switch (token.type) { // [!code --] + case 'link_open': // [!code --] + if (token.attrGet('class') !== 'header-anchor') { // [!code --] + token.tag = 'VPNolebaseInlineLinkPreview'// [!code --] + transformNextLinkCloseToken = true // [!code --] + } + // [!code --] + break // [!code --] + case 'link_close': // [!code --] + if (transformNextLinkCloseToken) { // [!code --] + token.tag = 'VPNolebaseInlineLinkPreview' // [!code --] + transformNextLinkCloseToken = false // [!code --] + } // [!code --] + // [!code --] + break // [!code --] + } // [!code --] + }, // [!code --] + } as ElementTransformOptions // [!code --] + })()) // [!code --] + + md.use(InlineLinkPreviewElementTransform) // [!code ++] + }, + }, +}) +``` + +::: + +### Update VitePress theme config to use the new Vue component exported from `@nolebase/vitepress-plugin-inline-link-preview/client` + +Since all the Vue components are now exported from the `client` entry file, you can now use + +```ts +import { + NolebaseInlineLinkPreviewPlugin, +} from '@nolebase/vitepress-plugin-inline-link-preview' // [!code --] +} from '@nolebase/vitepress-plugin-inline-link-preview/client' // [!code ++] +``` + +to replace the old way of using `@nolebase/vitepress-plugin-inline-link-preview`. + +The same applies to the styles: + +```ts +import '@nolebase/vitepress-plugin-inline-link-preview/dist/style.css' // [!code --] +import '@nolebase/vitepress-plugin-inline-link-preview/client/style.css' // [!code ++] +``` + +## Enhanced readabilities + +There are some breaking changes in the `@nolebase/vitepress-plugin-enhanced-readabilities` plugin. + +1. By following the new structure, the new `@nolebase/vitepress-plugin-enhanced-readabilities/client` will export the Vue components for the enhanced readabilities instead of the direct import from the package root. + +### Update VitePress theme config to use the new Vue components exported from `@nolebase/vitepress-plugin-enhanced-readabilities/client` + +Since all the Vue components are now exported from the `client` entry file, you can now use + +```ts +import { + InjectionKey as NolebaseEnhancedReadabilitiesInjectionKey, + LayoutMode as NolebaseEnhancedReadabilitiesLayoutMode, + NolebaseEnhancedReadabilitiesMenu, + NolebaseEnhancedReadabilitiesScreenMenu, +} from '@nolebase/vitepress-plugin-enhanced-readabilities' // [!code --] +} from '@nolebase/vitepress-plugin-enhanced-readabilities/client' // [!code ++] +``` + +to replace the old way of using `@nolebase/vitepress-plugin-enhanced-readabilities`. + +The same applies to the styles: + +```ts +import '@nolebase/vitepress-plugin-enhanced-readabilities/dist/style.css' // [!code --] +import '@nolebase/vitepress-plugin-enhanced-readabilities/client/style.css' // [!code ++] +``` + +## Highlight targeted heading + +There are some breaking changes in the `@nolebase/vitepress-plugin-highlight-targeted-heading` plugin. + +1. By following the new structure, the new `@nolebase/vitepress-plugin-highlight-targeted-heading/client` will export the Vue components for the highlight targeted heading instead of the direct import from the package root. + +### Update VitePress theme config to use the new Vue components exported from `@nolebase/vitepress-plugin-highlight-targeted-heading/client` + +Since all the Vue components are now exported from the `client` entry file, you can now use + +```ts +import { + NolebaseHighlightTargetedHeading, +} from '@nolebase/vitepress-plugin-highlight-targeted-heading' // [!code --] +} from '@nolebase/vitepress-plugin-highlight-targeted-heading/client' // [!code ++] +``` + +to replace the old way of using `@nolebase/vitepress-plugin-highlight-targeted-heading`. + +The same applies to the styles: + +```ts +import '@nolebase/vitepress-plugin-highlight-targeted-heading/dist/style.css' // [!code --] +import '@nolebase/vitepress-plugin-highlight-targeted-heading/client/style.css' // [!code ++] +``` + +## Previewing image (social media card) generation + +There are some breaking changes in the `@nolebase/vitepress-plugin-og-image` plugin. + +1. By following the new structure, the new `@nolebase/vitepress-plugin-og-image/vitepress` will export the VitePress specific plugin instead of the direct import from the package root. + +### Update VitePress config to use the new VitePress specific plugin exported from `@nolebase/vitepress-plugin-og-image/vitepress` + +You can now use + +```ts +import { buildEndGenerateOpenGraphImages } from '@nolebase/vitepress-plugin-og-image' // [!code --] +import { buildEndGenerateOpenGraphImages } from '@nolebase/vitepress-plugin-og-image/vitepress' // [!code ++] +``` + +to replace the old way of using `@nolebase/vitepress-plugin-og-image`. + +## Conclusion + +1. Rewrite all the import paths to follow the new structure. +2. Remove the old packages that are no longer needed. + +That's it! Nothing else were impacted for the migration from `v1` to `v2`. + +We have improved the code structure, naming conventions, imports/exports pattern, and made the packages more consistent across the Nolebase ecosystem. +Happy writing! 🎉 + +See you next time in the `v3` migration guide! diff --git a/docs/pages/zh-CN/releases/migrations/index.md b/docs/pages/zh-CN/releases/migrations/index.md new file mode 100644 index 00000000..c4e530e6 --- /dev/null +++ b/docs/pages/zh-CN/releases/migrations/index.md @@ -0,0 +1,7 @@ +# 迁移 + +目前,该项目的**正在进行的开发版本**是:`v2`。 + +您可以在这里找到迁移指南: + +- [自 `v1` 迁移至 `v2`](v1-to-v2.md) diff --git a/docs/pages/zh-CN/releases/migrations/v1-to-v2.md b/docs/pages/zh-CN/releases/migrations/v1-to-v2.md new file mode 100644 index 00000000..0449804e --- /dev/null +++ b/docs/pages/zh-CN/releases/migrations/v1-to-v2.md @@ -0,0 +1,233 @@ +# 自 `v1` 迁移至 `v2` + +将版本更新为 `v2` 的主要目标是: + +1. 更新 VitePress 至 `1.0.0`. +2. 确保所有集成,插件和模块和模块都遵循相同的代码结构、命名规则和导入/导出模式。 + +因此 + +1. 所有更新的集成,插件和模块将不再与 VitePress RC 版本兼容。 +2. 所有更新的集成,插件和模块都将遵循以下规定: + - 如果是 Vue 组件、Vue 插件、客户端代码、样式等,导出的入口文件为 `{packageName}/client`。 + - 如果是 i18n 模块,则导出入口文件为 `{packageName}/locales`。 + - 如果是 VitePress 专用插件(如构建钩子、"buildEnd"、"transformHTML "等),则导出入口文件为 `{packageName}/vitepress`。 + - 如果是 markdown-it 插件,则导出入口文件为 `{packageName}/markdown-it` 。 + - 如果是 Vite 插件,则导出入口文件为 `{packageName}/vite`。 +3. 所有更新的集成,插件和模块都将遵循 Nolebase 集成,插件和模块的 i18n 指南。 +4. 所有更新的集成,插件和模块都将尝试复用 `@nolebase/ui` 集成,插件和模块中的 Vue 组件。 + +由于将会引入破坏性改动,但是有迁移指南,迁移工作量较小。 + +## 行内链接预览 + +在 `@nolebase/vitepress-plugin-inline-link-preview` 插件中有一些破坏性更改。 + +1. 不再需要使用 `@nolebase/markdown-it-element-transform` 包进行标签转换,新的 `@nolebase/vitepress-plugin-inline-link-preview/markdown-it` 插件将导出所需的专用 markdown-it 插件。 +2. 按照新结构,新的 `@nolebase/vitepress-plugin-inline-link-preview/client` 将导出用于行内链接预览的 Vue 组件,而不是直接从包根目录导入。 + +### 移除 `@nolebase/markdown-it-element-transform` + +```json +{ + "devDependencies": { + "@nolebase/markdown-it-element-transform": "^1.28.0" // [!code --] + } +} +``` + +你可以执行以下步骤删除 `@nolebase/markdown-it-element-transform` 包: + +::: code-group + +```shell [@antfu/ni] +nun @nolebase/markdown-it-element-transform +``` + +```shell [pnpm] +pnpm uninstall @nolebase/markdown-it-element-transform +``` + +```shell [yarn] +yarn remove @nolebase/markdown-it-element-transform +``` + +```shell [npm] +npm uninstall @nolebase/markdown-it-element-transform +``` + +::: + +### 更新 VitePress 配置,以使用从 `@nolebase/vitepress-plugin-inline-link-preview/markdown-it` 导出的新 markdown-it 插件 + +你现在可以使用 + +```ts +import { defineConfig } from 'vitepress' +import { InlineLinkPreviewElementTransform } from '@nolebase/vitepress-plugin-inline-link-preview/markdown-it' // [!code ++] + +export default defineConfig({ + // ... + markdown: { + // ... + config: (md) => { + md.use(InlineLinkPreviewElementTransform) // [!code ++] + }, + }, +}) +``` + +替代以前使用的 `@nolebase/markdown-it-element-transform`。 + +完整变更 + +::: code-group + +```ts [.vitepress/config.ts] +import { defineConfig } from 'vitepress' +import { ElementTransform } from '@nolebase/markdown-it-element-transform' +import type { Options as ElementTransformOptions } from '@nolebase/markdown-it-element-transform' // [!code --] +import { InlineLinkPreviewElementTransform } from '@nolebase/vitepress-plugin-inline-link-preview/markdown-it' // [!code ++] + +export default defineConfig({ + // ... + markdown: { + // ... + config: (md) => { + md.use(ElementTransform, (() => {// [!code --] + let transformNextLinkCloseToken = false// [!code --] + // [!code --] + return { // [!code --] + transform(token) { // [!code --] + switch (token.type) { // [!code --] + case 'link_open': // [!code --] + if (token.attrGet('class') !== 'header-anchor') { // [!code --] + token.tag = 'VPNolebaseInlineLinkPreview'// [!code --] + transformNextLinkCloseToken = true // [!code --] + } + // [!code --] + break // [!code --] + case 'link_close': // [!code --] + if (transformNextLinkCloseToken) { // [!code --] + token.tag = 'VPNolebaseInlineLinkPreview' // [!code --] + transformNextLinkCloseToken = false // [!code --] + } // [!code --] + // [!code --] + break // [!code --] + } // [!code --] + }, // [!code --] + } as ElementTransformOptions // [!code --] + })()) // [!code --] + + md.use(InlineLinkPreviewElementTransform) // [!code ++] + }, + }, +}) +``` + +::: + +### 更新 VitePress 主题配置,以使用从 `@nolebase/vitepress-plugin-inline-link-preview/client` 导出的新 Vue 组件 + +由于现在所有 Vue 组件都是从 `client` 入口文件导出的,因此现在可以使用 + +```ts +import { + NolebaseInlineLinkPreviewPlugin, +} from '@nolebase/vitepress-plugin-inline-link-preview' // [!code --] +} from '@nolebase/vitepress-plugin-inline-link-preview/client' // [!code ++] +``` + +来替换以前的 `@nolebase/vitepress-plugin-inline-link-preview`。 + +样式也是一样的需要更新修改为从 `client` 导入: + +```ts +import '@nolebase/vitepress-plugin-inline-link-preview/dist/style.css' // [!code --] +import '@nolebase/vitepress-plugin-inline-link-preview/client/style.css' // [!code ++] +``` + +## 阅读增强 + +在 `@nolebase/vitepress-plugin-enhanced-readabilities` 插件中有一些破坏性更改。 + +1. 按照新的结构,新的 `@nolebase/vitepress-plugin-enhanced-readabilities/client` 将导出阅读增强的 Vue 组件,而不是直接从包根目录导入。 + +### 更新 VitePress 主题配置,以使用从 `@nolebase/vitepress-plugin-enhanced-readabilities/client` 导出的新 Vue 组件 + +由于现在所有 Vue 组件都是从 `client` 入口文件导出的,因此现在可以使用 + +```ts +import { + InjectionKey as NolebaseEnhancedReadabilitiesInjectionKey, + LayoutMode as NolebaseEnhancedReadabilitiesLayoutMode, + NolebaseEnhancedReadabilitiesMenu, + NolebaseEnhancedReadabilitiesScreenMenu, +} from '@nolebase/vitepress-plugin-enhanced-readabilities' // [!code --] +} from '@nolebase/vitepress-plugin-enhanced-readabilities/client' // [!code ++] +``` + +来替换以前的 `@nolebase/vitepress-plugin-enhanced-readabilities`。 + +样式也是一样的需要更新修改为从 `client` 导入: + +```ts +import '@nolebase/vitepress-plugin-enhanced-readabilities/dist/style.css' // [!code --] +import '@nolebase/vitepress-plugin-enhanced-readabilities/client/style.css' // [!code ++] +``` + +## 闪烁高亮当前的目标标题 + +在 `@nolebase/vitepress-plugin-highlight-targeted-heading` 插件中有一些破坏性更改。 + +1. 按照新的结构,新的 `@nolebase/vitepress-plugin-highlight-targeted-heading/client` 将导出用于高亮目标标题的 Vue 组件,而不是直接从包根目录导入。 + +### 更新 VitePress 主题配置,以使用从 `@nolebase/vitepress-plugin-highlight-targeted-heading/client` 导出的新 Vue 组件 + +由于现在所有 Vue 组件都是从 `client` 入口文件导出的,因此现在可以使用 + +```ts +import { + NolebaseHighlightTargetedHeading, +} from '@nolebase/vitepress-plugin-highlight-targeted-heading' // [!code --] +} from '@nolebase/vitepress-plugin-highlight-targeted-heading/client' // [!code ++] +``` + +来替换以前的 `@nolebase/vitepress-plugin-highlight-targeted-heading`。 + +样式也是一样的需要更新修改为从 `client` 导入: + +```ts +import '@nolebase/vitepress-plugin-highlight-targeted-heading/dist/style.css' // [!code --] +import '@nolebase/vitepress-plugin-highlight-targeted-heading/client/style.css' // [!code ++] +``` + +## 预览图片(社交媒体卡片)生成 + +在 `@nolebase/vitepress-plugin-og-image` 插件中有一些破坏性更改。 + +1. 按照新的结构,新的 `@nolebase/vitepress-plugin-og-image/vitepress` 将导出 VitePress 专用插件,而不是从包根目录直接导入。 + +### 更新 VitePress 配置,以使用从 `@nolebase/vitepress-plugin-og-image/vitepress` 导出的新 VitePress 专用插件 + +你现在可以使用 + +```ts +import { buildEndGenerateOpenGraphImages } from '@nolebase/vitepress-plugin-og-image' // [!code --] +import { buildEndGenerateOpenGraphImages } from '@nolebase/vitepress-plugin-og-image/vitepress' // [!code ++] +``` + +来替换以前使用的 `@nolebase/vitepress-plugin-og-image`。 + +## 结论 + +1. 按照新结构重写所有导入路径。 +2. 删除不再需要的旧包。 + +就是这样!除去这些以外,从 `v1` 迁移到 `v2` 应当不再有其他破坏性更改。 + +> 我们改进了代码结构、命名规则、导入/导出模式,使 Nolebase 生态系统中的包更加一致。 + +祝您写作愉快!🎉 + +我们在 `v3` 迁移指南中见!👋 diff --git a/packages/vitepress-plugin-inline-link-preview/package.json b/packages/vitepress-plugin-inline-link-preview/package.json index 1ed5e35f..5646d102 100644 --- a/packages/vitepress-plugin-inline-link-preview/package.json +++ b/packages/vitepress-plugin-inline-link-preview/package.json @@ -64,21 +64,15 @@ "dependencies": { "@nolebase/markdown-it-element-transform": "workspace:^", "@nolebase/ui": "workspace:^", - "hast-util-select": "^6.0.2", "markdown-it": "^13.0.2", - "markdown-it-attrs": "^4.1.6", - "rehype-parse": "^9.0.0", - "rehype-stringify": "^10.0.0", - "unified": "^11.0.4" + "markdown-it-attrs": "^4.1.6" }, "devDependencies": { "@iconify-json/icon-park-outline": "^1.1.15", "@iconify-json/octicon": "^1.1.53", "@iconify-json/svg-spinners": "^1.1.2", "@rollup/plugin-yaml": "^4.1.2", - "@types/hast": "^3.0.4", "@types/markdown-it": "^13.0.7", - "@types/markdown-it-attrs": "^4.1.3", - "hast": "^1.0.0" + "@types/markdown-it-attrs": "^4.1.3" } } diff --git a/packages/vitepress-plugin-og-image/build.config.ts b/packages/vitepress-plugin-og-image/build.config.ts index 62b4aba3..fe73f216 100644 --- a/packages/vitepress-plugin-og-image/build.config.ts +++ b/packages/vitepress-plugin-og-image/build.config.ts @@ -1,8 +1,9 @@ +import { copy } from 'fs-extra' import { defineBuildConfig } from 'unbuild' export default defineBuildConfig({ entries: [ - './src/index', + { builder: 'rollup', input: './src/vitepress/index', outDir: 'dist/vitepress/' }, ], clean: true, sourcemap: true, @@ -22,8 +23,7 @@ export default defineBuildConfig({ hooks: { 'build:done': async () => { // copy all things under src/assets to dist/assets - const { copy } = await import('fs-extra') - await copy('src/assets', 'dist/assets') + await copy('src/vitepress/assets', 'dist/vitepress/assets') }, }, }) diff --git a/packages/vitepress-plugin-og-image/package.json b/packages/vitepress-plugin-og-image/package.json index c139844e..4983be41 100644 --- a/packages/vitepress-plugin-og-image/package.json +++ b/packages/vitepress-plugin-og-image/package.json @@ -30,15 +30,15 @@ ], "sideEffects": false, "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.mjs", - "require": "./dist/index.cjs" + "./vitepress": { + "types": "./dist/vitepress/index.d.ts", + "import": "./dist/vitepress/index.mjs", + "require": "./dist/vitepress/index.cjs" } }, - "main": "./dist/index.cjs", - "module": "./dist/index.mjs", - "types": "./dist/index.d.ts", + "main": "./dist/vitepress/index.cjs", + "module": "./dist/vitepress/index.mjs", + "types": "./dist/vitepress/index.d.ts", "files": [ "README.md", "dist", diff --git a/packages/vitepress-plugin-og-image/src/assets/SourceHanSansSC.otf b/packages/vitepress-plugin-og-image/src/vitepress/assets/SourceHanSansSC.otf similarity index 100% rename from packages/vitepress-plugin-og-image/src/assets/SourceHanSansSC.otf rename to packages/vitepress-plugin-og-image/src/vitepress/assets/SourceHanSansSC.otf diff --git a/packages/vitepress-plugin-og-image/src/assets/og-template.svg b/packages/vitepress-plugin-og-image/src/vitepress/assets/og-template.svg similarity index 100% rename from packages/vitepress-plugin-og-image/src/assets/og-template.svg rename to packages/vitepress-plugin-og-image/src/vitepress/assets/og-template.svg diff --git a/packages/vitepress-plugin-og-image/src/index.ts b/packages/vitepress-plugin-og-image/src/vitepress/index.ts similarity index 100% rename from packages/vitepress-plugin-og-image/src/index.ts rename to packages/vitepress-plugin-og-image/src/vitepress/index.ts diff --git a/packages/vitepress-plugin-og-image/src/types.ts b/packages/vitepress-plugin-og-image/src/vitepress/types.ts similarity index 100% rename from packages/vitepress-plugin-og-image/src/types.ts rename to packages/vitepress-plugin-og-image/src/vitepress/types.ts diff --git a/packages/vitepress-plugin-og-image/src/utils/emoji.ts b/packages/vitepress-plugin-og-image/src/vitepress/utils/emoji.ts similarity index 100% rename from packages/vitepress-plugin-og-image/src/utils/emoji.ts rename to packages/vitepress-plugin-og-image/src/vitepress/utils/emoji.ts diff --git a/packages/vitepress-plugin-og-image/src/utils/svg/escape.ts b/packages/vitepress-plugin-og-image/src/vitepress/utils/svg/escape.ts similarity index 100% rename from packages/vitepress-plugin-og-image/src/utils/svg/escape.ts rename to packages/vitepress-plugin-og-image/src/vitepress/utils/svg/escape.ts diff --git a/packages/vitepress-plugin-og-image/src/utils/svg/render.ts b/packages/vitepress-plugin-og-image/src/vitepress/utils/svg/render.ts similarity index 100% rename from packages/vitepress-plugin-og-image/src/utils/svg/render.ts rename to packages/vitepress-plugin-og-image/src/vitepress/utils/svg/render.ts diff --git a/packages/vitepress-plugin-og-image/src/utils/task.ts b/packages/vitepress-plugin-og-image/src/vitepress/utils/task.ts similarity index 100% rename from packages/vitepress-plugin-og-image/src/utils/task.ts rename to packages/vitepress-plugin-og-image/src/vitepress/utils/task.ts diff --git a/packages/vitepress-plugin-og-image/src/utils/vitepress/locales.ts b/packages/vitepress-plugin-og-image/src/vitepress/utils/vitepress/locales.ts similarity index 100% rename from packages/vitepress-plugin-og-image/src/utils/vitepress/locales.ts rename to packages/vitepress-plugin-og-image/src/vitepress/utils/vitepress/locales.ts diff --git a/packages/vitepress-plugin-og-image/src/utils/vitepress/sidebar.ts b/packages/vitepress-plugin-og-image/src/vitepress/utils/vitepress/sidebar.ts similarity index 100% rename from packages/vitepress-plugin-og-image/src/utils/vitepress/sidebar.ts rename to packages/vitepress-plugin-og-image/src/vitepress/utils/vitepress/sidebar.ts diff --git a/packages/vitepress-plugin-page-properties/src/vite/pageProperties/index.ts b/packages/vitepress-plugin-page-properties/src/vite/pageProperties/index.ts index 06977bfc..74592773 100644 --- a/packages/vitepress-plugin-page-properties/src/vite/pageProperties/index.ts +++ b/packages/vitepress-plugin-page-properties/src/vite/pageProperties/index.ts @@ -56,9 +56,6 @@ export function PageProperties(): Plugin { enforce: 'pre', config: () => ({ optimizeDeps: { - include: [ - '@nolebase/vitepress-plugin-page-properties > @nolebase/ui > @rive-canvas/app', - ], exclude: [ '@nolebase/vitepress-plugin-page-properties/client', ], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b916f356..7c6668d9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -70,7 +70,7 @@ importers: version: 0.8.3(rollup@3.29.4)(vite@5.2.8) vitepress: specifier: ^1.0.2 - version: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) vitest: specifier: ^1.4.0 version: 1.4.0(@types/node@20.12.5)(@vitest/ui@1.4.0)(less@4.2.0) @@ -139,7 +139,7 @@ importers: version: 4.1.2(rollup@3.29.4) '@shikijs/vitepress-twoslash': specifier: ^1.2.4 - version: 1.2.4(typescript@5.4.4) + version: 1.2.4(typescript@5.4.5) '@types/markdown-it': specifier: ^13.0.7 version: 13.0.7 @@ -216,7 +216,7 @@ importers: version: 4.2.0 vitepress: specifier: ^1.0.0 - version: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) vue: specifier: ^3.2.0 version: 3.4.21(typescript@5.4.4) @@ -250,7 +250,7 @@ importers: version: link:../vitepress-plugin-thumbnail-hash vitepress: specifier: ^1.0.0 - version: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) devDependencies: builtin-modules: specifier: ^3.3.0 @@ -260,13 +260,13 @@ importers: dependencies: vitepress: specifier: ^1.0.0 - version: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) packages/vitepress-plugin-enhanced-readabilities: dependencies: vitepress: specifier: ^1.0.0 - version: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) devDependencies: '@iconify-json/carbon': specifier: ^1.1.31 @@ -306,7 +306,7 @@ importers: version: 0.1.3 vitepress: specifier: ^1.0.0 - version: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) devDependencies: '@iconify-json/octicon': specifier: ^1.1.52 @@ -322,7 +322,7 @@ importers: dependencies: vitepress: specifier: ^1.0.0 - version: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) packages/vitepress-plugin-inline-link-preview: dependencies: @@ -332,27 +332,15 @@ importers: '@nolebase/ui': specifier: workspace:^ version: link:../ui - hast-util-select: - specifier: ^6.0.2 - version: 6.0.2 markdown-it: specifier: ^13.0.2 version: 13.0.2 markdown-it-attrs: specifier: ^4.1.6 version: 4.1.6(markdown-it@13.0.2) - rehype-parse: - specifier: ^9.0.0 - version: 9.0.0 - rehype-stringify: - specifier: ^10.0.0 - version: 10.0.0 - unified: - specifier: ^11.0.4 - version: 11.0.4 vitepress: specifier: ^1.0.0 - version: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) devDependencies: '@iconify-json/icon-park-outline': specifier: ^1.1.15 @@ -366,18 +354,12 @@ importers: '@rollup/plugin-yaml': specifier: ^4.1.2 version: 4.1.2(rollup@3.29.4) - '@types/hast': - specifier: ^3.0.4 - version: 3.0.4 '@types/markdown-it': specifier: ^13.0.7 version: 13.0.7 '@types/markdown-it-attrs': specifier: ^4.1.3 version: 4.1.3 - hast: - specifier: ^1.0.0 - version: 1.0.0 packages/vitepress-plugin-og-image: dependencies: @@ -419,7 +401,7 @@ importers: version: 11.0.4 vitepress: specifier: ^1.0.0 - version: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) devDependencies: '@types/fs-extra': specifier: ^11.0.4 @@ -444,7 +426,7 @@ importers: version: 9.0.1 vitepress: specifier: ^1.0.0 - version: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) devDependencies: '@iconify-json/icon-park-outline': specifier: ^1.1.15 @@ -496,7 +478,7 @@ importers: version: 0.11.3 vitepress: specifier: ^1.0.0 - version: 1.0.2(@algolia/client-search@4.23.2)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) devDependencies: builtin-modules: specifier: ^3.3.0 @@ -509,44 +491,44 @@ packages: engines: {node: '>=0.10.0'} dev: true - /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.22.1)(search-insights@2.13.0): + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.22.1)(search-insights@2.13.0): resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.22.1)(search-insights@2.13.0) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.22.1) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.22.1)(search-insights@2.13.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.22.1) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.22.1)(search-insights@2.13.0): + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.22.1)(search-insights@2.13.0): resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.22.1) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.22.1) search-insights: 2.13.0 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.22.1): + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.22.1): resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.22.1) - '@algolia/client-search': 4.23.2 + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.22.1) + '@algolia/client-search': 4.23.3 algoliasearch: 4.22.1 - /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.22.1): + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.22.1): resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/client-search': 4.23.2 + '@algolia/client-search': 4.23.3 algoliasearch: 4.22.1 /@algolia/cache-browser-local-storage@4.22.1: @@ -557,8 +539,8 @@ packages: /@algolia/cache-common@4.22.1: resolution: {integrity: sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==} - /@algolia/cache-common@4.23.2: - resolution: {integrity: sha512-OUK/6mqr6CQWxzl/QY0/mwhlGvS6fMtvEPyn/7AHUx96NjqDA4X4+Ju7aXFQKh+m3jW9VPB0B9xvEQgyAnRPNw==} + /@algolia/cache-common@4.23.3: + resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==} /@algolia/cache-in-memory@4.22.1: resolution: {integrity: sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==} @@ -586,11 +568,11 @@ packages: '@algolia/requester-common': 4.22.1 '@algolia/transporter': 4.22.1 - /@algolia/client-common@4.23.2: - resolution: {integrity: sha512-Q2K1FRJBern8kIfZ0EqPvUr3V29ICxCm/q42zInV+VJRjldAD9oTsMGwqUQ26GFMdFYmqkEfCbY4VGAiQhh22g==} + /@algolia/client-common@4.23.3: + resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==} dependencies: - '@algolia/requester-common': 4.23.2 - '@algolia/transporter': 4.23.2 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 /@algolia/client-personalization@4.22.1: resolution: {integrity: sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==} @@ -606,18 +588,18 @@ packages: '@algolia/requester-common': 4.22.1 '@algolia/transporter': 4.22.1 - /@algolia/client-search@4.23.2: - resolution: {integrity: sha512-CxSB29OVGSE7l/iyoHvamMonzq7Ev8lnk/OkzleODZ1iBcCs3JC/XgTIKzN/4RSTrJ9QybsnlrN/bYCGufo7qw==} + /@algolia/client-search@4.23.3: + resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==} dependencies: - '@algolia/client-common': 4.23.2 - '@algolia/requester-common': 4.23.2 - '@algolia/transporter': 4.23.2 + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 /@algolia/logger-common@4.22.1: resolution: {integrity: sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==} - /@algolia/logger-common@4.23.2: - resolution: {integrity: sha512-jGM49Q7626cXZ7qRAWXn0jDlzvoA1FvN4rKTi1g0hxKsTTSReyYk0i1ADWjChDPl3Q+nSDhJuosM2bBUAay7xw==} + /@algolia/logger-common@4.23.3: + resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==} /@algolia/logger-console@4.22.1: resolution: {integrity: sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==} @@ -632,8 +614,8 @@ packages: /@algolia/requester-common@4.22.1: resolution: {integrity: sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==} - /@algolia/requester-common@4.23.2: - resolution: {integrity: sha512-3EfpBS0Hri0lGDB5H/BocLt7Vkop0bTTLVUBB844HH6tVycwShmsV6bDR7yXbQvFP1uNpgePRD3cdBCjeHmk6Q==} + /@algolia/requester-common@4.23.3: + resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==} /@algolia/requester-node-http@4.22.1: resolution: {integrity: sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==} @@ -647,12 +629,12 @@ packages: '@algolia/logger-common': 4.22.1 '@algolia/requester-common': 4.22.1 - /@algolia/transporter@4.23.2: - resolution: {integrity: sha512-GY3aGKBy+8AK4vZh8sfkatDciDVKad5rTY2S10Aefyjh7e7UGBP4zigf42qVXwU8VOPwi7l/L7OACGMOFcjB0Q==} + /@algolia/transporter@4.23.3: + resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==} dependencies: - '@algolia/cache-common': 4.23.2 - '@algolia/logger-common': 4.23.2 - '@algolia/requester-common': 4.23.2 + '@algolia/cache-common': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/requester-common': 4.23.3 /@ampproject/remapping@2.2.1: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} @@ -1163,10 +1145,10 @@ packages: /@docsearch/css@3.6.0: resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} - /@docsearch/js@3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0): + /@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0): resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==} dependencies: - '@docsearch/react': 3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0) + '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0) preact: 10.19.4 transitivePeerDependencies: - '@algolia/client-search' @@ -1175,7 +1157,7 @@ packages: - react-dom - search-insights - /@docsearch/react@3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0): + /@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0): resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -1192,8 +1174,8 @@ packages: search-insights: optional: true dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.22.1)(search-insights@2.13.0) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.22.1) + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.22.1)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.22.1) '@docsearch/css': 3.6.0 algoliasearch: 4.22.1 search-insights: 2.13.0 @@ -2286,28 +2268,28 @@ packages: dependencies: shiki: 1.2.4 - /@shikijs/twoslash@1.2.4(typescript@5.4.4): + /@shikijs/twoslash@1.2.4(typescript@5.4.5): resolution: {integrity: sha512-4F2gNlCFN9HY0jV3J/IBfqkI7w2HBwycwUBx9fLYGYxzbfu0gYRJdQYWtvJC/sG2rYTYlJrS5BpWdXYoMHwbXw==} dependencies: '@shikijs/core': 1.2.4 - twoslash: 0.2.5(typescript@5.4.4) + twoslash: 0.2.5(typescript@5.4.5) transitivePeerDependencies: - supports-color - typescript dev: true - /@shikijs/vitepress-twoslash@1.2.4(typescript@5.4.4): + /@shikijs/vitepress-twoslash@1.2.4(typescript@5.4.5): resolution: {integrity: sha512-LI8Q8A08dRQpEEiespjTBGcT2i+0Uf3Z03FE+okBlObd4Wf+Sq/YNiLR6ga/7V2z/vhktRwcb/2O3+UZMRiEKg==} dependencies: - '@shikijs/twoslash': 1.2.4(typescript@5.4.4) + '@shikijs/twoslash': 1.2.4(typescript@5.4.5) floating-vue: 5.2.2(vue@3.4.21) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 shiki: 1.2.4 - twoslash: 0.2.5(typescript@5.4.4) - twoslash-vue: 0.2.5(typescript@5.4.4) - vue: 3.4.21(typescript@5.4.4) + twoslash: 0.2.5(typescript@5.4.5) + twoslash-vue: 0.2.5(typescript@5.4.5) + vue: 3.4.21(typescript@5.4.5) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -3590,6 +3572,26 @@ packages: vue-template-compiler: 2.7.16 dev: true + /@vue/language-core@1.8.27(typescript@5.4.5): + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + computeds: 0.0.1 + minimatch: 9.0.3 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + typescript: 5.4.5 + vue-template-compiler: 2.7.16 + dev: true + /@vue/reactivity@3.4.21: resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} dependencies: @@ -3615,7 +3617,7 @@ packages: dependencies: '@vue/compiler-ssr': 3.4.21 '@vue/shared': 3.4.21 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) /@vue/shared@3.4.21: resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} @@ -5116,7 +5118,7 @@ packages: optional: true dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) vue-resize: 2.0.0-alpha.1(vue@3.4.21) dev: true @@ -5454,11 +5456,6 @@ packages: '@types/hast': 3.0.4 dev: false - /hast@1.0.0: - resolution: {integrity: sha512-vFUqlRV5C+xqP76Wwq2SrM0kipnmpxJm7OfvVXpB35Fp+Fn4MV+ozr+JZr5qFvyR1q/U+Foim2x+3P+x9S1PLA==} - deprecated: Renamed to rehype - dev: true - /hastscript@8.0.0: resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} dependencies: @@ -7797,27 +7794,27 @@ packages: resolution: {integrity: sha512-oUr5ZAn37CgNa6p1mrCuuR/pINffsnGCee2aS170Uj1IObxCjsHzu6sgdPUdxGLLn6++gd/qjNH1/iR6RrfLeg==} dev: true - /twoslash-vue@0.2.5(typescript@5.4.4): + /twoslash-vue@0.2.5(typescript@5.4.5): resolution: {integrity: sha512-Tai45V/1G/jEJQIbDe/DIkJCgOqtA/ZHxx4TgC5EM/nnyTP6zbZNtvKOlzMjFgXFdk6rebWEl2Mi/RHKs/sbDQ==} peerDependencies: typescript: '*' dependencies: - '@vue/language-core': 1.8.27(typescript@5.4.4) - twoslash: 0.2.5(typescript@5.4.4) + '@vue/language-core': 1.8.27(typescript@5.4.5) + twoslash: 0.2.5(typescript@5.4.5) twoslash-protocol: 0.2.5 - typescript: 5.4.4 + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /twoslash@0.2.5(typescript@5.4.4): + /twoslash@0.2.5(typescript@5.4.5): resolution: {integrity: sha512-U8rqsfVh8jQMO1NJekUtglb52b7xD9+FrzeFrgzpHsRTKl8IQgqnZP6ld4PeKaHXhLfoZPuju9K50NXJ7wom8g==} peerDependencies: typescript: '*' dependencies: '@typescript/vfs': 1.5.0 twoslash-protocol: 0.2.5 - typescript: 5.4.4 + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true @@ -7854,6 +7851,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + /uc.micro@1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} @@ -8339,7 +8341,7 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitepress@1.0.2(@algolia/client-search@4.23.2)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4): + /vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.5)(less@4.2.0)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4): resolution: {integrity: sha512-bEj9yTEdWyewJFOhEREZF+mXuAgOq27etuJZT6DZSp+J3XpQstXMJc5piSVwhZBtuj8OfA0iXy+jdP1c71KMYQ==} hasBin: true peerDependencies: @@ -8352,7 +8354,7 @@ packages: optional: true dependencies: '@docsearch/css': 3.6.0 - '@docsearch/js': 3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0) + '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0) '@shikijs/core': 1.2.4 '@shikijs/transformers': 1.2.4 '@types/markdown-it': 13.0.7 @@ -8488,7 +8490,7 @@ packages: peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.21(typescript@5.4.4) + vue: 3.4.21(typescript@5.4.5) dev: true /vue-template-compiler@2.7.16: @@ -8525,6 +8527,21 @@ packages: '@vue/shared': 3.4.21 typescript: 5.4.4 + /vue@3.4.21(typescript@5.4.5): + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/shared': 3.4.21 + typescript: 5.4.5 + /web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} dev: false