diff --git a/.vscode/settings.json b/.vscode/settings.json index e27ade0..5d6f385 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,20 +1,9 @@ { - "cSpell.words": [ - "antfu", - "astro", - "Attributify", - "iconify", - "katex", - "pangu", - "pjts" - ], "editor.formatOnSave": false, "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit", "source.organizeImports": "never" }, - // Enable the ESlint flat config support - "eslint.experimental.useFlatConfig": true, // The following is optional. // It's better to put under project setting `.vscode/settings.json` // to avoid conflicts with working with different eslint configs diff --git a/cspell.config.yaml b/cspell.config.yaml new file mode 100644 index 0000000..007bd34 --- /dev/null +++ b/cspell.config.yaml @@ -0,0 +1,19 @@ +version: "0.2" +ignorePaths: [] +dictionaryDefinitions: [] +dictionaries: [] +words: + - antfu + - astro + - Attributify + - iconify + - katex + - nolebase + - octicon + - pangu + - pjts + - unocss + - unplugin + - vitepress +ignoreWords: [] +import: [] diff --git a/package.json b/package.json index 202572f..f5dfe5e 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,8 @@ "devDependencies": { "@antfu/eslint-config": "^2.21.1", "@cloudflare/workers-types": "^4.20240620.0", + "@iconify-json/carbon": "^1.1.36", + "@iconify-json/icon-park-outline": "^1.1.15", "@iconify-json/octicon": "^1.1.55", "@project-trans/suggestion-box": "^0.0.9", "@project-trans/vitepress-theme-project-trans": "workspace:*", diff --git a/packages/vitepress-theme-project-trans/package.json b/packages/vitepress-theme-project-trans/package.json index 61e0296..5efce20 100644 --- a/packages/vitepress-theme-project-trans/package.json +++ b/packages/vitepress-theme-project-trans/package.json @@ -41,9 +41,10 @@ "@antfu/eslint-config": "^2.21.1", "@cloudflare/workers-types": "^4.20240620.0", "@iconify-json/octicon": "^1.1.55", - "@nolebase/vitepress-plugin-enhanced-readabilities": "2.1.2", - "@nolebase/vitepress-plugin-git-changelog": "2.1.2", - "@nolebase/vitepress-plugin-highlight-targeted-heading": "2.1.2", + "@nolebase/vitepress-plugin-enhanced-readabilities": "^2.1.2", + "@nolebase/vitepress-plugin-git-changelog": "^2.1.2", + "@nolebase/vitepress-plugin-highlight-targeted-heading": "^2.1.2", + "@nolebase/vitepress-plugin-meta": "^2.2.1", "@project-trans/suggestion-box": "^0.0.9", "@types/markdown-it": "^14.1.1", "@types/markdown-it-footnote": "^3.0.4", diff --git a/packages/vitepress-theme-project-trans/src/config.ts b/packages/vitepress-theme-project-trans/src/config.ts index 6664848..eb19b5b 100644 --- a/packages/vitepress-theme-project-trans/src/config.ts +++ b/packages/vitepress-theme-project-trans/src/config.ts @@ -2,6 +2,7 @@ import { readFileSync, statSync } from 'node:fs' import { dirname, join, resolve } from 'node:path' import { fileURLToPath } from 'node:url' import { GitChangelog } from '@nolebase/vitepress-plugin-git-changelog/vite' +import { transformHeadMeta } from '@nolebase/vitepress-plugin-meta' import { MarkdownSectionWrapper, PageHeaderTemplate, @@ -19,7 +20,7 @@ import { useThemeContext } from './utils/themeContext' // https://vitepress.dev/reference/site-config function genConfig() { const themeConfig = useThemeContext() - const { siteTitle, siteDescription, githubRepoLink, rootDir, nav } + const { siteTitle, githubRepoLink, nav } = themeConfig return defineConfig({ lang: 'zh-CN', @@ -122,143 +123,12 @@ function genConfig() { }, }, }, - transformHead: (context) => { - const head = [...context.head] || [] + transformHead: async (context) => { + let head = [...context.head] - const pageSourceFilePath = join(rootDir, context.pageData.filePath) - const pageSourceFileStat = statSync( - join(rootDir, context.pageData.filePath), - ) - - if (pageSourceFileStat.isDirectory()) { - head.push([ - 'meta', - { - property: 'og:title', - content: siteTitle, - }, - ]) - - head.push([ - 'meta', - { - name: 'description', - content: siteDescription, - }, - ]) - - return head - } - - let pageSourceFileContent = readFileSync(pageSourceFilePath, { - encoding: 'utf-8', - }) - - // remove all frontmatter - pageSourceFileContent = pageSourceFileContent.replace( - /---[\s\S]*?---/, - '', - ) - - // remove markdown heading markup but keep the text content - pageSourceFileContent = pageSourceFileContent.replace( - /^(#+)\s+(.*)/gm, - ' $2 ', - ) - // remove markdown link markup but keep the text content - pageSourceFileContent = pageSourceFileContent.replace( - /\[([^\]]+)\]\([^)]+\)/gm, - ' $1 ', - ) - // remove markdown image markup but keep the text content - pageSourceFileContent = pageSourceFileContent.replace( - /\!\[([^\]]+)\]\([^)]+\)/gm, - ' $1 ', - ) - // remove markdown reference link markup but keep the text content - pageSourceFileContent = pageSourceFileContent.replace(/\[.*]/gm, '') - // remove markdown bold markup but keep the text content - pageSourceFileContent = pageSourceFileContent.replace( - /\*\*([^*]+)\*\*/gm, - ' $1 ', - ) - pageSourceFileContent = pageSourceFileContent.replace( - /__([^*]+)__/gm, - ' $1 ', - ) - // remove markdown italic markup but keep the text content - pageSourceFileContent = pageSourceFileContent.replace( - /\*([^*]+)\*/gm, - ' $1 ', - ) - pageSourceFileContent = pageSourceFileContent.replace( - /_([^*]+)_/gm, - ' $1 ', - ) - // remove markdown code markup but keep the text content - pageSourceFileContent = pageSourceFileContent.replace( - /`([^`]+)`/gm, - ' $1 ', - ) - // remove markdown code block markup but keep the text content - pageSourceFileContent = pageSourceFileContent.replace( - /```([^`]+)```/gm, - ' $1 ', - ) - // remove markdown table header markup but keep the text content - pageSourceFileContent = pageSourceFileContent.replace(/\|:?-+:?\|/gm, '') - // remove markdown table cell markup but keep the text content - pageSourceFileContent = pageSourceFileContent.replace( - /\|([^|]+)\|/gm, - ' $1 ', - ) - - // remove specific html tags completely - const tags = [''] - tags.forEach((tag) => { - pageSourceFileContent = pageSourceFileContent.replace( - new RegExp(`<${tag}[^>]*>[\\s\\S]*?<\\/${tag}>`, 'g'), - '', - ) - }) - - // remove specific html tags but keep the text content - const tagsToKeepContent = ['u', 'Containers', 'img', 'a'] - tagsToKeepContent.forEach((tag) => { - pageSourceFileContent = pageSourceFileContent.replace( - new RegExp(`<${tag}[^>]*>([\\s\\S]*?)<\\/${tag}>`, 'g'), - ' $1 ', - ) - }) - - // remove all new lines (either \r, \n) - pageSourceFileContent = pageSourceFileContent.replace(/[\r|\n]/gm, '') - - // calculate the first 200 characters of the page content - let pageContent = pageSourceFileContent.slice(0, 200) - // trim space - pageContent = pageContent.trim() - // if pageSourceFileContent is longer than 200 characters, add ellipsis - if (pageSourceFileContent.length > 100) - pageContent += '...' - - if (context.pageData.frontmatter?.layout === 'home') { - pageContent - = context.pageData.frontmatter?.hero?.tagline ?? siteDescription - } - - head.push(['meta', { name: 'description', content: pageContent }]) - - head.push(['meta', { property: 'og:title', content: context.title }]) - - head.push(['meta', { property: 'og:description', content: pageContent }]) - - head.push(['meta', { property: 'og:title', content: context.title }]) - - head.push([ - 'meta', - { property: 'twitter:description', content: pageContent }, - ]) + const returnedHead = await transformHeadMeta()(head, context) + if (typeof returnedHead !== 'undefined') + head = returnedHead return head }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7235dbb..90ba0c4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,6 +17,12 @@ importers: '@cloudflare/workers-types': specifier: ^4.20240620.0 version: 4.20240620.0 + '@iconify-json/carbon': + specifier: ^1.1.36 + version: 1.1.36 + '@iconify-json/icon-park-outline': + specifier: ^1.1.15 + version: 1.1.15 '@iconify-json/octicon': specifier: ^1.1.55 version: 1.1.55 @@ -94,14 +100,17 @@ importers: specifier: ^1.1.55 version: 1.1.55 '@nolebase/vitepress-plugin-enhanced-readabilities': - specifier: 2.1.2 - version: 2.1.2(vitepress@1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2))(vue@3.4.30(typescript@5.5.2)) + specifier: ^2.1.2 + version: 2.2.1(@algolia/client-search@4.23.3)(@types/node@20.14.8)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2) '@nolebase/vitepress-plugin-git-changelog': - specifier: 2.1.2 - version: 2.1.2(vitepress@1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2))(vue@3.4.30(typescript@5.5.2)) + specifier: ^2.1.2 + version: 2.2.1(@algolia/client-search@4.23.3)(@types/node@20.14.8)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2) '@nolebase/vitepress-plugin-highlight-targeted-heading': - specifier: 2.1.2 - version: 2.1.2(vitepress@1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2)) + specifier: ^2.1.2 + version: 2.2.1(@algolia/client-search@4.23.3)(@types/node@20.14.8)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2) + '@nolebase/vitepress-plugin-meta': + specifier: ^2.2.1 + version: 2.2.1(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2) '@project-trans/suggestion-box': specifier: ^0.0.9 version: 0.0.9(vue@3.4.30(typescript@5.5.2)) @@ -1063,29 +1072,20 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@nolebase/ui@2.1.2': - resolution: {integrity: sha512-nyXhJXFyegRV1EzY47cXvk4jgNs4S24VQws+MiSnOaAM6MAaIlLObDwlpzsugI52bc5e1ECquQim7bSsdgbFqg==} - peerDependencies: - vitepress: ^1.2.2 - vue: ^3.4.27 - peerDependenciesMeta: - vitepress: - optional: true + '@nolebase/ui@2.2.1': + resolution: {integrity: sha512-Ro93Nl39JnwfU6XJzYEraXYzalNbHI2HSIw9049uAGR1P0IScdjZlgq95JXRqZ8OEn3bF28mkFNuemwXLoAx2A==} - '@nolebase/vitepress-plugin-enhanced-readabilities@2.1.2': - resolution: {integrity: sha512-kMN8Qy6ivh7ewCgFGuDt8y7zqEwjM29rLMDDvsb1CHOxqKXkGJ1TSpHgvmXFTYWNXS2YUBD3DJHqpIphph9svA==} - peerDependencies: - vitepress: ^1.2.2 + '@nolebase/vitepress-plugin-enhanced-readabilities@2.2.1': + resolution: {integrity: sha512-igeTSiSQqX8dyJo2nhLCOYP6cAW9HNUQxfjZHr08GRM3iU6+mYNKhNJlUM64zp2jSnDcCfEE73l8LOiTdiin1A==} - '@nolebase/vitepress-plugin-git-changelog@2.1.2': - resolution: {integrity: sha512-/xsk7UeUdliBjQWjU9AZB0fXat1Gc+2SFLg4iPG1T/tcgZyqIGzTQKI4tsJ9hHI/RgFIVqLC73wweyT/XE35Rg==} - peerDependencies: - vitepress: ^1.2.2 + '@nolebase/vitepress-plugin-git-changelog@2.2.1': + resolution: {integrity: sha512-PUaOSJyOmlhYKt3otHEuEEBsUfWL3Rvyq/+jGBAUnIsK6IgGHhw5voiwwe367IpLEENhJ9Z7eQTsMaZcO0ADXg==} - '@nolebase/vitepress-plugin-highlight-targeted-heading@2.1.2': - resolution: {integrity: sha512-lR37sxEi7mS9aShHDKJy7Yoh6hHFt3354nom0a9ld1E973+oSzQdvQXPTU/4UeVHU0vkxd3z4Em0FjxD68QF7w==} - peerDependencies: - vitepress: ^1.2.2 + '@nolebase/vitepress-plugin-highlight-targeted-heading@2.2.1': + resolution: {integrity: sha512-BFHfneikfDv54cQ62CK8l8YRffQ4m8WRunx8mppGrTqyry/jKqe/Z6XBDkiJU+g7dgUYb489pu3WO8oWqHkRew==} + + '@nolebase/vitepress-plugin-meta@2.2.1': + resolution: {integrity: sha512-bQ03oZo6D7qmUEFlJQKeruuGKJ6EDk8GebAE/KH7quBYc85g9UZK4c7mQj3jqyCYOVI5g3TzH6BqVNAKudtklA==} '@nolyfill/hasown@1.0.29': resolution: {integrity: sha512-9h/nxZqmCy26r9VXGUz+Q77vq3eINXOYgE4st3dj6DoE7tulfJueCLw5d4hfDy3S8mKg4cFXaP+KxYQ+txvMzw==} @@ -1286,6 +1286,9 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -1307,12 +1310,18 @@ packages: '@types/mdast@3.0.15': resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + '@types/mdurl@1.0.5': resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + '@types/nlcst@2.0.3': + resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} + '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} @@ -1328,6 +1337,9 @@ packages: '@types/unist@2.0.10': resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + '@types/unist@3.0.2': + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} @@ -1747,9 +1759,15 @@ packages: peerDependencies: postcss: ^8.1.0 + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + bcp-47-match@2.0.3: + resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==} + binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -1802,6 +1820,9 @@ packages: capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -1814,9 +1835,15 @@ packages: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + character-entities-legacy@1.1.4: resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + character-entities@1.2.4: resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} @@ -1872,6 +1899,9 @@ packages: colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -1926,6 +1956,9 @@ packages: css-select@5.1.0: resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + css-selector-parser@3.0.5: + resolution: {integrity: sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g==} + css-tree@2.2.1: resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} @@ -2010,13 +2043,24 @@ packages: defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + destr@2.0.3: resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} + direction@2.0.1: + resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==} + hasBin: true + doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -2343,6 +2387,9 @@ packages: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2480,6 +2527,10 @@ packages: resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} engines: {node: '>=18'} + globby@14.0.2: + resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} + engines: {node: '>=18'} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -2506,6 +2557,45 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + hast-util-from-html@2.0.1: + resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} + + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + + hast-util-has-property@3.0.0: + resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==} + + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.0.4: + resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==} + + hast-util-select@6.0.2: + resolution: {integrity: sha512-hT/SD/d/Meu+iobvgkffo1QecV8WeKWxwsNMzcTJsKw1cKTQKSR/7ArJeURLNJF9HDjp9nVoORyNNJxrvBye8Q==} + + hast-util-to-html@9.0.1: + resolution: {integrity: sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ==} + + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-to-string@3.0.0: + resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==} + + hast-util-to-text@4.0.2: + resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + hono@4.0.9: resolution: {integrity: sha512-XkFx6y6jAl08bGmoy53oGtHl8eHUixvmBulfcghrSySoJD3cW4UfFUa7JDGLOsIeJUv/a9d2pBFQUX7rzRnjvA==} engines: {node: '>=16.0.0'} @@ -2516,6 +2606,9 @@ packages: hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -2615,6 +2708,10 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} @@ -2815,6 +2912,9 @@ packages: mdast-util-from-markdown@0.8.5: resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + mdast-util-to-string@2.0.0: resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} @@ -2834,6 +2934,21 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} @@ -2940,6 +3055,9 @@ packages: engines: {node: '>= 4.4.x'} hasBin: true + nlcst-to-string@4.0.0: + resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} + node-fetch-native@1.6.4: resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} @@ -2970,6 +3088,9 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} + not@0.1.0: + resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==} + npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -3054,6 +3175,9 @@ packages: resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} engines: {node: '>= 0.10'} + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -3324,6 +3448,9 @@ packages: printable-characters@1.0.42: resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} @@ -3362,6 +3489,15 @@ packages: resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true + rehype-parse@9.0.0: + resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} + + rehype-stringify@10.0.0: + resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==} + + rehype@13.0.1: + resolution: {integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==} + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -3385,6 +3521,9 @@ packages: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + retext-stringify@4.0.0: + resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==} + reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -3520,6 +3659,9 @@ packages: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} @@ -3561,10 +3703,13 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - string-width@7.1.0: - resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3657,6 +3802,12 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + ts-api-utils@1.3.0: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} @@ -3732,9 +3883,36 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + + unist-util-remove@4.0.0: + resolution: {integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==} + unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -3812,6 +3990,15 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + vfile-location@5.0.2: + resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + vite@5.3.1: resolution: {integrity: sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -3881,6 +4068,9 @@ packages: typescript: optional: true + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -3990,6 +4180,9 @@ packages: zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + snapshots: '@aashutoshrathi/word-wrap@1.2.6': {} @@ -4867,45 +5060,189 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.16.0 - '@nolebase/ui@2.1.2(vitepress@1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2))(vue@3.4.30(typescript@5.5.2))': + '@nolebase/ui@2.2.1(@algolia/client-search@4.23.3)(@types/node@20.14.8)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2)': dependencies: '@iconify-json/octicon': 1.1.55 less: 4.2.0 - vue: 3.4.30(typescript@5.5.2) - optionalDependencies: vitepress: 1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2) + vue: 3.4.30(typescript@5.5.2) + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - lightningcss + - markdown-it-mathjax3 + - nprogress + - postcss + - qrcode + - react + - react-dom + - sass + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie - '@nolebase/vitepress-plugin-enhanced-readabilities@2.1.2(vitepress@1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2))(vue@3.4.30(typescript@5.5.2))': + '@nolebase/vitepress-plugin-enhanced-readabilities@2.2.1(@algolia/client-search@4.23.3)(@types/node@20.14.8)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2)': dependencies: '@iconify-json/carbon': 1.1.36 '@iconify-json/icon-park-outline': 1.1.15 - '@nolebase/ui': 2.1.2(vitepress@1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2))(vue@3.4.30(typescript@5.5.2)) + '@nolebase/ui': 2.2.1(@algolia/client-search@4.23.3)(@types/node@20.14.8)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2) less: 4.2.0 vitepress: 1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2) transitivePeerDependencies: - - vue + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - lightningcss + - markdown-it-mathjax3 + - nprogress + - postcss + - qrcode + - react + - react-dom + - sass + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie - '@nolebase/vitepress-plugin-git-changelog@2.1.2(vitepress@1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2))(vue@3.4.30(typescript@5.5.2))': + '@nolebase/vitepress-plugin-git-changelog@2.2.1(@algolia/client-search@4.23.3)(@types/node@20.14.8)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2)': dependencies: '@iconify-json/octicon': 1.1.55 - '@nolebase/ui': 2.1.2(vitepress@1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2))(vue@3.4.30(typescript@5.5.2)) + '@nolebase/ui': 2.2.1(@algolia/client-search@4.23.3)(@types/node@20.14.8)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2) colorette: 2.0.20 date-fns: 3.6.0 defu: 6.1.4 execa: 8.0.1 - globby: 14.0.1 + globby: 14.0.2 gray-matter: 4.0.3 less: 4.2.0 ora: 8.0.1 uncrypto: 0.1.3 vitepress: 1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2) transitivePeerDependencies: - - vue + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - lightningcss + - markdown-it-mathjax3 + - nprogress + - postcss + - qrcode + - react + - react-dom + - sass + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie - '@nolebase/vitepress-plugin-highlight-targeted-heading@2.1.2(vitepress@1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2))': + '@nolebase/vitepress-plugin-highlight-targeted-heading@2.2.1(@algolia/client-search@4.23.3)(@types/node@20.14.8)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2)': dependencies: less: 4.2.0 vitepress: 1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2) + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - lightningcss + - markdown-it-mathjax3 + - nprogress + - postcss + - qrcode + - react + - react-dom + - sass + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie + + '@nolebase/vitepress-plugin-meta@2.2.1(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2)': + dependencies: + defu: 6.1.4 + hast-util-select: 6.0.2 + hast-util-to-text: 4.0.2 + rehype: 13.0.1 + rehype-parse: 9.0.0 + retext-stringify: 4.0.0 + unified: 11.0.5 + unist-util-remove: 4.0.0 + unist-util-remove-position: 5.0.0 + vitepress: 1.2.3(@algolia/client-search@4.23.3)(@types/node@20.14.8)(less@4.2.0)(postcss@8.4.38)(search-insights@2.14.0)(typescript@5.5.2) + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - less + - lightningcss + - markdown-it-mathjax3 + - nprogress + - postcss + - qrcode + - react + - react-dom + - sass + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie '@nolyfill/hasown@1.0.29': {} @@ -5086,6 +5423,10 @@ snapshots: '@types/estree@1.0.5': {} + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.2 + '@types/json-schema@7.0.15': {} '@types/linkify-it@3.0.5': {} @@ -5110,10 +5451,18 @@ snapshots: dependencies: '@types/unist': 2.0.10 + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.2 + '@types/mdurl@1.0.5': {} '@types/mdurl@2.0.0': {} + '@types/nlcst@2.0.3': + dependencies: + '@types/unist': 2.0.10 + '@types/node-forge@1.3.11': dependencies: '@types/node': 20.14.8 @@ -5128,6 +5477,8 @@ snapshots: '@types/unist@2.0.10': {} + '@types/unist@3.0.2': {} + '@types/web-bluetooth@0.0.20': {} '@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)': @@ -5743,8 +6094,12 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 + bail@2.0.2: {} + balanced-match@1.0.2: {} + bcp-47-match@2.0.3: {} + binary-extensions@2.2.0: {} birpc@0.2.17: {} @@ -5797,6 +6152,8 @@ snapshots: transitivePeerDependencies: - supports-color + ccount@2.0.1: {} + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 @@ -5810,8 +6167,12 @@ snapshots: chalk@5.3.0: {} + character-entities-html4@2.1.0: {} + character-entities-legacy@1.1.4: {} + character-entities-legacy@3.0.0: {} + character-entities@1.2.4: {} character-reference-invalid@1.1.4: {} @@ -5868,6 +6229,8 @@ snapshots: colorette@2.0.20: {} + comma-separated-tokens@2.0.3: {} + commander@7.2.0: {} comment-parser@1.4.1: {} @@ -5916,6 +6279,8 @@ snapshots: domutils: 3.1.0 nth-check: 2.1.1 + css-selector-parser@3.0.5: {} + css-tree@2.2.1: dependencies: mdn-data: 2.0.28 @@ -6002,12 +6367,20 @@ snapshots: defu@6.1.4: {} + dequal@2.0.3: {} + destr@2.0.3: {} + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + dir-glob@3.0.1: dependencies: path-type: 4.0.0 + direction@2.0.1: {} + doctrine@3.0.0: dependencies: esutils: 2.0.3 @@ -6494,6 +6867,8 @@ snapshots: dependencies: is-extendable: 0.1.1 + extend@3.0.2: {} + fast-deep-equal@3.1.3: {} fast-diff@1.3.0: {} @@ -6645,6 +7020,15 @@ snapshots: slash: 5.1.0 unicorn-magic: 0.1.0 + globby@14.0.2: + dependencies: + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.2 + ignore: 5.3.1 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 + graceful-fs@4.2.11: {} grammy@1.21.1: @@ -6674,12 +7058,129 @@ snapshots: has-flag@4.0.0: {} + hast-util-from-html@2.0.1: + dependencies: + '@types/hast': 3.0.4 + devlop: 1.1.0 + hast-util-from-parse5: 8.0.1 + parse5: 7.1.2 + vfile: 6.0.1 + vfile-message: 4.0.2 + + hast-util-from-parse5@8.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + devlop: 1.1.0 + hastscript: 8.0.0 + property-information: 6.5.0 + vfile: 6.0.1 + vfile-location: 5.0.2 + web-namespaces: 2.0.1 + + hast-util-has-property@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-is-element@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@9.0.4: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.1 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + parse5: 7.1.2 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-select@6.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + bcp-47-match: 2.0.3 + comma-separated-tokens: 2.0.3 + css-selector-parser: 3.0.5 + devlop: 1.1.0 + direction: 2.0.1 + hast-util-has-property: 3.0.0 + hast-util-to-string: 3.0.0 + hast-util-whitespace: 3.0.0 + not: 0.1.0 + nth-check: 2.1.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + hast-util-to-html@9.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-raw: 9.0.4 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-to-parse5@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-string@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-to-text@4.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + hono@4.0.9: {} hookable@5.5.3: {} hosted-git-info@2.8.9: {} + html-void-elements@3.0.0: {} + human-signals@2.1.0: {} human-signals@5.0.0: {} @@ -6755,6 +7256,8 @@ snapshots: is-path-inside@3.0.3: {} + is-plain-obj@4.1.0: {} + is-reference@1.2.1: dependencies: '@types/estree': 1.0.5 @@ -6951,6 +7454,18 @@ snapshots: transitivePeerDependencies: - supports-color + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + mdast-util-to-string@2.0.0: {} mdn-data@2.0.28: {} @@ -6963,6 +7478,23 @@ snapshots: merge2@1.4.1: {} + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-encode@2.0.0: {} + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@2.0.0: {} + micromark@2.11.4: dependencies: debug: 4.3.4 @@ -7082,6 +7614,10 @@ snapshots: sax: 1.4.1 optional: true + nlcst-to-string@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + node-fetch-native@1.6.4: {} node-fetch@2.7.0: @@ -7103,6 +7639,8 @@ snapshots: normalize-range@0.1.2: {} + not@0.1.0: {} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 @@ -7151,7 +7689,7 @@ snapshots: is-unicode-supported: 2.0.0 log-symbols: 6.0.0 stdin-discarder: 0.2.2 - string-width: 7.1.0 + string-width: 7.2.0 strip-ansi: 7.1.0 p-limit@2.3.0: @@ -7206,6 +7744,10 @@ snapshots: parse-node-version@1.0.1: {} + parse5@7.1.2: + dependencies: + entities: 4.5.0 + path-exists@4.0.0: {} path-exists@5.0.0: {} @@ -7434,6 +7976,8 @@ snapshots: printable-characters@1.0.42: {} + property-information@6.5.0: {} + prr@1.0.1: optional: true @@ -7473,6 +8017,25 @@ snapshots: dependencies: jsesc: 0.5.0 + rehype-parse@9.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-from-html: 2.0.1 + unified: 11.0.5 + + rehype-stringify@10.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.1 + unified: 11.0.5 + + rehype@13.0.1: + dependencies: + '@types/hast': 3.0.4 + rehype-parse: 9.0.0 + rehype-stringify: 10.0.0 + unified: 11.0.5 + require-directory@2.1.1: {} resolve-from@4.0.0: {} @@ -7492,6 +8055,12 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 + retext-stringify@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unified: 11.0.5 + reusify@1.0.4: {} rfdc@1.4.1: {} @@ -7630,6 +8199,8 @@ snapshots: sourcemap-codec@1.4.8: {} + space-separated-tokens@2.0.2: {} + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 @@ -7670,12 +8241,17 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@7.1.0: + string-width@7.2.0: dependencies: emoji-regex: 10.3.0 get-east-asian-width: 1.2.0 strip-ansi: 7.1.0 + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -7755,6 +8331,10 @@ snapshots: tr46@0.0.3: {} + trim-lines@3.0.1: {} + + trough@2.2.0: {} + ts-api-utils@1.3.0(typescript@5.5.2): dependencies: typescript: 5.5.2 @@ -7841,10 +8421,59 @@ snapshots: unicorn-magic@0.1.0: {} + unified@11.0.5: + dependencies: + '@types/unist': 3.0.2 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.1 + + unist-util-find-after@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-visit: 5.0.0 + + unist-util-remove@4.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + unist-util-stringify-position@2.0.3: dependencies: '@types/unist': 2.0.10 + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + universalify@2.0.1: {} unocss@0.58.9(postcss@8.4.38)(rollup@3.29.4)(vite@5.3.1(@types/node@20.14.8)(less@4.2.0)): @@ -7979,6 +8608,22 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + vfile-location@5.0.2: + dependencies: + '@types/unist': 3.0.2 + vfile: 6.0.1 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + vite@5.3.1(@types/node@20.14.8)(less@4.2.0): dependencies: esbuild: 0.21.5 @@ -8067,6 +8712,8 @@ snapshots: optionalDependencies: typescript: 5.5.2 + web-namespaces@2.0.1: {} + webidl-conversions@3.0.1: {} webpack-sources@3.2.3: {} @@ -8174,3 +8821,5 @@ snapshots: stacktracey: 2.1.8 zod@3.23.8: {} + + zwitch@2.0.4: {}