diff --git a/.changeset/spotty-eggs-sit.md b/.changeset/spotty-eggs-sit.md new file mode 100644 index 00000000000..62d5b0c85e9 --- /dev/null +++ b/.changeset/spotty-eggs-sit.md @@ -0,0 +1,5 @@ +--- +'@astrojs/starlight': patch +--- + +Fixes type inference for i18n strings added by extending the default schema diff --git a/.changeset/spotty-mice-travel.md b/.changeset/spotty-mice-travel.md new file mode 100644 index 00000000000..102f2e191a9 --- /dev/null +++ b/.changeset/spotty-mice-travel.md @@ -0,0 +1,5 @@ +--- +'@astrojs/starlight': patch +--- + +Fixes an issue where TypeScript could fail to serialize the frontmatter schema when configured to emit declaration files diff --git a/.changeset/strong-moose-jam.md b/.changeset/strong-moose-jam.md new file mode 100644 index 00000000000..4f054c5be12 --- /dev/null +++ b/.changeset/strong-moose-jam.md @@ -0,0 +1,7 @@ +--- +'@astrojs/starlight': minor +--- + +Updates `astro-expressive-code` dependency to the latest minor release (0.35) and exposes a new `@astrojs/starlight/expressive-code/hast` module for users who need to use Expressive Code’s version of `hast`. + +This includes a potentially breaking change if you use custom Expressive Code plugins. See the [Expressive Code release notes](https://expressive-code.com/releases/#0340) for full details. diff --git a/.changeset/tiny-walls-carry.md b/.changeset/tiny-walls-carry.md new file mode 100644 index 00000000000..f49a2e8c179 --- /dev/null +++ b/.changeset/tiny-walls-carry.md @@ -0,0 +1,5 @@ +--- +"@astrojs/starlight": patch +--- + +Updates the Farsi UI translations diff --git a/.github/workflows/lunaria.yml b/.github/workflows/lunaria.yml new file mode 100644 index 00000000000..1b0b372b470 --- /dev/null +++ b/.github/workflows/lunaria.yml @@ -0,0 +1,46 @@ +name: Lunaria + +on: + # Trigger the workflow every time a pull request is opened or synchronized at the target `main` branch + pull_request_target: + types: [opened, synchronize] + branches: [main] + paths: + - 'docs/**' + +# Allow this job to clone the repository and comment on the pull request +permissions: + contents: read + pull-requests: write + +jobs: + lunaria-overview: + name: Generate Lunaria Overview + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + # Necessary for Lunaria to work properly + # Makes the action clone the entire git history + fetch-depth: 0 + + - name: Setup PNPM + uses: pnpm/action-setup@v3 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: pnpm + + - name: Install dependencies + run: pnpm install + shell: bash + + - name: Generate Lunaria Overview + uses: yanthomasdev/lunaria-action@f60cb4c257e95ab41fc44356c4a852fe614e3bb4 + with: + token: ${{ secrets.FREDKBOT_GITHUB_TOKEN }} + working-directory: docs diff --git a/docs/lunaria.config.json b/docs/lunaria.config.json index 8f8d9ecb479..029acfc0370 100644 --- a/docs/lunaria.config.json +++ b/docs/lunaria.config.json @@ -73,7 +73,8 @@ "files": [ { "location": "src/content/docs/**/*.{md,mdx}", - "pattern": "src/content/docs/@lang/@path" + "pattern": "src/content/docs/@lang/@path", + "type": "universal" } ], "dashboard": { diff --git a/docs/package.json b/docs/package.json index 4fb44099f86..2fc29fa1e95 100644 --- a/docs/package.json +++ b/docs/package.json @@ -16,7 +16,7 @@ "dependencies": { "@astro-community/astro-embed-youtube": "^0.4.4", "@astrojs/starlight": "workspace:*", - "@lunariajs/core": "^0.0.25", + "@lunariajs/core": "^0.0.32", "@types/culori": "^2.0.0", "astro": "^4.3.5", "culori": "^3.2.0", diff --git a/docs/src/assets/showcase/truecharts.org.png b/docs/src/assets/showcase/truecharts.org.png new file mode 100644 index 00000000000..e75c2d99edf Binary files /dev/null and b/docs/src/assets/showcase/truecharts.org.png differ diff --git a/docs/src/components/showcase-sites.astro b/docs/src/components/showcase-sites.astro index 2a04c52e29d..224a35206b1 100644 --- a/docs/src/components/showcase-sites.astro +++ b/docs/src/components/showcase-sites.astro @@ -126,4 +126,5 @@ import FluidGrid from './fluid-grid.astro'; href="https://docs.fontawesome.com/" thumbnail="docs.fontawesome.com.png" /> + diff --git a/docs/src/content/docs/es/guides/sidebar.mdx b/docs/src/content/docs/es/guides/sidebar.mdx index ef521278301..72fb58c0e12 100644 --- a/docs/src/content/docs/es/guides/sidebar.mdx +++ b/docs/src/content/docs/es/guides/sidebar.mdx @@ -19,11 +19,11 @@ Por ejemplo, dada la siguiente estructura de archivos: - src/ - content/ - docs/ - - guides/ - - components.md - - i18n.md - - reference/ - - configuration.md + - constellations/ + - andromeda.md + - orion.md + - stars/ + - betelgeuse.md @@ -32,20 +32,15 @@ La siguiente barra lateral se generará automáticamente: @@ -65,10 +60,10 @@ Agrega un enlace a una página interna o externa usando un objeto con las propie ```js "label:" "link:" starlight({ sidebar: [ - // Un enlace a la guía CSS y Estilos. - { label: 'CSS y Estilos', link: '/guides/css-and-tailwind/' }, - // Un enlace externo al sitio web de Astro. - { label: 'Astro', link: 'https://astro.build/' }, + // Un enlace a la página de la luna Ganímedes. + { label: 'Ganímedes', link: '/moons/ganymede/' }, + // Un enlace externo al sitio web de la NASA. + { label: 'NASA', link: 'https://www.nasa.gov/' }, ], }); ``` @@ -77,8 +72,8 @@ La configuración anterior genera la siguiente barra lateral: @@ -94,19 +89,19 @@ Agrega enlaces o subgrupos al arreglo `items`. ```js /^\s*(label:|items:)/ starlight({ sidebar: [ - // Un grupo de enlaces etiquetados como "Guides" + // Un grupo de enlaces etiquetado "Constelaciones". { - label: 'Guías', + label: 'Constelaciones', items: [ - { label: 'Componentes', link: '/guides/components/' }, - { label: 'Internacionalización (i18n)', link: '/guides/i18n/' }, - // Un grupo anidado de enlaces. + { label: 'Carina', link: '/constellations/carina/' }, + { label: 'Centaurus', link: '/constellations/centaurus/' }, + // Un grupo anidado de enlaces para constelaciones estacionales. { - label: 'Estilando', + label: 'Estacional', items: [ - { label: 'CSS', link: '/guides/css-and-tailwind/' }, - { label: 'Tailwind', link: '/guides/css-and-tailwind/' }, - { label: 'Shiki', link: '/guides/css-and-tailwind/' }, + { label: 'Andrómeda', link: '/constellations/andromeda/' }, + { label: 'Orión', link: '/constellations/orion/' }, + { label: 'Osa Menor', link: '/constellations/ursa-minor/' }, ], }, ], @@ -120,16 +115,16 @@ La configuración anterior genera la siguiente barra lateral: @@ -178,18 +173,13 @@ La siguiente barra lateral se generará automáticamente: Este comportamiento puede remplazarse definiendo la propiedad `autogenerate.collapsed`. @@ -519,11 +505,11 @@ Este comportamiento puede remplazarse definiendo la propiedad `autogenerate.coll starlight({ sidebar: [ { - label: 'Guías', - // No colapsa el grupo "Guides" pero colapsa sus + label: 'Constelaciones', + // No colapsa el grupo "Constelattions" pero colapsa sus // subgrupos autogenerados. collapsed: false, - autogenerate: { directory: 'guides', collapsed: true }, + autogenerate: { directory: 'constellations', collapsed: true }, }, ], }); @@ -534,19 +520,14 @@ La configuración anterior genera la siguiente barra lateral: diff --git a/docs/src/content/docs/id/getting-started.mdx b/docs/src/content/docs/id/getting-started.mdx index 3cfdc17436c..05964a63423 100644 --- a/docs/src/content/docs/id/getting-started.mdx +++ b/docs/src/content/docs/id/getting-started.mdx @@ -83,43 +83,9 @@ Buka URL tersebut untuk mulai menjelajahi situs Anda. Starlight siap untuk ditambahkan konten baru, atau pindahkan konten Anda yang sudah ada! -#### Format file +Tambahkan halaman baru ke website anda dengan membuat file Markdown di direktori `src/content/docs/`. -Starlight mendukung penulisan konten dalam bentuk Markdown dan MDX tanpa memerlukan konfigurasi. -Anda dapat menambahkan dukungan untuk Markdoc dengan memasang [integrasi Astro Markdoc](https://docs.astro.build/en/guides/integrations-guide/markdoc/) eksperimental. - -#### Tambahkan halaman - -Tambahkan halaman baru ke situs Anda dengan cara membuat file `.md` atau `.mdx` di `src/content/docs/`. -Gunakan sub-folder untuk mengatur konten Anda dan untuk membuat beberapa segmen _path_. - -Sebagai contoh, struktur file berikut ini akan menghasilkan halaman di `example.com/hello-world` dan `example.com/guides/faq`: - -import { FileTree } from '@astrojs/starlight/components'; - - - -- src/ - - content/ - - docs/ - - guides/ - - faq.md - - hello-world.md - - - -#### Frontmatter yang type-safe - -Semua halaman Starlight berbagi [properti _frontmatter_ umum](/id/reference/frontmatter/) yang dapat dikostumisasi untuk mengontrol tampilan setiap halaman: - -```md ---- -title: Halo, Dunia! -description: Ini adalah halaman di situs saya yang didukung Starlight ---- -``` - -Jika Anda lupa sesuatu yang penting, Starlight akan memberi tahu Anda. +Baca selengkapnya tentang perutean berbasis file serta dukungan untuk MDX dan Markdoc di panduan [“Halaman”](/id/guides/pages/). ### Langkah selanjutnya diff --git a/docs/src/content/docs/ko/guides/sidebar.mdx b/docs/src/content/docs/ko/guides/sidebar.mdx index dc9c9e93334..fcb42c7715a 100644 --- a/docs/src/content/docs/ko/guides/sidebar.mdx +++ b/docs/src/content/docs/ko/guides/sidebar.mdx @@ -19,11 +19,11 @@ import SidebarPreview from '~/components/sidebar-preview.astro'; - src/ - content/ - docs/ - - guides/ - - components.md - - i18n.md - - reference/ - - configuration.md + - constellations/ + - andromeda.md + - orion.md + - stars/ + - betelgeuse.md @@ -32,17 +32,15 @@ import SidebarPreview from '~/components/sidebar-preview.astro'; @@ -62,10 +60,10 @@ import SidebarPreview from '~/components/sidebar-preview.astro'; ```js "label:" "link:" starlight({ sidebar: [ - // CSS 및 스타일링 가이드 링크 - { label: 'CSS & 스타일링', link: '/ko/guides/css-and-tailwind/' }, - // Astro 웹사이트로 연결되는 외부 링크 - { label: 'Astro', link: 'https://astro.build/' }, + // 가니메데 위성 페이지로 이동하는 링크 + { label: '가니메데', link: '/moons/ganymede/' }, + // NASA 웹사이트로 이동하는 외부 링크 + { label: 'NASA', link: 'https://www.nasa.gov/' }, ], }); ``` @@ -74,8 +72,8 @@ starlight({ @@ -88,19 +86,19 @@ starlight({ ```js /^\s*(label:|items:)/ starlight({ sidebar: [ - // "가이드" 라벨이 붙은 링크 그룹 + // '별자리' 라벨이 붙은 링크 그룹 { - label: '가이드', + label: '별자리', items: [ - { label: '컴포넌트', link: '/ko/guides/components/' }, - { label: '국제화 (i18n)', link: '/ko/guides/i18n/' }, - // 중첩된 링크 그룹 + { label: '용골자리', link: '/constellations/carina/' }, + { label: '켄타우루스', link: '/constellations/centaurus/' }, + // 계절별 별자리에 대한 중첩된 링크 그룹 { - label: '스타일링', + label: '계절별', items: [ - { label: 'CSS', link: '/ko/guides/css-and-tailwind/' }, - { label: 'Tailwind', link: '/ko/guides/css-and-tailwind/' }, - { label: 'Shiki', link: '/ko/guides/css-and-tailwind/' }, + { label: '안드로메다', link: '/constellations/andromeda/' }, + { label: '오리온', link: '/constellations/orion/' }, + { label: '작은곰자리', link: '/constellations/ursa-minor/' }, ], }, ], @@ -114,17 +112,16 @@ starlight({ @@ -172,18 +169,13 @@ starlight({ diff --git a/docs/src/content/docs/pt-br/getting-started.mdx b/docs/src/content/docs/pt-br/getting-started.mdx index 8bc9813ac2e..1b708f8e3a2 100644 --- a/docs/src/content/docs/pt-br/getting-started.mdx +++ b/docs/src/content/docs/pt-br/getting-started.mdx @@ -83,43 +83,9 @@ Abra esta URL para começar a navegar no seu site. Starlight está pronto para você adicionar novo conteúdo, ou trazer seus arquivos existentes! -#### Formatos de arquivo +Adicione novas páginas ao seu site criando arquivos Markdown na pasta `src/content/docs/`. -O Starlight suporta a escrita de conteúdo em Markdown e MDX sem nenhuma configuração extra. -Você pode adicionar suporte para Markdoc instalando a [integração experimental Astro Markdoc](https://docs.astro.build/pt-br/guides/integrations-guide/markdoc/). - -#### Adicione páginas - -Adicione novas páginas ao seu site criando arquivos `.md` ou `.mdx` em `src/content/docs/`. -Utilize subdiretórios para organizar seus arquivos, e para criar múltiplos segmentos de caminho. - -Por exemplo, a seguinte estrutura de arquivos vai gerar páginas `example.com/ola-mundo` e `example.com/guides/faq`: - -import { FileTree } from '@astrojs/starlight/components'; - - - -- src/ - - content/ - - docs/ - - guides/ - - faq.md - - ola-mundo.md - - - -#### Frontmatter com segurança de tipos - -Todas as páginas do Starlight compartilham um [conjunto comum de propriedades frontmatter](/pt-br/reference/frontmatter/) para controlar como a página aparece: - -```md ---- -title: Olá, Mundo! -description: Essa é uma página no meu site com Starlight ---- -``` - -Se você esquecer de algo importante, Starlight vai te informar. +Leia mais sobre roteamento baseado em arquivos e suporte para arquivos MDX e Markdoc no guia de [“Páginas”](/pt-br/guides/pages/). ### Próximos passos diff --git a/docs/src/content/docs/resources/community-content.mdx b/docs/src/content/docs/resources/community-content.mdx index c4bda99bd7c..b630f91b9f1 100644 --- a/docs/src/content/docs/resources/community-content.mdx +++ b/docs/src/content/docs/resources/community-content.mdx @@ -124,5 +124,11 @@ import YouTubeGrid from '~/components/youtube-grid.astro'; title: 'Astro Starlight Documentation Template (build custom app docs!)', description: 'Get a new Starlight site up and running in about 5 minutes', }, + { + href: 'https://www.youtube.com/watch?v=12o7WxjAxjM', + title: 'Include Starlight docs in a Next.js project with proxies', + description: + 'Set up Starlight as a sub-directory project inside a Next.js website', + }, ]} /> diff --git a/docs/src/content/docs/ru/guides/components.mdx b/docs/src/content/docs/ru/guides/components.mdx index f99a45d1390..4960ca356aa 100644 --- a/docs/src/content/docs/ru/guides/components.mdx +++ b/docs/src/content/docs/ru/guides/components.mdx @@ -4,7 +4,7 @@ description: Использование компонентов в MDX со Starl --- Компоненты позволяют легко и последовательно переиспользовать часть пользовательского интерфейса или стиля. -Примерами могут служить ссылочные карточки или встроенные видео YouTube. +Примерами могут служить карточки-ссылки или встраиваемые ролики YouTube. Starlight поддерживает использование компонентов в файлах [MDX](https://mdxjs.com/) и предоставляет некоторые общие компоненты для вашего использования. [Узнайте больше о создании компонентов в документации Astro](https://docs.astro.build/ru/core-concepts/astro-components/). @@ -138,7 +138,7 @@ import { Card, CardGrid } from '@astrojs/starlight/components'; ::: -### Ссылочные карточки +### Карточки-ссылки Используйте компонент `` для создания заметных ссылок на разные страницы. diff --git a/docs/src/content/docs/ru/guides/css-and-tailwind.mdx b/docs/src/content/docs/ru/guides/css-and-tailwind.mdx index 527dd86054e..4cc7ec26db1 100644 --- a/docs/src/content/docs/ru/guides/css-and-tailwind.mdx +++ b/docs/src/content/docs/ru/guides/css-and-tailwind.mdx @@ -277,9 +277,9 @@ import ThemeDesigner from '~/components/theme-designer.astro'; darkMode: 'Тёмный режим', lightMode: 'Светлый режим', bodyText: - 'Текст тела отображается в оттенке серого с высоким контрастом по отношению к фону.', + 'Основной текст отображается в оттенке серого с высоким контрастом по отношению к фону.', linkText: 'Ссылки выделены цветом.', - dimText: 'Некоторый текст, например оглавление, имеет меньший контраст.', + dimText: 'Некоторый текст, например, оглавление, имеет меньший контраст.', inlineCode: 'Встроенный код имеет выделенный фон.', }, }} diff --git a/docs/src/content/docs/ru/guides/pages.mdx b/docs/src/content/docs/ru/guides/pages.mdx index 30c6b0b2b1c..40a62a59e9f 100644 --- a/docs/src/content/docs/ru/guides/pages.mdx +++ b/docs/src/content/docs/ru/guides/pages.mdx @@ -127,7 +127,7 @@ import CustomComponent from './CustomComponent.astro'; items: [ { label: 'Андромеда', href: '/andromeda/' }, { label: 'Орион', href: '/orion/', isCurrent: true }, - { label: 'Малая Медведица', href: '/ursa-minor/', badge: 'Stub' }, + { label: 'Малая Медведица', href: '/ursa-minor/', badge: 'Заглушка' }, ], }, ]} diff --git a/docs/src/content/docs/ru/guides/sidebar.mdx b/docs/src/content/docs/ru/guides/sidebar.mdx index 1daaea24c63..12fb90d2b25 100644 --- a/docs/src/content/docs/ru/guides/sidebar.mdx +++ b/docs/src/content/docs/ru/guides/sidebar.mdx @@ -19,11 +19,11 @@ import SidebarPreview from '~/components/sidebar-preview.astro'; - src/ - content/ - docs/ - - guides/ - - components.md - - i18n.md - - reference/ - - configuration.md + - constellations/ + - andromeda.md + - orion.md + - stars/ + - betelgeuse.md @@ -32,20 +32,15 @@ import SidebarPreview from '~/components/sidebar-preview.astro'; @@ -54,8 +49,7 @@ import SidebarPreview from '~/components/sidebar-preview.astro'; ## Добавление ссылок и групп ссылок -Чтобы настроить свои [ссылки](#ссылки) и [группы ссылок](#группы) (внутри сворачиваемого заголовка) в боковой панели, -используйте свойство [`starlight.sidebar`](/ru/reference/configuration/#sidebar) в `astro.config.mjs`. +Чтобы настроить свои [ссылки](#ссылки) и [группы ссылок](#группы) (внутри сворачиваемого заголовка) в боковой панели, используйте свойство [`starlight.sidebar`](/ru/reference/configuration/#sidebar) в `astro.config.mjs`. Комбинируя ссылки и группы, вы можете создавать разнообразные макеты боковой панели. @@ -66,10 +60,10 @@ import SidebarPreview from '~/components/sidebar-preview.astro'; ```js "label:" "link:" starlight({ sidebar: [ - // Ссылка на руководство по CSS и стилизации. - { label: 'CSS и стилизация', link: '/ru/guides/css-and-tailwind/' }, - // Внешняя ссылка на веб-сайт Astro. - { label: 'Astro', link: 'https://astro.build/' }, + // Ссылка на страницу луны Ганимед. + { label: 'Ганимед', link: '/moons/ganymede/' }, + // Внешняя ссылка на веб-сайт NASA. + { label: 'NASA', link: 'https://www.nasa.gov/' }, ], }); ``` @@ -78,8 +72,8 @@ starlight({ @@ -95,19 +89,19 @@ starlight({ ```js /^\s*(label:|items:)/ starlight({ sidebar: [ - // Группа ссылок с названием "Руководства". + // Группа ссылок с названием «Созвездия». { - label: 'Руководства', + label: 'Созвездия', items: [ - { label: 'Компоненты', link: '/ru/guides/components/' }, - { label: 'Интернационализация (i18n)', link: '/ru/guides/i18n/' }, - // Вложенная группа ссылок. + { label: 'Карина', link: '/constellations/carina/' }, + { label: 'Центавр', link: '/constellations/centaurus/' }, + // Вложенная группа ссылок для сезонных созвездий. { - label: 'Стилизация', + label: 'Сезонные', items: [ - { label: 'CSS', link: '/ru/guides/css-and-tailwind/' }, - { label: 'Tailwind', link: '/ru/guides/css-and-tailwind/' }, - { label: 'Shiki', link: '/ru/guides/css-and-tailwind/' }, + { label: 'Андромеда', link: '/constellations/andromeda/' }, + { label: 'Орион', link: '/constellations/orion/' }, + { label: 'Малая Медведица', link: '/constellations/ursa-minor/' }, ], }, ], @@ -121,16 +115,16 @@ starlight({ @@ -179,18 +173,13 @@ starlight({ - + ## Видеоконтент diff --git a/docs/src/content/docs/zh-cn/guides/sidebar.mdx b/docs/src/content/docs/zh-cn/guides/sidebar.mdx index fe3ab62d8e0..e80e13d38d9 100644 --- a/docs/src/content/docs/zh-cn/guides/sidebar.mdx +++ b/docs/src/content/docs/zh-cn/guides/sidebar.mdx @@ -19,11 +19,11 @@ import SidebarPreview from '~/components/sidebar-preview.astro'; - src/ - content/ - docs/ - - guides/ - - components.md - - i18n.md - - reference/ - - configuration.md + - constellations/ + - andromeda.md + - orion.md + - stars/ + - betelgeuse.md @@ -32,17 +32,15 @@ import SidebarPreview from '~/components/sidebar-preview.astro'; @@ -62,10 +60,10 @@ import SidebarPreview from '~/components/sidebar-preview.astro'; ```js "label:" "link:" starlight({ sidebar: [ - // 指向 CSS & Styling 指南的链接 - { label: 'CSS & Styling', link: '/zh-cn/guides/css-and-tailwind/' }, - // 指向 Astro 官网的外部链接 - { label: 'Astro', link: 'https://astro.build/' }, + // 指向木卫三卫星页面的链接。 + { label: '木卫三', link: '/moons/ganymede/' }, + // 指向 NASA 网站的外部链接。 + { label: 'NASA', link: 'https://www.nasa.gov/' }, ], }); ``` @@ -74,8 +72,8 @@ starlight({ @@ -91,19 +89,19 @@ starlight({ ```js /^\s*(label:|items:)/ starlight({ sidebar: [ - // 一个名为 "Guides" 的链接分组 + // 一个名为 "星座" 的链接分组 { - label: 'Guides', + label: '星座', items: [ - { label: 'Components', link: '/guides/components/' }, - { label: 'Internationalization (i18n)', link: '/guides/i18n/' }, - // 一个嵌套的链接分组 + { label: '船底座', link: '/constellations/carina/' }, + { label: '半人马座', link: '/constellations/centaurus/' }, + // 星座周期的嵌套链接分组。 { - label: 'Styling', + label: '周期', items: [ - { label: 'CSS', link: '/guides/css-and-tailwind/' }, - { label: 'Tailwind', link: '/guides/css-and-tailwind/' }, - { label: 'Shiki', link: '/guides/css-and-tailwind/' }, + { label: '仙女座', link: '/constellations/andromeda/' }, + { label: '猎户座', link: '/constellations/orion/' }, + { label: '小熊座', link: '/constellations/ursa-minor/' }, ], }, ], @@ -117,16 +115,16 @@ starlight({ @@ -174,15 +172,13 @@ starlight({ ; /** Type that extends Starlight’s default schema with an optional, user-defined schema. */ -type ExtendedSchema = T extends BaseSchema +type ExtendedSchema = [T] extends [never] + ? DefaultSchema + : T extends BaseSchema ? z.ZodIntersection : DefaultSchema; @@ -147,8 +149,13 @@ interface DocsSchemaOpts { } /** Content collection schema for Starlight’s `docs` collection. */ -export function docsSchema({ extend }: DocsSchemaOpts = {}) { - return (context: SchemaContext): ExtendedSchema => { +export function docsSchema( + ...args: [DocsSchemaOpts?] +): (context: SchemaContext) => ExtendedSchema { + const [options = {}] = args; + const { extend } = options; + + return (context: SchemaContext) => { const UserSchema = typeof extend === 'function' ? extend(context) : extend; return ( diff --git a/packages/starlight/schemas/i18n.ts b/packages/starlight/schemas/i18n.ts index 227ce446808..25fa35c9155 100644 --- a/packages/starlight/schemas/i18n.ts +++ b/packages/starlight/schemas/i18n.ts @@ -18,14 +18,21 @@ interface i18nSchemaOpts> { extend?: T; } +const defaultI18nSchema = () => + starlightI18nSchema().merge(pagefindI18nSchema()).merge(expressiveCodeI18nSchema()); +/** Type of Starlight’s default i18n schema, including extensions from Pagefind and Expressive Code. */ +type DefaultI18nSchema = ReturnType; + +/** Type that extends Starlight’s default i18n schema with an optional, user-defined schema. */ +type ExtendedSchema = T extends z.AnyZodObject + ? z.ZodIntersection + : DefaultI18nSchema; + /** Content collection schema for Starlight’s optional `i18n` collection. */ export function i18nSchema>({ extend = z.object({}) as T, -}: i18nSchemaOpts = {}) { - return starlightI18nSchema() - .merge(pagefindI18nSchema()) - .merge(expressiveCodeI18nSchema()) - .merge(extend); +}: i18nSchemaOpts = {}): ExtendedSchema { + return defaultI18nSchema().merge(extend) as ExtendedSchema; } export type i18nSchemaOutput = z.output>; diff --git a/packages/starlight/translations/fa.json b/packages/starlight/translations/fa.json index ba28d113946..892a65ac970 100644 --- a/packages/starlight/translations/fa.json +++ b/packages/starlight/translations/fa.json @@ -12,16 +12,16 @@ "menuButton.accessibleLabel": "منو", "sidebarNav.accessibleLabel": "اصلی", "tableOfContents.onThisPage": "در این صفحه", - "tableOfContents.overview": "بررسی اجمالی", + "tableOfContents.overview": "نگاه کلی", "i18n.untranslatedContent": "این محتوا هنوز به زبان شما در دسترس نیست.", "page.editLink": "ویرایش صفحه", - "page.lastUpdated": "آخرین به روز رسانی:", + "page.lastUpdated": "آخرین به‌روزرسانی:", "page.previousLink": "قبلی", "page.nextLink": "بعدی", "404.text": "صفحه یافت نشد. لطفاً URL را بررسی کنید یا از جستجو استفاده نمایید.", - "aside.note": "Note", - "aside.tip": "Tip", - "aside.caution": "Caution", - "aside.danger": "Danger", - "fileTree.directory": "Directory" + "aside.note": "یادداشت", + "aside.tip": "نکته", + "aside.caution": "احتیاط", + "aside.danger": "خطر", + "fileTree.directory": "فهرست" } diff --git a/packages/starlight/utils/createTranslationSystem.ts b/packages/starlight/utils/createTranslationSystem.ts index b81f2a392d6..de1d3c822d9 100644 --- a/packages/starlight/utils/createTranslationSystem.ts +++ b/packages/starlight/utils/createTranslationSystem.ts @@ -2,8 +2,8 @@ import type { i18nSchemaOutput } from '../schemas/i18n'; import builtinTranslations from '../translations/index'; import type { StarlightConfig } from './user-config'; -export function createTranslationSystem( - userTranslations: Record, +export function createTranslationSystem( + userTranslations: Record, config: Pick ) { /** User-configured default locale. */ @@ -67,18 +67,20 @@ function localeToLang( return lang || defaultLang || 'en'; } +type BuiltInStrings = (typeof builtinTranslations)['en']; + /** Build a dictionary by layering preferred translation sources. */ -function buildDictionary( - base: (typeof builtinTranslations)[string], - ...dictionaries: (i18nSchemaOutput | undefined)[] -) { +function buildDictionary>( + base: BuiltInStrings, + ...dictionaries: (T | BuiltInStrings | undefined)[] +): BuiltInStrings & T { const dictionary = { ...base }; // Iterate over alternate dictionaries to avoid overwriting preceding values with `undefined`. for (const dict of dictionaries) { for (const key in dict) { - const value = dict[key]; + const value = dict[key as keyof typeof dict]; if (value) dictionary[key as keyof typeof dictionary] = value; } } - return dictionary; + return dictionary as BuiltInStrings & T; } diff --git a/packages/starlight/utils/translations.ts b/packages/starlight/utils/translations.ts index 6c262938f6b..d418cd856ae 100644 --- a/packages/starlight/utils/translations.ts +++ b/packages/starlight/utils/translations.ts @@ -1,11 +1,15 @@ -import { getCollection } from 'astro:content'; +import { getCollection, type CollectionEntry, type DataCollectionKey } from 'astro:content'; import config from 'virtual:starlight/user-config'; import type { i18nSchemaOutput } from '../schemas/i18n'; import { createTranslationSystem } from './createTranslationSystem'; +type UserI18nSchema = 'i18n' extends DataCollectionKey + ? CollectionEntry<'i18n'>['data'] + : i18nSchemaOutput; + /** Get all translation data from the i18n collection, keyed by `id`, which matches locale. */ async function loadTranslations() { - let userTranslations: Record = {}; + let userTranslations: Record = {}; // Briefly override `console.warn()` to silence logging when a project has no i18n collection. const warn = console.warn; console.warn = () => {}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9fec1dcb600..3536c01a07e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,8 +39,8 @@ importers: specifier: workspace:* version: link:../packages/starlight '@lunariajs/core': - specifier: ^0.0.25 - version: 0.0.25 + specifier: ^0.0.32 + version: 0.0.32 '@types/culori': specifier: ^2.0.0 version: 2.0.0 @@ -140,8 +140,8 @@ importers: specifier: ^4.0.3 version: 4.0.3 astro-expressive-code: - specifier: ^0.33.4 - version: 0.33.4(astro@4.3.5) + specifier: ^0.35.2 + version: 0.35.2(astro@4.3.5) bcp-47: specifier: ^2.1.0 version: 2.1.0 @@ -891,9 +891,16 @@ packages: prettier: 2.8.8 dev: true - /@ctrl/tinycolor@3.6.1: - resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} - engines: {node: '>=10'} + /@clack/core@0.3.4: + resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==} + dependencies: + picocolors: 1.0.0 + sisteransi: 1.0.5 + dev: false + + /@ctrl/tinycolor@4.1.0: + resolution: {integrity: sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==} + engines: {node: '>=14'} dev: false /@docsearch/css@3.5.2: @@ -1322,36 +1329,37 @@ packages: requiresBuild: true optional: true - /@expressive-code/core@0.33.4: - resolution: {integrity: sha512-IywACrwcR/7cIPBQ1qG/RsgvNp85/CAX6okxR0Niztrd7rh4IcEhAsz51jX/NPNnhU9yPynTT+mLdM1URqrnvw==} + /@expressive-code/core@0.35.2: + resolution: {integrity: sha512-lInKOxMvcvVTrRB8qjsH6PDQ5+rz9o3lyoUh+2xxvdWmnpcTE7JVWWcVfDrLfEXZb+6KQWlWqD0J50u1+xe8Rg==} dependencies: - '@ctrl/tinycolor': 3.6.1 - hast-util-to-html: 8.0.4 - hastscript: 7.2.0 - postcss: 8.4.33 - postcss-nested: 6.0.1(postcss@8.4.33) + '@ctrl/tinycolor': 4.1.0 + hast-util-select: 6.0.2 + hast-util-to-html: 9.0.1 + hast-util-to-text: 4.0.1 + hastscript: 9.0.0 + postcss: 8.4.38 + postcss-nested: 6.0.1(postcss@8.4.38) + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 dev: false - /@expressive-code/plugin-frames@0.33.4: - resolution: {integrity: sha512-6HE5f8dAPjzmhs7yZJHVyH+w/UwVpktjlTvrUumrytHo6hidGlkB5lptWJlSAd9JXzev5BQEb4xrqQ0xQqO5+A==} + /@expressive-code/plugin-frames@0.35.2: + resolution: {integrity: sha512-ABj9WQinforkAvBzCTOd3puuGWaKm1mzts7yck1YNyfh4uQGLxabvjKIj69WYA75+Ccd0edy0b1QzIqwecJpzg==} dependencies: - '@expressive-code/core': 0.33.4 - hastscript: 7.2.0 + '@expressive-code/core': 0.35.2 dev: false - /@expressive-code/plugin-shiki@0.33.4: - resolution: {integrity: sha512-XnDchHqCGk046hgQnu83t9+SDrRjsvpvUEBiI0wl4RljVDr1E0yllx0y6C1yEuKfFfasib6BxX/PkItgQdi/0Q==} + /@expressive-code/plugin-shiki@0.35.2: + resolution: {integrity: sha512-V+pAhT3m0xAbwHvDT9DLpZLkksYKeNNTDIEHE0VHoZfw9IibvG6QcrH8FjMQnxv1DfvWjkYV4wob7/TZKlGU6w==} dependencies: - '@expressive-code/core': 0.33.4 + '@expressive-code/core': 0.35.2 shiki: 1.1.7 dev: false - /@expressive-code/plugin-text-markers@0.33.4: - resolution: {integrity: sha512-hl3E+8iZJMYGDaKsN4bOPOEBb9QeFjg+zQkOJRtjJgsmIYmaZpoQTzTg/JMduE8PLNsD30nAMwG/AbjN/klwZQ==} + /@expressive-code/plugin-text-markers@0.35.2: + resolution: {integrity: sha512-YD/QhTBoCGXWCE40BD3Wg1XXAR0eVVFYL0TZaD8JjdRqVDmmRtZmhiG+/luXfbe9xZy5qEw4ZFXiQrJkUH6DJQ==} dependencies: - '@expressive-code/core': 0.33.4 - hastscript: 7.2.0 - unist-util-visit-parents: 5.1.3 + '@expressive-code/core': 0.35.2 dev: false /@hapi/hoek@9.3.0: @@ -1413,61 +1421,21 @@ packages: resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} dev: false - /@lit-labs/ssr-client@1.1.5: - resolution: {integrity: sha512-rAXd2OsuxfGA579RiDS2YQSm1HreE8knQHj+fcMhGIPYenBoW4M70Yl8K3a35MSLlpQnnF//s2TPfkHFmy2RhA==} - dependencies: - '@lit/reactive-element': 2.0.2 - lit: 3.1.0 - lit-html: 3.1.0 - dev: false - - /@lit-labs/ssr-dom-shim@1.1.2: - resolution: {integrity: sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==} - dev: false - - /@lit-labs/ssr@3.2.0: - resolution: {integrity: sha512-5ZwVMEpYCHI5MF7+5ER3IvOyDjJimq/nzKtV4momqSKr3a/9gEFouHzTDogwaYoOwIBBtO8jl5SX2Vsb0kfZgA==} - engines: {node: '>=13.9.0'} - dependencies: - '@lit-labs/ssr-client': 1.1.5 - '@lit-labs/ssr-dom-shim': 1.1.2 - '@lit/reactive-element': 2.0.2 - '@parse5/tools': 0.3.0 - '@types/node': 16.18.68 - enhanced-resolve: 5.15.0 - lit: 3.1.0 - lit-element: 4.0.2 - lit-html: 3.1.0 - node-fetch: 3.3.1 - parse5: 7.1.2 - dev: false - - /@lit/reactive-element@2.0.2: - resolution: {integrity: sha512-SVOwLAWUQg3Ji1egtOt1UiFe4zdDpnWHyc5qctSceJ5XIu0Uc76YmGpIjZgx9YJ0XtdW0Jm507sDvjOu+HnB8w==} - dependencies: - '@lit-labs/ssr-dom-shim': 1.1.2 - dev: false - - /@lunariajs/core@0.0.25: - resolution: {integrity: sha512-rQY4qIQqmL2fanBTcmItaiTp++YDluX4QM7yv2Owmc3LCZiXRFBEUq8kjIXjtowpkb+ejraGq8wBcyHhaFlKug==} + /@lunariajs/core@0.0.32: + resolution: {integrity: sha512-l4JbgtatUlh64FJIyjPPPiLTEu26TTOKVa8GUBF32aGmzXb1ScdKwYQuN1c7Hf1sjW5VAc9Z+wthhx4/GU0jGA==} engines: {node: '>=18.17.0'} hasBin: true dependencies: - '@lit-labs/ssr': 3.2.0 + '@clack/core': 0.3.4 fast-glob: 3.3.2 + get-port: 7.1.0 jiti: 1.21.0 - lit: 3.1.0 micromatch: 4.0.5 path-to-regexp: 6.2.1 picocolors: 1.0.0 - redent: 4.0.0 - rehype: 13.0.1 - rehype-format: 5.0.0 simple-git: 3.21.0 - ufo: 1.3.2 ultramatter: 0.0.4 zod: 3.22.4 - zod-validation-error: 2.1.0(zod@3.22.4) transitivePeerDependencies: - supports-color dev: false @@ -1584,12 +1552,6 @@ packages: dev: false optional: true - /@parse5/tools@0.3.0: - resolution: {integrity: sha512-zxRyTHkqb7WQMV8kTNBKWb1BeOFUKXBXTBWuxg9H9hfvQB3IwP6Iw2U75Ia5eyRxPNltmY7E8YAlz6zWwUnjKg==} - dependencies: - parse5: 7.1.2 - dev: false - /@rollup/rollup-android-arm-eabi@4.6.1: resolution: {integrity: sha512-0WQ0ouLejaUCRsL93GD4uft3rOmB8qoQMU05Kb8CmMtMBe7XUDLAltxVZI1q6byNqEtU7N1ZX1Vw5lIpgulLQA==} cpu: [arm] @@ -1755,12 +1717,6 @@ packages: /@types/estree@1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} - /@types/hast@2.3.8: - resolution: {integrity: sha512-aMIqAlFd2wTIDZuvLbhUT+TGvMxrNC8ECUIVtH6xxy0sQLs3iu6NO8Kp/VT5je7i5ufnebXzdV1dNDMnvaH6IQ==} - dependencies: - '@types/unist': 2.0.10 - dev: false - /@types/hast@3.0.3: resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==} dependencies: @@ -1801,10 +1757,6 @@ packages: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true - /@types/node@16.18.68: - resolution: {integrity: sha512-sG3hPIQwJLoewrN7cr0dwEy+yF5nD4D/4FxtQpFciRD/xwUzgD+G05uxZHv5mhfXo4F9Jkp13jjn0CC2q325sg==} - dev: false - /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: false @@ -1821,10 +1773,6 @@ packages: resolution: {integrity: sha512-H6qeTp03jrknklSn4bpT1/9+1xCAEIU2CnjcWPkicJy8A1SKuthanbvoHYMiv79/2W3Xn1XE4gfSJFzt2U3JSw==} dev: true - /@types/parse5@6.0.3: - resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} - dev: false - /@types/sax@1.2.4: resolution: {integrity: sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==} dependencies: @@ -1835,10 +1783,6 @@ packages: resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==} dev: true - /@types/trusted-types@2.0.7: - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - dev: false - /@types/unist@2.0.10: resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} @@ -2086,14 +2030,13 @@ packages: hasBin: true dev: false - /astro-expressive-code@0.33.4(astro@4.3.5): - resolution: {integrity: sha512-PtXLjd89WBA1WsDYlt3V1LZs9Pa8FFoXilaGDSyfxtbYJ2OPHjWh2JJvCiXmfXmY3HkPJ2oW9Jjo6om5vUlVcg==} + /astro-expressive-code@0.35.2(astro@4.3.5): + resolution: {integrity: sha512-euLMzMBRyNjniHIdla2yjBEFVKbYJxo5jdzsFB/2M/nf3hgKs9o6VU41HEvKEnk5Pf2NhFtgUGGwrIrjwuHhyA==} peerDependencies: - astro: ^3.3.0 || ^4.0.0-beta + astro: ^4.0.0-beta || ^3.3.0 dependencies: astro: 4.3.5(@types/node@18.16.19) - hast-util-to-html: 8.0.4 - remark-expressive-code: 0.33.4 + rehype-expressive-code: 0.35.2 dev: false /astro@4.3.5(@types/node@18.16.19): @@ -2693,11 +2636,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: false - /dataloader@1.4.0: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} dev: true @@ -2906,14 +2844,6 @@ packages: dependencies: once: 1.4.0 - /enhanced-resolve@5.15.0: - resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.10 - tapable: 2.2.1 - dev: false - /enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} @@ -3168,13 +3098,13 @@ packages: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} - /expressive-code@0.33.4: - resolution: {integrity: sha512-vb6DLHjG+jbLJGTvOUhxagsru7oUiBrQEsL9+hcWJvlxIqQ5mRFqjamQS9kCIhXXbfYWiYI7/wfTGxQxuHxsZQ==} + /expressive-code@0.35.2: + resolution: {integrity: sha512-Cc4W+DqnnULYnia42UrfRlqshCL2vci/X9EUSutiz6PK6+vNNXrG3c0BQmBJr+nRj0lde9F/O1IxZXAK9UBZ0w==} dependencies: - '@expressive-code/core': 0.33.4 - '@expressive-code/plugin-frames': 0.33.4 - '@expressive-code/plugin-shiki': 0.33.4 - '@expressive-code/plugin-text-markers': 0.33.4 + '@expressive-code/core': 0.35.2 + '@expressive-code/plugin-frames': 0.35.2 + '@expressive-code/plugin-shiki': 0.35.2 + '@expressive-code/plugin-text-markers': 0.35.2 dev: false /extend-shallow@2.0.1: @@ -3237,14 +3167,6 @@ packages: pend: 1.2.0 dev: true - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 - dev: false - /file-url@3.0.0: resolution: {integrity: sha512-g872QGsHexznxkIAdK8UiZRe7SkE6kvylShU4Nsj8NvfvZag7S0QuQ4IgvPDkk75HxgjIVDwycFTDAgIiO4nDA==} engines: {node: '>=8'} @@ -3307,13 +3229,6 @@ packages: mime-types: 2.1.35 dev: true - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - dependencies: - fetch-blob: 3.2.0 - dev: false - /fraction.js@4.2.0: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: false @@ -3395,6 +3310,11 @@ packages: has-symbols: 1.0.3 dev: true + /get-port@7.1.0: + resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} + engines: {node: '>=16'} + dev: false + /get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -3576,13 +3496,6 @@ packages: dependencies: function-bind: 1.1.2 - /hast-util-embedded@3.0.0: - resolution: {integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==} - dependencies: - '@types/hast': 3.0.3 - hast-util-is-element: 3.0.0 - dev: false - /hast-util-from-html@2.0.1: resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} dependencies: @@ -3593,18 +3506,6 @@ packages: vfile: 6.0.1 vfile-message: 4.0.2 - /hast-util-from-parse5@7.1.2: - resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} - dependencies: - '@types/hast': 2.3.8 - '@types/unist': 2.0.10 - hastscript: 7.2.0 - property-information: 6.2.0 - vfile: 5.3.7 - vfile-location: 4.1.0 - web-namespaces: 2.0.1 - dev: false - /hast-util-from-parse5@8.0.1: resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} dependencies: @@ -3622,55 +3523,17 @@ packages: dependencies: '@types/hast': 3.0.3 - /hast-util-is-body-ok-link@3.0.0: - resolution: {integrity: sha512-VFHY5bo2nY8HiV6nir2ynmEB1XkxzuUffhEGeVx7orbu/B1KaGyeGgMZldvMVx5xWrDlLLG/kQ6YkJAMkBEx0w==} - dependencies: - '@types/hast': 3.0.3 - dev: false - /hast-util-is-element@3.0.0: resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} dependencies: '@types/hast': 3.0.3 dev: false - /hast-util-parse-selector@3.1.1: - resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} - dependencies: - '@types/hast': 2.3.8 - dev: false - /hast-util-parse-selector@4.0.0: resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} dependencies: '@types/hast': 3.0.3 - /hast-util-phrasing@3.0.1: - resolution: {integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==} - dependencies: - '@types/hast': 3.0.3 - hast-util-embedded: 3.0.0 - hast-util-has-property: 3.0.0 - hast-util-is-body-ok-link: 3.0.0 - hast-util-is-element: 3.0.0 - dev: false - - /hast-util-raw@7.2.3: - resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} - dependencies: - '@types/hast': 2.3.8 - '@types/parse5': 6.0.3 - hast-util-from-parse5: 7.1.2 - hast-util-to-parse5: 7.1.0 - html-void-elements: 2.0.1 - parse5: 6.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 - vfile: 5.3.7 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - dev: false - /hast-util-raw@9.0.1: resolution: {integrity: sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==} dependencies: @@ -3732,24 +3595,24 @@ packages: - supports-color dev: false - /hast-util-to-html@8.0.4: - resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==} + /hast-util-to-html@9.0.0: + resolution: {integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==} dependencies: - '@types/hast': 2.3.8 - '@types/unist': 2.0.10 + '@types/hast': 3.0.3 + '@types/unist': 3.0.0 ccount: 2.0.1 comma-separated-tokens: 2.0.3 - hast-util-raw: 7.2.3 - hast-util-whitespace: 2.0.1 - html-void-elements: 2.0.1 + hast-util-raw: 9.0.1 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.0.2 property-information: 6.2.0 space-separated-tokens: 2.0.2 stringify-entities: 4.0.3 zwitch: 2.0.4 - dev: false - /hast-util-to-html@9.0.0: - resolution: {integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==} + /hast-util-to-html@9.0.1: + resolution: {integrity: sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ==} dependencies: '@types/hast': 3.0.3 '@types/unist': 3.0.0 @@ -3763,6 +3626,7 @@ packages: space-separated-tokens: 2.0.2 stringify-entities: 4.0.3 zwitch: 2.0.4 + dev: false /hast-util-to-jsx-runtime@2.3.0: resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} @@ -3786,17 +3650,6 @@ packages: - supports-color dev: false - /hast-util-to-parse5@7.1.0: - resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} - dependencies: - '@types/hast': 2.3.8 - comma-separated-tokens: 2.0.3 - property-information: 6.2.0 - space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - dev: false - /hast-util-to-parse5@8.0.0: resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} dependencies: @@ -3814,8 +3667,13 @@ packages: '@types/hast': 3.0.3 dev: false - /hast-util-whitespace@2.0.1: - resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} + /hast-util-to-text@4.0.1: + resolution: {integrity: sha512-RHL7Vo2n06ZocCFWqmbyhZ1pCYX/mSKdywt9YD5U6Hquu5syV+dImCXFKLFt02JoK5QxkQFS0PoVdFdPXuPffQ==} + dependencies: + '@types/hast': 3.0.3 + '@types/unist': 3.0.0 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 dev: false /hast-util-whitespace@3.0.0: @@ -3823,24 +3681,24 @@ packages: dependencies: '@types/hast': 3.0.3 - /hastscript@7.2.0: - resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} + /hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 3.1.1 + hast-util-parse-selector: 4.0.0 property-information: 6.2.0 space-separated-tokens: 2.0.2 - dev: false - /hastscript@8.0.0: - resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + /hastscript@9.0.0: + resolution: {integrity: sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==} dependencies: '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 property-information: 6.2.0 space-separated-tokens: 2.0.2 + dev: false /hogan.js@3.0.2: resolution: {integrity: sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==} @@ -3866,17 +3724,9 @@ packages: /html-escaper@3.0.3: resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} - /html-void-elements@2.0.1: - resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} - dev: false - /html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - /html-whitespace-sensitive-tag-names@3.0.0: - resolution: {integrity: sha512-KlClZ3/Qy5UgvpvVvDomGhnQhNWH5INE8GwvSIQ9CWt1K0zbbXrl7eN5bWaafOZgtmO3jMPwUqmrmEwinhPq1w==} - dev: false - /html_codesniffer@2.5.1: resolution: {integrity: sha512-vcz0yAaX/OaV6sdNHuT9alBOKkSxYb8h5Yq26dUqgi7XmCgGUSa7U9PiY1PBXQFMjKv1wVPs5/QzHlGuxPDUGg==} engines: {node: '>=6'} @@ -3939,11 +3789,6 @@ packages: engines: {node: '>=8'} dev: true - /indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} - dev: false - /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: @@ -4329,28 +4174,6 @@ packages: /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - /lit-element@4.0.2: - resolution: {integrity: sha512-/W6WQZUa5VEXwC7H9tbtDMdSs9aWil3Ou8hU6z2cOKWbsm/tXPAcsoaHVEtrDo0zcOIE5GF6QgU55tlGL2Nihg==} - dependencies: - '@lit-labs/ssr-dom-shim': 1.1.2 - '@lit/reactive-element': 2.0.2 - lit-html: 3.1.0 - dev: false - - /lit-html@3.1.0: - resolution: {integrity: sha512-FwAjq3iNsaO6SOZXEIpeROlJLUlrbyMkn4iuv4f4u1H40Jw8wkeR/OUXZUHUoiYabGk8Y4Y0F/rgq+R4MrOLmA==} - dependencies: - '@types/trusted-types': 2.0.7 - dev: false - - /lit@3.1.0: - resolution: {integrity: sha512-rzo/hmUqX8zmOdamDAeydfjsGXbbdtAFqMhmocnh2j9aDYqbu0fjXygjCa0T99Od9VQ/2itwaGrjZz/ZELVl7w==} - dependencies: - '@lit/reactive-element': 2.0.2 - lit-element: 4.0.2 - lit-html: 3.1.0 - dev: false - /lite-youtube-embed@0.2.0: resolution: {integrity: sha512-XXXAk5sbvtjjwbie3XG+6HppgTm1HTGL/Uk9z9NkJH53o7puZLur434heHzAjkS60hZB3vT4ls25zl5rMiX4EA==} dev: false @@ -5057,6 +4880,7 @@ packages: /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + dev: true /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -5150,11 +4974,6 @@ packages: /node-addon-api@6.1.0: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: false - /node-fetch@2.6.10: resolution: {integrity: sha512-5YytjUVbwzjE/BX4N62vnPPkGNxlJPwdA9/ArUc4pcM6cYS4Hinuv4VazzwjMGgnWuiQqcemOanib/5PpcsGug==} engines: {node: 4.x || >=6.0.0} @@ -5167,15 +4986,6 @@ packages: whatwg-url: 5.0.0 dev: true - /node-fetch@3.3.1: - resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - dev: false - /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} @@ -5467,10 +5277,6 @@ packages: parse5: 7.1.2 dev: true - /parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - dev: false - /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: @@ -5624,6 +5430,16 @@ packages: postcss-selector-parser: 6.0.13 dev: false + /postcss-nested@6.0.1(postcss@8.4.38): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.0.13 + dev: false + /postcss-selector-parser@6.0.13: resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} engines: {node: '>=4'} @@ -5644,6 +5460,15 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + dev: false + /preact@10.18.2: resolution: {integrity: sha512-X/K43vocUHDg0XhWVmTTMbec4LT/iBMh+csCEqJk+pJqegaXsvjdqN80ZZ3L+93azWCnWCZ+WGwYb8SplxeNjA==} dev: false @@ -5874,14 +5699,6 @@ packages: strip-indent: 3.0.0 dev: true - /redent@4.0.0: - resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} - engines: {node: '>=12'} - dependencies: - indent-string: 5.0.0 - strip-indent: 4.0.0 - dev: false - /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: true @@ -5895,27 +5712,10 @@ packages: functions-have-names: 1.2.3 dev: true - /rehype-format@5.0.0: - resolution: {integrity: sha512-kM4II8krCHmUhxrlvzFSptvaWh280Fr7UGNJU5DCMuvmAwGCNmGfi9CvFAQK6JDjsNoRMWQStglK3zKJH685Wg==} - dependencies: - '@types/hast': 3.0.3 - hast-util-embedded: 3.0.0 - hast-util-is-element: 3.0.0 - hast-util-phrasing: 3.0.1 - hast-util-whitespace: 3.0.0 - html-whitespace-sensitive-tag-names: 3.0.0 - rehype-minify-whitespace: 6.0.0 - unist-util-visit-parents: 6.0.1 - dev: false - - /rehype-minify-whitespace@6.0.0: - resolution: {integrity: sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA==} + /rehype-expressive-code@0.35.2: + resolution: {integrity: sha512-ydaCdmRW9mPDt8TUh69HzS7E7kQZcwi0Z4nZyWTUjX3nVPx3kA8TAHe/oWjtMGSsIP+7xAybrCpNNNEMXmzWqQ==} dependencies: - '@types/hast': 3.0.3 - hast-util-embedded: 3.0.0 - hast-util-is-element: 3.0.0 - hast-util-whitespace: 3.0.0 - unist-util-is: 6.0.0 + expressive-code: 0.35.2 dev: false /rehype-parse@9.0.0: @@ -5958,14 +5758,6 @@ packages: - supports-color dev: false - /remark-expressive-code@0.33.4: - resolution: {integrity: sha512-ucGzDknAY6LJKkcNSaYh9N0SEr1LDA0shageM1xa+4fu/o+7g6R1/ApF7d2c+cj1ERLvaF4OaUa87n5baY+MDA==} - dependencies: - expressive-code: 0.33.4 - hast-util-to-html: 8.0.4 - unist-util-visit: 4.1.2 - dev: false - /remark-gfm@4.0.0: resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} dependencies: @@ -6338,6 +6130,11 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + dev: false + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -6571,13 +6368,6 @@ packages: min-indent: 1.0.1 dev: true - /strip-indent@4.0.0: - resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} - engines: {node: '>=12'} - dependencies: - min-indent: 1.0.1 - dev: false - /strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} @@ -6668,11 +6458,6 @@ packages: - ts-node dev: false - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: false - /tar-fs@2.1.1: resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} dependencies: @@ -6872,6 +6657,7 @@ packages: /ufo@1.3.2: resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + dev: true /ultramatter@0.0.4: resolution: {integrity: sha512-1f/hO3mR+/Hgue4eInOF/Qm/wzDqwhYha4DxM0hre9YIUyso3fE2XtrAU6B4njLqTC8CM49EZaYgsVSa+dXHGw==} @@ -6918,6 +6704,13 @@ packages: trough: 2.1.0 vfile: 6.0.1 + /unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} + dependencies: + '@types/unist': 3.0.0 + unist-util-is: 6.0.0 + dev: false + /unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} dependencies: @@ -6940,12 +6733,6 @@ packages: '@types/unist': 3.0.0 dev: false - /unist-util-position@4.0.4: - resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} - dependencies: - '@types/unist': 2.0.10 - dev: false - /unist-util-position@5.0.0: resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} dependencies: @@ -7033,13 +6820,6 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vfile-location@4.1.0: - resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} - dependencies: - '@types/unist': 2.0.10 - vfile: 5.3.7 - dev: false - /vfile-location@5.0.2: resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} dependencies: @@ -7218,11 +6998,6 @@ packages: /web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - /web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} - dev: false - /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: true @@ -7434,15 +7209,6 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} - /zod-validation-error@2.1.0(zod@3.22.4): - resolution: {integrity: sha512-VJh93e2wb4c3tWtGgTa0OF/dTt/zoPCPzXq4V11ZjxmEAFaPi/Zss1xIZdEB5RD8GD00U0/iVXgqkF77RV7pdQ==} - engines: {node: '>=18.0.0'} - peerDependencies: - zod: ^3.18.0 - dependencies: - zod: 3.22.4 - dev: false - /zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}