${code}`;
+ const useVPre = resolveVPre(info) ?? vPreBlock;
diff --git a/plugins/plugin-auto-frontmatter/package.json b/plugins/plugin-auto-frontmatter/package.json
index 8424e18f..71420580 100644
--- a/plugins/plugin-auto-frontmatter/package.json
+++ b/plugins/plugin-auto-frontmatter/package.json
@@ -33,7 +33,7 @@
"ts": "tsc -b tsconfig.build.json"
},
"peerDependencies": {
- "vuepress": "2.0.0-rc.9"
+ "vuepress": "2.0.0-rc.12"
},
"dependencies": {
"@pengzhanbo/utils": "^1.1.2",
diff --git a/plugins/plugin-baidu-tongji/package.json b/plugins/plugin-baidu-tongji/package.json
index ba087f30..8fc789f0 100644
--- a/plugins/plugin-baidu-tongji/package.json
+++ b/plugins/plugin-baidu-tongji/package.json
@@ -33,7 +33,7 @@
"ts": "tsc -b tsconfig.build.json"
},
"peerDependencies": {
- "vuepress": "2.0.0-rc.9"
+ "vuepress": "2.0.0-rc.12"
},
"publishConfig": {
"access": "public"
diff --git a/plugins/plugin-blog-data/package.json b/plugins/plugin-blog-data/package.json
index f35ca98d..77687357 100644
--- a/plugins/plugin-blog-data/package.json
+++ b/plugins/plugin-blog-data/package.json
@@ -37,7 +37,7 @@
"ts": "tsc -b tsconfig.build.json"
},
"peerDependencies": {
- "vuepress": "2.0.0-rc.9"
+ "vuepress": "2.0.0-rc.12"
},
"dependencies": {
"@vue/devtools-api": "6.6.1",
diff --git a/plugins/plugin-blog-data/src/node/prepareBlogData.ts b/plugins/plugin-blog-data/src/node/prepareBlogData.ts
index 41e22c63..552851d5 100644
--- a/plugins/plugin-blog-data/src/node/prepareBlogData.ts
+++ b/plugins/plugin-blog-data/src/node/prepareBlogData.ts
@@ -22,7 +22,7 @@ if (import.meta.hot) {
}
`
-const headingRe = //, '')
+ .replace(/^]*>/, '')
.replace(/<\/pre>$/, '')
.replace(/()(<\/span>)/g, '$1$2')
}
diff --git a/plugins/plugin-md-power/src/client/composables/codeRepl.ts b/plugins/plugin-md-power/src/client/composables/codeRepl.ts
index 088e9d25..ea1ac391 100644
--- a/plugins/plugin-md-power/src/client/composables/codeRepl.ts
+++ b/plugins/plugin-md-power/src/client/composables/codeRepl.ts
@@ -4,7 +4,7 @@ import { sleep } from '../utils/sleep.js'
import { rustExecute } from './rustRepl.js'
const ignoredNodes = ['.diff.remove', '.vp-copy-ignore']
-const RE_LANGUAGE = /language-([\w]+)/
+const RE_LANGUAGE = /language-(\w+)/
const api = {
go: 'https://api.pengzhanbo.cn/repl/golang/run',
kotlin: 'https://api.pengzhanbo.cn/repl/kotlin/run',
diff --git a/plugins/plugin-md-power/src/client/utils/is.ts b/plugins/plugin-md-power/src/client/utils/is.ts
index fa23aada..032e92a5 100644
--- a/plugins/plugin-md-power/src/client/utils/is.ts
+++ b/plugins/plugin-md-power/src/client/utils/is.ts
@@ -3,7 +3,7 @@ export function checkIsMobile(ua: string): boolean {
}
export function checkIsSafari(ua: string): boolean {
- return /version\/([\w.]+) .*(mobile ?safari|safari)/i.test(ua)
+ return /version\/[\w.]+ .*(?:mobile ?safari|safari)/i.test(ua)
}
export function checkIsiPad(ua: string): boolean {
diff --git a/plugins/plugin-md-power/src/node/features/icons/writer.ts b/plugins/plugin-md-power/src/node/features/icons/writer.ts
index de389421..b6f156eb 100644
--- a/plugins/plugin-md-power/src/node/features/icons/writer.ts
+++ b/plugins/plugin-md-power/src/node/features/icons/writer.ts
@@ -29,18 +29,24 @@ export function createIconCSSWriter(app: App, opt?: boolean | IconsOptions) {
const isInstalled = isPackageExists('@iconify/json')
const write = (content: string) => app.writeTemp('internal/md-power/icons.css', content)
+ let timer: NodeJS.Timeout | null = null
const options = resolveOption(opt)
const prefix = options.prefix
const defaultContent = getDefaultContent(options)
async function writeCss() {
- let css = defaultContent
+ if (timer)
+ clearTimeout(timer)
- for (const [, { content, className }] of cache)
- css += `.${className} {\n --svg: ${content};\n}\n`
+ timer = setTimeout(async () => {
+ let css = defaultContent
- await write(css)
+ for (const [, { content, className }] of cache)
+ css += `.${className} {\n --svg: ${content};\n}\n`
+
+ await write(css)
+ }, 100)
}
function addIcon(iconName: string) {
diff --git a/plugins/plugin-md-power/src/node/features/plot.ts b/plugins/plugin-md-power/src/node/features/plot.ts
index c5341856..dc52a758 100644
--- a/plugins/plugin-md-power/src/node/features/plot.ts
+++ b/plugins/plugin-md-power/src/node/features/plot.ts
@@ -4,7 +4,7 @@
import type { PluginWithOptions } from 'markdown-it'
import type { RuleInline } from 'markdown-it/lib/parser_inline.mjs'
-const [openTag, endTag] = ['=|', '|=']
+const [openTag, endTag] = ['!!', '!!']
function createTokenizer(): RuleInline {
return (state, silent) => {
@@ -18,7 +18,7 @@ function createTokenizer(): RuleInline {
if (silent)
return false
- // =||=
+ // - !!!!
if (max - start < 5)
return false
diff --git a/plugins/plugin-netlify-functions/package.json b/plugins/plugin-netlify-functions/package.json
index 5addea92..aeb69138 100644
--- a/plugins/plugin-netlify-functions/package.json
+++ b/plugins/plugin-netlify-functions/package.json
@@ -41,22 +41,22 @@
"ts": "tsc -b tsconfig.build.json"
},
"peerDependencies": {
- "vuepress": "2.0.0-rc.9"
+ "vuepress": "2.0.0-rc.12"
},
"dependencies": {
"@iarna/toml": "^2.2.5",
- "@netlify/functions": "^2.6.3",
+ "@netlify/functions": "^2.7.0",
"chalk": "^5.3.0",
"chokidar": "^3.6.0",
"cpx2": "^7.0.1",
"dotenv": "^16.4.5",
- "esbuild": "^0.21.1",
- "execa": "^9.0.1",
- "netlify-cli": "^17.23.2",
+ "esbuild": "^0.21.4",
+ "execa": "^9.1.0",
+ "netlify-cli": "^17.23.8",
"portfinder": "^1.0.32"
},
"devDependencies": {
- "@types/node": "^20.12.11"
+ "@types/node": "^20.12.12"
},
"publishConfig": {
"access": "public"
diff --git a/plugins/plugin-notes-data/package.json b/plugins/plugin-notes-data/package.json
index b3b372b2..39e6aa59 100644
--- a/plugins/plugin-notes-data/package.json
+++ b/plugins/plugin-notes-data/package.json
@@ -37,7 +37,7 @@
"ts": "tsc -b tsconfig.build.json"
},
"peerDependencies": {
- "vuepress": "2.0.0-rc.9"
+ "vuepress": "2.0.0-rc.12"
},
"dependencies": {
"@vue/devtools-api": "6.6.1",
diff --git a/plugins/plugin-notes-data/src/shared/index.ts b/plugins/plugin-notes-data/src/shared/index.ts
index 2b7a3773..0253d665 100644
--- a/plugins/plugin-notes-data/src/shared/index.ts
+++ b/plugins/plugin-notes-data/src/shared/index.ts
@@ -1,7 +1,7 @@
export interface NotesDataOptions {
/**
* 保存所有笔记的目录
- * @default '/notes'
+ * @default '/notes/'
*/
dir: string
/**
diff --git a/plugins/plugin-page-collection/package.json b/plugins/plugin-page-collection/package.json
index 23ace107..17a176c3 100644
--- a/plugins/plugin-page-collection/package.json
+++ b/plugins/plugin-page-collection/package.json
@@ -31,10 +31,10 @@
"ts": "tsc -b tsconfig.build.json"
},
"peerDependencies": {
- "vuepress": "2.0.0-rc.9"
+ "vuepress": "2.0.0-rc.12"
},
"dependencies": {
- "@netlify/functions": "^2.6.3",
+ "@netlify/functions": "^2.7.0",
"leancloud-storage": "^4.15.2",
"vue": "^3.4.27",
"vue-router": "4.3.2",
diff --git a/plugins/plugin-search/package.json b/plugins/plugin-search/package.json
index 18acf0e4..aa793a7f 100644
--- a/plugins/plugin-search/package.json
+++ b/plugins/plugin-search/package.json
@@ -37,10 +37,10 @@
"ts": "tsc -b tsconfig.build.json"
},
"peerDependencies": {
- "vuepress": "2.0.0-rc.9"
+ "vuepress": "2.0.0-rc.12"
},
"dependencies": {
- "@vuepress/helper": "2.0.0-rc.28",
+ "@vuepress/helper": "2.0.0-rc.31",
"@vueuse/core": "^10.9.0",
"@vueuse/integrations": "^10.9.0",
"chokidar": "^3.6.0",
diff --git a/plugins/plugin-search/src/shared/index.ts b/plugins/plugin-search/src/shared/index.ts
index 688c255b..fc86bc6e 100644
--- a/plugins/plugin-search/src/shared/index.ts
+++ b/plugins/plugin-search/src/shared/index.ts
@@ -1,7 +1,7 @@
import type { LocaleConfig, Page } from 'vuepress/core'
import type { Options as MiniSearchOptions } from 'minisearch'
-export type SearchBoxLocales = LocaleConfig<{
+export interface SearchLocaleOptions {
placeholder: string
buttonText: string
resetButtonTitle: string
@@ -16,7 +16,9 @@ export type SearchBoxLocales = LocaleConfig<{
closeText: string
closeKeyAriaLabel: string
}
-}>
+}
+
+export type SearchBoxLocales = LocaleConfig
export interface SearchPluginOptions extends SearchOptions {
locales?: SearchBoxLocales
diff --git a/plugins/plugin-shikiji/README.md b/plugins/plugin-shikiji/README.md
index 4d120039..f4c751d5 100644
--- a/plugins/plugin-shikiji/README.md
+++ b/plugins/plugin-shikiji/README.md
@@ -2,6 +2,10 @@
使用 [`shiki`](https://shiki.style/) 为 Markdown 代码块启用代码高亮。
+> [!WARNING]
+> 相比于 官方的 [@vuepress/plugin-shiki](https://ecosystem.vuejs.press/zh/plugins/shiki.html),
+> 本插件做了很多各种各样的调整,你可以认为这是试验性的。
+
## Install
```sh
diff --git a/plugins/plugin-shikiji/package.json b/plugins/plugin-shikiji/package.json
index 9b47b149..4dae92e2 100644
--- a/plugins/plugin-shikiji/package.json
+++ b/plugins/plugin-shikiji/package.json
@@ -33,18 +33,19 @@
"ts": "tsc -b tsconfig.build.json"
},
"peerDependencies": {
- "vuepress": "2.0.0-rc.9"
+ "vuepress": "2.0.0-rc.12"
},
"dependencies": {
- "@shikijs/transformers": "^1.5.1",
- "@shikijs/twoslash": "^1.5.1",
+ "@shikijs/transformers": "^1.6.0",
+ "@shikijs/twoslash": "^1.6.0",
"@types/hast": "^3.0.4",
+ "@vuepress/helper": "2.0.0-rc.31",
"floating-vue": "^5.2.2",
"mdast-util-from-markdown": "^2.0.0",
"mdast-util-gfm": "^3.0.0",
"mdast-util-to-hast": "^13.1.0",
"nanoid": "^5.0.7",
- "shiki": "^1.5.1",
+ "shiki": "^1.6.0",
"twoslash": "^0.2.6",
"twoslash-vue": "^0.2.6"
},
diff --git a/plugins/plugin-shikiji/src/client/composables/copy-code.ts b/plugins/plugin-shikiji/src/client/composables/copy-code.ts
new file mode 100644
index 00000000..87067cbe
--- /dev/null
+++ b/plugins/plugin-shikiji/src/client/composables/copy-code.ts
@@ -0,0 +1,57 @@
+import { useClipboard, useEventListener } from '@vueuse/core'
+
+const SHELL_RE = /language-(shellscript|shell|bash|sh|zsh)/
+const IGNORE_NODES = ['.vp-copy-ignore', '.diff.remove']
+
+interface CopyCodeOptions {
+ selector?: string
+ duration?: number
+}
+
+export function useCopyCode({
+ selector = 'div[class*="language-"] > button.copy',
+ duration = 2000,
+}: CopyCodeOptions = {}): void {
+ if (__VUEPRESS_SSR__)
+ return
+
+ const timeoutIdMap = new WeakMap>()
+ const { copy } = useClipboard({ legacy: true })
+
+ useEventListener('click', (e) => {
+ const el = e.target as HTMLElement
+ if (el.matches(selector)) {
+ const parent = el.parentElement
+ const sibling = el.nextElementSibling
+ if (!parent || !sibling)
+ return
+
+ const isShell = SHELL_RE.test(parent.className)
+
+ // Clone the node and remove the ignored nodes
+ const clone = sibling.cloneNode(true) as HTMLElement
+ clone
+ .querySelectorAll(IGNORE_NODES.join(','))
+ .forEach(node => node.remove())
+
+ let text = clone.textContent || ''
+
+ if (isShell)
+ text = text.replace(/^ *(\$|>) /gm, '').trim()
+
+ copy(text).then(() => {
+ if (duration <= 0)
+ return
+
+ el.classList.add('copied')
+ clearTimeout(timeoutIdMap.get(el))
+ const timeoutId = setTimeout(() => {
+ el.classList.remove('copied')
+ el.blur()
+ timeoutIdMap.delete(el)
+ }, duration)
+ timeoutIdMap.set(el, timeoutId)
+ })
+ }
+ })
+}
diff --git a/plugins/plugin-shikiji/src/client/composables/twoslash.ts b/plugins/plugin-shikiji/src/client/composables/twoslash.ts
new file mode 100644
index 00000000..5b0ed04f
--- /dev/null
+++ b/plugins/plugin-shikiji/src/client/composables/twoslash.ts
@@ -0,0 +1,50 @@
+import type { App } from 'vue'
+import FloatingVue, { recomputeAllPoppers } from 'floating-vue'
+import 'floating-vue/dist/style.css'
+
+const isMobile = typeof navigator !== 'undefined' && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)
+
+export type FloatingVueConfig = Parameters<(typeof FloatingVue)['install']>[1]
+
+export function enhanceTwoslash(app: App) {
+ if (typeof window !== 'undefined') {
+ // Recompute poppers when clicking on a tab
+ window.addEventListener('click', (e) => {
+ const path = e.composedPath()
+ if (path.some((el: any) => el?.classList?.contains?.('vp-code-group') || el?.classList?.contains?.('tabs')))
+ recomputeAllPoppers()
+ }, { passive: true })
+ }
+ app.use(FloatingVue, {
+ themes: {
+ 'twoslash': {
+ $extend: 'dropdown',
+ triggers: isMobile ? ['touch'] : ['hover', 'touch'],
+ popperTriggers: isMobile ? ['touch'] : ['hover', 'touch'],
+ placement: 'bottom-start',
+ overflowPadding: 10,
+ delay: 0,
+ handleResize: false,
+ autoHide: true,
+ instantMove: true,
+ flip: false,
+ arrowPadding: 8,
+ autoBoundaryMaxSize: true,
+ },
+ 'twoslash-query': {
+ $extend: 'twoslash',
+ triggers: ['click'],
+ popperTriggers: ['click'],
+ autoHide: false,
+ },
+ 'twoslash-completion': {
+ $extend: 'twoslash-query',
+ triggers: ['click'],
+ popperTriggers: ['click'],
+ autoHide: false,
+ distance: 0,
+ arrowOverflow: true,
+ },
+ },
+ })
+}
diff --git a/plugins/plugin-shikiji/src/client/config.ts b/plugins/plugin-shikiji/src/client/config.ts
deleted file mode 100644
index fd6c70b7..00000000
--- a/plugins/plugin-shikiji/src/client/config.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import { type ClientConfig, defineClientConfig } from 'vuepress/client'
-import FloatingVue, { recomputeAllPoppers } from 'floating-vue'
-import 'floating-vue/dist/style.css'
-
-const isMobile = typeof navigator !== 'undefined' && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)
-
-export type FloatingVueConfig = Parameters<(typeof FloatingVue)['install']>[1]
-
-export default defineClientConfig({
- enhance({ app }) {
- if (typeof window !== 'undefined') {
- // Recompute poppers when clicking on a tab
- window.addEventListener('click', (e) => {
- const path = e.composedPath()
- if (path.some((el: any) => el?.classList?.contains?.('vp-code-group') || el?.classList?.contains?.('tabs')))
- recomputeAllPoppers()
- }, { passive: true })
- }
- app.use(FloatingVue, {
- themes: {
- 'twoslash': {
- $extend: 'dropdown',
- triggers: isMobile ? ['touch'] : ['hover', 'touch'],
- popperTriggers: isMobile ? ['touch'] : ['hover', 'touch'],
- placement: 'bottom-start',
- overflowPadding: 10,
- delay: 0,
- handleResize: false,
- autoHide: true,
- instantMove: true,
- flip: false,
- arrowPadding: 8,
- autoBoundaryMaxSize: true,
- },
- 'twoslash-query': {
- $extend: 'twoslash',
- triggers: ['click'],
- popperTriggers: ['click'],
- autoHide: false,
- },
- 'twoslash-completion': {
- $extend: 'twoslash-query',
- triggers: ['click'],
- popperTriggers: ['click'],
- autoHide: false,
- distance: 0,
- arrowOverflow: true,
- },
- },
- })
- },
-}) as ClientConfig
diff --git a/plugins/plugin-shikiji/src/node/copy-code-button/copyCodeButtonLocales.ts b/plugins/plugin-shikiji/src/node/copy-code-button/copyCodeButtonLocales.ts
new file mode 100644
index 00000000..222c4358
--- /dev/null
+++ b/plugins/plugin-shikiji/src/node/copy-code-button/copyCodeButtonLocales.ts
@@ -0,0 +1,106 @@
+import type { LocaleConfig } from 'vuepress'
+import type { CopyCodeLocaleOptions } from '../types.js'
+
+/** Multi language config for copy code button */
+export const copyCodeButtonLocales: LocaleConfig
+ = {
+ '/en/': {
+ title: 'Copy code',
+ copied: 'Copied',
+ },
+
+ '/zh/': {
+ title: '复制代码',
+ copied: '已复制',
+ },
+
+ '/zh-tw/': {
+ title: '複製代碼',
+ copied: '已複製',
+ },
+
+ '/de/': {
+ title: 'Kopiere den Code.',
+ copied: 'Kopiert',
+ },
+
+ '/de-at/': {
+ title: 'Kopiere den Code.',
+ copied: 'Kopierter',
+ },
+
+ '/vi/': {
+ title: 'Sao chép code',
+ copied: 'Đã sao chép',
+ },
+
+ '/uk/': {
+ title: 'Скопіюйте код',
+ copied: 'Скопійовано',
+ },
+
+ '/ru/': {
+ title: 'Скопировать код',
+ copied: 'Скопировано',
+ },
+
+ '/br/': {
+ title: 'Copiar o código',
+ copied: 'Código',
+ },
+
+ '/pl/': {
+ title: 'Skopiuj kod',
+ copied: 'Skopiowane',
+ },
+
+ '/sk/': {
+ title: 'Skopíruj kód',
+ copied: 'Skopírované',
+ },
+
+ '/fr/': {
+ title: 'Copier le code',
+ copied: 'Copié',
+ },
+
+ '/es/': {
+ title: 'Copiar código',
+ copied: 'Copiado',
+ },
+
+ '/ja/': {
+ title: 'コードをコピー',
+ copied: 'コピーしました',
+ },
+
+ '/tr/': {
+ title: 'Kodu kopyala',
+ copied: 'Kopyalandı',
+ },
+
+ '/ko/': {
+ title: '코드 복사',
+ copied: '복사됨',
+ },
+
+ '/fi/': {
+ title: 'Kopioi koodi',
+ copied: 'Kopioitu',
+ },
+
+ '/hu/': {
+ title: 'Kód másolása',
+ copied: 'Másolva',
+ },
+
+ '/id/': {
+ title: 'Salin kode',
+ copied: 'Disalin',
+ },
+
+ '/nl/': {
+ title: 'Kopieer code',
+ copied: 'Gekopieerd',
+ },
+ }
diff --git a/plugins/plugin-shikiji/src/node/copy-code-button/copyCodeButtonPlugin.ts b/plugins/plugin-shikiji/src/node/copy-code-button/copyCodeButtonPlugin.ts
new file mode 100644
index 00000000..1219ff41
--- /dev/null
+++ b/plugins/plugin-shikiji/src/node/copy-code-button/copyCodeButtonPlugin.ts
@@ -0,0 +1,28 @@
+import type { App } from 'vuepress'
+import type { Markdown, MarkdownEnv } from 'vuepress/markdown'
+import type { CopyCodeOptions } from '../types.js'
+import { createCopyCodeButtonRender } from './createCopyCodeButtonRender.js'
+
+/**
+ * This plugin should work after `preWrapperPlugin`,
+ * and if `preWrapper` is disabled, this plugin should not be called either.
+ */
+export function copyCodeButtonPlugin(md: Markdown, app: App, options?: boolean | CopyCodeOptions): void {
+ const render = createCopyCodeButtonRender(app, options)
+
+ if (!render)
+ return
+
+ const fence = md.renderer.rules.fence!
+
+ md.renderer.rules.fence = (...args) => {
+ const [, , , env] = args
+
+ const result = fence(...args)
+ const { filePathRelative } = env as MarkdownEnv
+ // resolve copy code button
+ const copyCodeButton = render(filePathRelative ?? '')
+
+ return result.replace('>${copyCodeButton} string) | null {
+ if (options === false)
+ return null
+
+ const { className = 'copy', locales: userLocales = {} }
+ = isPlainObject(options) ? options : {}
+
+ const root = getRootLangPath(app)
+ const locales: LocaleConfig = {
+ // fallback locale
+ '/': userLocales['/'] || copyCodeButtonLocales[root],
+ }
+
+ getLocalePaths(app).forEach((path) => {
+ locales[path]
+ = userLocales[path] || copyCodeButtonLocales[path === '/' ? root : path]
+ })
+
+ return (filePathRelative) => {
+ const relativePath = ensureLeadingSlash(filePathRelative ?? '')
+ const localePath = resolveLocalePath(locales, relativePath)
+
+ const { title, copied } = locales[localePath] ?? {}
+
+ return ``
+ }
+}
diff --git a/plugins/plugin-shikiji/src/node/copy-code-button/index.ts b/plugins/plugin-shikiji/src/node/copy-code-button/index.ts
new file mode 100644
index 00000000..c072fd15
--- /dev/null
+++ b/plugins/plugin-shikiji/src/node/copy-code-button/index.ts
@@ -0,0 +1,3 @@
+export * from './createCopyCodeButtonRender.js'
+export * from './copyCodeButtonLocales.js'
+export * from './copyCodeButtonPlugin.js'
diff --git a/plugins/plugin-shikiji/src/node/highlight.ts b/plugins/plugin-shikiji/src/node/highlight.ts
index 48e23454..c4979af0 100644
--- a/plugins/plugin-shikiji/src/node/highlight.ts
+++ b/plugins/plugin-shikiji/src/node/highlight.ts
@@ -9,6 +9,7 @@ import {
isSpecialLang,
} from 'shiki'
import {
+ transformerCompactLineOptions,
transformerNotationDiff,
transformerNotationErrorLevel,
transformerNotationFocus,
@@ -17,9 +18,8 @@ import {
transformerRenderWhitespace,
} from '@shikijs/transformers'
import type { HighlighterOptions, ThemeOptions } from './types.js'
-import { resolveAttrs } from './resolveAttrs.js'
-import { LRUCache } from './lru.js'
-import { defaultHoverInfoProcessor, transformerTwoslash } from './rendererTransformer.js'
+import { LRUCache, attrsToLines, resolveLanguage } from './utils/index.js'
+import { defaultHoverInfoProcessor, transformerTwoslash } from './twoslash/rendererTransformer.js'
const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz', 10)
const cache = new LRUCache(64)
@@ -85,16 +85,17 @@ export async function highlight(
},
},
{
- name: 'vuepress-shikiji:remove-escape',
+ name: 'vuepress:remove-escape',
postprocess: code => code.replace(RE_ESCAPE, '[!code'),
},
]
- return (str: string, lang: string, attrs: string) => {
- lang = lang || defaultLang
+ return (str: string, language: string, attrs: string) => {
+ attrs = attrs || ''
+ let lang = resolveLanguage(language) || defaultLang
const vPre = vueRE.test(lang) ? '' : 'v-pre'
- const key = str + lang + attrs
+ const key = str + language + attrs
if (isDev) {
const rendered = cache.get(key)
@@ -114,7 +115,8 @@ export async function highlight(
lang = defaultLang
}
}
- const { attrs: attributes, rawAttrs } = resolveAttrs(attrs || '')
+ // const { attrs: attributes, rawAttrs } = resolveAttrs(attrs || '')
+ const enabledTwoslash = attrs.includes('twoslash')
const mustaches = new Map()
const removeMustache = (s: string) => {
@@ -133,7 +135,7 @@ export async function highlight(
s = s.replaceAll(marker, match)
})
- if (attributes.twoslash && options.twoslash)
+ if (enabledTwoslash && options.twoslash)
s = s.replace(/{/g, '{')
return `${s}\n`
@@ -141,14 +143,14 @@ export async function highlight(
str = removeMustache(str).trimEnd()
- const inlineTransformers: ShikiTransformer[] = []
+ const inlineTransformers: ShikiTransformer[] = [
+ transformerCompactLineOptions(attrsToLines(attrs)),
+ ]
- if (attributes.twoslash && options.twoslash) {
+ if (enabledTwoslash && options.twoslash) {
inlineTransformers.push(transformerTwoslash({
processHoverInfo(info) {
return defaultHoverInfoProcessor(info)
- // Remove shiki_core namespace
- .replace(/_shikijs_core[\w_]*\./g, '')
},
}))
}
@@ -162,10 +164,7 @@ export async function highlight(
})
}
- if (
- (whitespace && attributes.whitespace !== false)
- || (!whitespace && attributes.whitespace)
- )
+ if (attrs.includes('whitespace') || whitespace)
inlineTransformers.push(transformerRenderWhitespace({ position: 'boundary' }))
try {
@@ -176,7 +175,7 @@ export async function highlight(
...inlineTransformers,
...userTransformers,
],
- meta: { __raw: rawAttrs },
+ meta: { __raw: attrs },
...(typeof theme === 'object' && 'light' in theme && 'dark' in theme
? { themes: theme, defaultColor: false }
: { theme }),
diff --git a/plugins/plugin-shikiji/src/node/markdown/highlightLinesPlugin.ts b/plugins/plugin-shikiji/src/node/markdown/highlightLinesPlugin.ts
new file mode 100644
index 00000000..3c30f3c0
--- /dev/null
+++ b/plugins/plugin-shikiji/src/node/markdown/highlightLinesPlugin.ts
@@ -0,0 +1,32 @@
+// Modified from https://github.com/egoist/markdown-it-highlight-lines
+// Now this plugin is only used to normalize line attrs.
+// The else part of line highlights logic is in '../highlight.ts'.
+
+import type { Markdown } from 'vuepress/markdown'
+
+const HIGHLIGHT_LINES_REGEXP = /{([\d,-]+)}/
+
+export function highlightLinesPlugin(md: Markdown): void {
+ const rawFence = md.renderer.rules.fence!
+
+ md.renderer.rules.fence = (...args) => {
+ const [tokens, idx] = args
+ const token = tokens[idx]
+
+ let lines: string | null = null
+
+ const rawInfo = token.info
+ const result = rawInfo?.match(HIGHLIGHT_LINES_REGEXP)
+
+ if (!result)
+ return rawFence(...args)
+
+ // ensure the next plugin get the correct lang
+ token.info = rawInfo.replace(HIGHLIGHT_LINES_REGEXP, '').trim()
+
+ lines = result[1]
+
+ token.info += ` ${lines}`
+ return rawFence(...args)
+ }
+}
diff --git a/plugins/plugin-shikiji/src/node/markdown/index.ts b/plugins/plugin-shikiji/src/node/markdown/index.ts
new file mode 100644
index 00000000..18c329c3
--- /dev/null
+++ b/plugins/plugin-shikiji/src/node/markdown/index.ts
@@ -0,0 +1,3 @@
+export * from './highlightLinesPlugin.js'
+export * from './lineNumberPlugin.js'
+export * from './preWrapperPlugin.js'
diff --git a/plugins/plugin-shikiji/src/node/markdown/lineNumberPlugin.ts b/plugins/plugin-shikiji/src/node/markdown/lineNumberPlugin.ts
new file mode 100644
index 00000000..718d389f
--- /dev/null
+++ b/plugins/plugin-shikiji/src/node/markdown/lineNumberPlugin.ts
@@ -0,0 +1,56 @@
+// markdown-it plugin for generating line numbers.
+// It depends on preWrapper plugin.
+
+import type { Markdown } from 'vuepress/markdown'
+import type { LineNumberOptions } from '../types.js'
+
+const LINE_NUMBERS_REGEXP = /:line-numbers\b/
+const NO_LINE_NUMBERS_REGEXP = /:no-line-numbers\b/
+
+export function lineNumberPlugin(md: Markdown, { lineNumbers = true }: LineNumberOptions = {}): void {
+ const rawFence = md.renderer.rules.fence!
+
+ md.renderer.rules.fence = (...args) => {
+ const rawCode = rawFence(...args)
+
+ const [tokens, idx] = args
+ const info = tokens[idx].info
+ const enableLineNumbers = LINE_NUMBERS_REGEXP.test(info)
+ const disableLineNumbers = NO_LINE_NUMBERS_REGEXP.test(info)
+
+ if (info.includes('twoslash'))
+ return rawCode
+
+ if (
+ (!lineNumbers && !enableLineNumbers)
+ || (lineNumbers && disableLineNumbers)
+ )
+ return rawCode
+
+ const code = rawCode.slice(
+ rawCode.indexOf(''),
+ rawCode.indexOf(''),
+ )
+
+ const lines = code.split('\n')
+
+ if (
+ typeof lineNumbers === 'number'
+ && lines.length < lineNumbers
+ && !enableLineNumbers
+ )
+ return rawCode
+
+ const lineNumbersCode = [...Array(lines.length)]
+ .map(() => ``)
+ .join('')
+
+ const lineNumbersWrapperCode = ``
+
+ const finalCode = rawCode
+ .replace(/<\/div>$/, `${lineNumbersWrapperCode}`)
+ .replace(/"(language-[^"]*?)"/, '"$1 line-numbers-mode"')
+
+ return finalCode
+ }
+}
diff --git a/plugins/plugin-shikiji/src/node/markdown/preWrapperPlugin.ts b/plugins/plugin-shikiji/src/node/markdown/preWrapperPlugin.ts
new file mode 100644
index 00000000..ecc8457c
--- /dev/null
+++ b/plugins/plugin-shikiji/src/node/markdown/preWrapperPlugin.ts
@@ -0,0 +1,32 @@
+// markdown-it plugin for generating line numbers.
+// v-pre block logic is in `../highlight.ts`
+import type { Markdown } from 'vuepress/markdown'
+import type { PreWrapperOptions } from '../types.js'
+import { resolveAttr, resolveLanguage } from '../utils/index.js'
+
+export function preWrapperPlugin(md: Markdown, { preWrapper = true }: PreWrapperOptions = {}): void {
+ const rawFence = md.renderer.rules.fence!
+
+ md.renderer.rules.fence = (...args) => {
+ const [tokens, idx, options] = args
+ const token = tokens[idx]
+
+ // get token info
+ const info = token.info ? md.utils.unescapeAll(token.info).trim() : ''
+
+ const lang = resolveLanguage(info)
+ const title = resolveAttr(info, 'title') || lang
+ const languageClass = `${options.langPrefix}${lang}`
+
+ let result = rawFence(...args)
+
+ if (!preWrapper) {
+ // remove `` attributes
+ result = result.replace(//, '')
+ result = `${result}`
+ }
+}
diff --git a/plugins/plugin-shikiji/src/node/prepareClientConfigFile.ts b/plugins/plugin-shikiji/src/node/prepareClientConfigFile.ts
new file mode 100644
index 00000000..0ffabaa4
--- /dev/null
+++ b/plugins/plugin-shikiji/src/node/prepareClientConfigFile.ts
@@ -0,0 +1,38 @@
+import { ensureEndingSlash } from '@vuepress/helper'
+import type { App } from 'vuepress'
+import { getDirname, path } from 'vuepress/utils'
+
+const __dirname = getDirname(import.meta.url)
+
+const CLIENT_FOLDER = ensureEndingSlash(
+ path.resolve(__dirname, '../client'),
+)
+
+export async function prepareClientConfigFile(app: App, {
+ copyCode,
+ twoslash,
+}: { copyCode: boolean, twoslash: boolean }): Promise {
+ return await app.writeTemp(
+ 'internal/plugin-shiki/client.js',
+ `\
+${twoslash ? `import { enhanceTwoslash } from '${CLIENT_FOLDER}composables/twoslash.js'` : ''}
+${copyCode ? `import { useCopyCode } from '${CLIENT_FOLDER}composables/copy-code.js'` : ''}
+
+export default {
+ ${twoslash
+? `enhance({ app }) {
+ enhanceTwoslash(app)
+ },`
+: ''}
+ ${copyCode
+? `setup() {
+ useCopyCode({
+ selector: __CC_SELECTOR__,
+ duration: __CC_DURATION__,
+ })
+ },`
+: ''}
+}
+`,
+ )
+}
diff --git a/plugins/plugin-shikiji/src/node/shikiPlugin.ts b/plugins/plugin-shikiji/src/node/shikiPlugin.ts
index 00eecd05..bedf633c 100644
--- a/plugins/plugin-shikiji/src/node/shikiPlugin.ts
+++ b/plugins/plugin-shikiji/src/node/shikiPlugin.ts
@@ -1,44 +1,76 @@
-import type { Plugin, PluginObject } from 'vuepress/core'
-import { getDirname, path } from 'vuepress/utils'
+import type { Plugin } from 'vuepress/core'
+import { getDirname } from 'vuepress/utils'
+import { isPlainObject } from 'vuepress/shared'
import { highlight } from './highlight.js'
-import type { HighlighterOptions } from './types.js'
+import type {
+ CopyCodeOptions,
+ HighlighterOptions,
+ LineNumberOptions,
+ PreWrapperOptions,
+} from './types.js'
+import {
+ highlightLinesPlugin,
+ lineNumberPlugin,
+ preWrapperPlugin,
+} from './markdown/index.js'
+import { copyCodeButtonPlugin } from './copy-code-button/index.js'
+import { prepareClientConfigFile } from './prepareClientConfigFile.js'
-export type ShikiPluginOptions = HighlighterOptions
+export interface ShikiPluginOptions extends HighlighterOptions, LineNumberOptions, PreWrapperOptions {
+ /**
+ * Add copy code button
+ *
+ * @default true
+ */
+ copyCode?: boolean | CopyCodeOptions
+}
const __dirname = getDirname(import.meta.url)
-export function shikiPlugin(options: ShikiPluginOptions = {}): Plugin {
- const plugin: PluginObject = {
+export function shikiPlugin({
+ preWrapper = true,
+ lineNumbers = true,
+ copyCode = true,
+ ...options
+}: ShikiPluginOptions = {}): Plugin {
+ const copyCodeOptions: CopyCodeOptions = isPlainObject(copyCode) ? copyCode : {}
+
+ return {
name: '@vuepress-plume/plugin-shikiji',
+ define: {
+ __CC_DURATION__: copyCodeOptions.duration ?? 2000,
+ __CC_SELECTOR__: `div[class*="language-"] > button.${copyCodeOptions.className || 'copy'}`,
+ },
+
+ clientConfigFile: app => prepareClientConfigFile(app, {
+ copyCode: copyCode !== false,
+ twoslash: options.twoslash ?? false,
+ }),
+
extendsMarkdown: async (md, app) => {
const theme = options.theme ?? { light: 'github-light', dark: 'github-dark' }
- const highlighter = await highlight(theme, options, app.env.isDev)
- md.options.highlight = highlighter
+ md.options.highlight = await highlight(theme, options, app.env.isDev)
+
+ md.use(highlightLinesPlugin)
+ md.use(preWrapperPlugin, {
+ preWrapper,
+ })
+ if (preWrapper) {
+ copyCodeButtonPlugin(md, app, copyCode)
+ md.use(lineNumberPlugin, { lineNumbers })
+ }
},
- }
-
- if (!options.twoslash)
- return plugin
-
- return {
-
- ...plugin,
-
- clientConfigFile: path.resolve(__dirname, '../client/config.js'),
extendsMarkdownOptions: (options) => {
- if (options.code === false)
- return
-
// 注入 floating-vue 后,需要关闭 代码块 的 v-pre 配置
- if (options.code?.vPre) {
- options.code.vPre.block = false
- }
- else {
- options.code ??= {}
- options.code.vPre = { block: false }
+ if ((options as any).vPre !== false) {
+ const vPre = isPlainObject((options as any).vPre) ? (options as any).vPre : { block: true }
+ if (vPre.block) {
+ (options as any).vPre ??= {}
+ ;(options as any).vPre.block = false
+ }
}
},
}
diff --git a/plugins/plugin-shikiji/src/node/renderer-floating-vue.ts b/plugins/plugin-shikiji/src/node/twoslash/renderer-floating-vue.ts
similarity index 100%
rename from plugins/plugin-shikiji/src/node/renderer-floating-vue.ts
rename to plugins/plugin-shikiji/src/node/twoslash/renderer-floating-vue.ts
diff --git a/plugins/plugin-shikiji/src/node/rendererTransformer.ts b/plugins/plugin-shikiji/src/node/twoslash/rendererTransformer.ts
similarity index 95%
rename from plugins/plugin-shikiji/src/node/rendererTransformer.ts
rename to plugins/plugin-shikiji/src/node/twoslash/rendererTransformer.ts
index 4e51334e..3040ff3a 100644
--- a/plugins/plugin-shikiji/src/node/rendererTransformer.ts
+++ b/plugins/plugin-shikiji/src/node/twoslash/rendererTransformer.ts
@@ -19,8 +19,6 @@ export interface VitePressPluginTwoslashOptions extends TransformerTwoslashOptio
/**
* Create a Shiki transformer for VitePress to enable twoslash integration
- *
- * Add this to `markdown.codeTransformers` in `.vitepress/config.ts`
*/
export function transformerTwoslash(options: VitePressPluginTwoslashOptions = {}): ShikiTransformer {
const {
@@ -52,7 +50,7 @@ export function transformerTwoslash(options: VitePressPluginTwoslashOptions = {}
return {
...twoslash,
- name: '@shikijs/vuepress-twoslash',
+ name: '@shiki/vuepress-twoslash',
preprocess(code, options) {
const cleanup = options.transformers?.find(i => i.name === 'vuepress:clean-up')
if (cleanup)
diff --git a/plugins/plugin-shikiji/src/node/types.ts b/plugins/plugin-shikiji/src/node/types.ts
index 8120c080..4950d5c2 100644
--- a/plugins/plugin-shikiji/src/node/types.ts
+++ b/plugins/plugin-shikiji/src/node/types.ts
@@ -5,6 +5,7 @@ import type {
ShikiTransformer,
ThemeRegistration,
} from 'shiki'
+import type { LocaleConfig } from 'vuepress/shared'
export type ThemeOptions =
| ThemeRegistration
@@ -72,3 +73,64 @@ export interface HighlighterOptions {
*/
whitespace?: boolean
}
+
+export interface LineNumberOptions {
+ /**
+ * Show line numbers in code blocks
+ * @default true
+ */
+ lineNumbers?: boolean | number
+}
+
+export interface PreWrapperOptions {
+ /**
+ * Wrap the `` tag with an extra `` or not. Do not disable it unless you
+ * understand what's it for
+ *
+ * - Required for `lineNumbers`
+ * - Required for title display of default theme
+ */
+ preWrapper?: boolean
+}
+
+/**
+ * Options for copy code button
+ *
+ * ``
+ */
+export interface CopyCodeOptions {
+ /**
+ * Class name of the button
+ *
+ * @default 'copy'
+ */
+ className?: string
+
+ /**
+ * Duration of the copied text
+ *
+ * @default 2000
+ */
+ duration?: number
+
+ /**
+ * Locale config for copy code button
+ */
+ locales?: LocaleConfig
+}
+
+export interface CopyCodeLocaleOptions {
+ /**
+ * Title of the button
+ *
+ * @default 'Copy code'
+ */
+ title?: string
+
+ /**
+ * Copied text
+ *
+ * @default 'Copied!'
+ */
+ copied?: string
+}
diff --git a/plugins/plugin-shikiji/src/node/utils/attrsToLines.ts b/plugins/plugin-shikiji/src/node/utils/attrsToLines.ts
new file mode 100644
index 00000000..af17e68a
--- /dev/null
+++ b/plugins/plugin-shikiji/src/node/utils/attrsToLines.ts
@@ -0,0 +1,37 @@
+import type { TransformerCompactLineOption } from '@shikijs/transformers'
+
+/**
+ * 2 steps:
+ *
+ * 1. convert attrs into line numbers:
+ * {4,7-13,16,23-27,40} -> [4,7,8,9,10,11,12,13,16,23,24,25,26,27,40]
+ * 2. convert line numbers into line options:
+ * [{ line: number, classes: string[] }]
+ */
+export function attrsToLines(attrs: string): TransformerCompactLineOption[] {
+ attrs = attrs.replace(/^(?:\[.*?\])?.*?([\d,-]+).*/, '$1').trim()
+
+ const result: number[] = []
+
+ if (!attrs)
+ return []
+
+ attrs
+ .split(',')
+ .map(v => v.split('-').map(v => Number.parseInt(v, 10)))
+ .forEach(([start, end]) => {
+ if (start && end) {
+ result.push(
+ ...Array.from({ length: end - start + 1 }, (_, i) => start + i),
+ )
+ }
+ else {
+ result.push(start)
+ }
+ })
+
+ return result.map(line => ({
+ line,
+ classes: ['highlighted'],
+ }))
+}
diff --git a/plugins/plugin-shikiji/src/node/utils/index.ts b/plugins/plugin-shikiji/src/node/utils/index.ts
new file mode 100644
index 00000000..9c345151
--- /dev/null
+++ b/plugins/plugin-shikiji/src/node/utils/index.ts
@@ -0,0 +1,4 @@
+export * from './attrsToLines.js'
+export * from './resolveAttr.js'
+export * from './resolveLanguage.js'
+export * from './lru.js'
diff --git a/plugins/plugin-shikiji/src/node/lru.ts b/plugins/plugin-shikiji/src/node/utils/lru.ts
similarity index 100%
rename from plugins/plugin-shikiji/src/node/lru.ts
rename to plugins/plugin-shikiji/src/node/utils/lru.ts
diff --git a/plugins/plugin-shikiji/src/node/utils/resolveAttr.ts b/plugins/plugin-shikiji/src/node/utils/resolveAttr.ts
new file mode 100644
index 00000000..f787df2c
--- /dev/null
+++ b/plugins/plugin-shikiji/src/node/utils/resolveAttr.ts
@@ -0,0 +1,9 @@
+export function resolveAttr(info: string, attr: string): string | null {
+ // try to match specified attr mark
+ const pattern = `\\b${attr}\\s*=\\s*(?['"])(?.+?)\\k(\\s|$)`
+ const regex = new RegExp(pattern, 'i')
+ const match = info.match(regex)
+
+ // return content if matched, null if not specified
+ return match?.groups?.content ?? null
+}
diff --git a/plugins/plugin-shikiji/src/node/resolveAttrs.ts b/plugins/plugin-shikiji/src/node/utils/resolveAttrs.ts
similarity index 100%
rename from plugins/plugin-shikiji/src/node/resolveAttrs.ts
rename to plugins/plugin-shikiji/src/node/utils/resolveAttrs.ts
diff --git a/plugins/plugin-shikiji/src/node/utils/resolveLanguage.ts b/plugins/plugin-shikiji/src/node/utils/resolveLanguage.ts
new file mode 100644
index 00000000..9afae671
--- /dev/null
+++ b/plugins/plugin-shikiji/src/node/utils/resolveLanguage.ts
@@ -0,0 +1,8 @@
+const VUE_RE = /-vue$/
+
+export function resolveLanguage(info: string): string {
+ return info
+ .match(/^([^ :[{]+)/)?.[1]
+ ?.replace(VUE_RE, '')
+ .toLowerCase() ?? ''
+}
diff --git a/plugins/plugin-shikiji/tsconfig.build.json b/plugins/plugin-shikiji/tsconfig.build.json
index 6bf67375..b1d1e44d 100644
--- a/plugins/plugin-shikiji/tsconfig.build.json
+++ b/plugins/plugin-shikiji/tsconfig.build.json
@@ -2,6 +2,7 @@
"extends": "../tsconfig.build.json",
"compilerOptions": {
"rootDir": "./src",
+ "types": ["vuepress/client-types"],
"outDir": "./lib"
},
"include": ["./src"]
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6b1b71fe..32114d58 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,11 +4,6 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
-patchedDependencies:
- '@vuepress/markdown@2.0.0-rc.9':
- hash: f3on36z73gmvj4jugj25dg7wje
- path: patches/@vuepress__markdown@2.0.0-rc.9.patch
-
importers:
.:
@@ -20,11 +15,11 @@ importers:
specifier: ^19.2.2
version: 19.2.2
'@pengzhanbo/eslint-config-vue':
- specifier: ^1.9.1
- version: 1.9.1(@vue/compiler-sfc@3.4.27)(eslint@9.2.0)(typescript@5.4.5)
+ specifier: ^1.10.0
+ version: 1.10.0(@vue/compiler-sfc@3.4.27)(eslint@9.3.0)(typescript@5.4.5)
'@pengzhanbo/stylelint-config':
- specifier: ^1.9.1
- version: 1.9.1(stylelint@16.5.0(typescript@5.4.5))
+ specifier: ^1.10.0
+ version: 1.10.0(stylelint@16.6.0(typescript@5.4.5))
'@types/lodash.merge':
specifier: ^4.6.9
version: 4.6.9
@@ -53,20 +48,20 @@ importers:
specifier: ^3.3.0
version: 3.3.0(@types/node@20.12.10)(typescript@5.4.5)
eslint:
- specifier: ^9.2.0
- version: 9.2.0
+ specifier: ^9.3.0
+ version: 9.3.0
husky:
specifier: ^9.0.11
version: 9.0.11
lint-staged:
- specifier: ^15.2.2
- version: 15.2.2
+ specifier: ^15.2.5
+ version: 15.2.5
rimraf:
- specifier: ^5.0.5
- version: 5.0.5
+ specifier: ^5.0.7
+ version: 5.0.7
stylelint:
- specifier: ^16.5.0
- version: 16.5.0(typescript@5.4.5)
+ specifier: ^16.6.0
+ version: 16.6.0(typescript@5.4.5)
tsconfig-vuepress:
specifier: ^4.5.0
version: 4.5.0
@@ -75,22 +70,22 @@ importers:
version: 5.4.5
vite:
specifier: ^5.2.11
- version: 5.2.11(@types/node@20.12.10)(sass@1.77.0)
+ version: 5.2.11(@types/node@20.12.10)(sass@1.77.2)
docs:
dependencies:
'@iconify/json':
- specifier: ^2.2.208
- version: 2.2.208
+ specifier: ^2.2.214
+ version: 2.2.214
'@vuepress/bundler-vite':
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@types/node@20.12.11)(jiti@1.21.0)(sass@1.77.0)(typescript@5.4.5)
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@types/node@20.12.12)(jiti@1.21.0)(sass@1.77.2)(typescript@5.4.5)
anywhere:
specifier: ^1.6.0
version: 1.6.0
chart.js:
- specifier: ^4.4.2
- version: 4.4.2
+ specifier: ^4.4.3
+ version: 4.4.3
echarts:
specifier: ^5.5.0
version: 5.5.0
@@ -98,14 +93,14 @@ importers:
specifier: ^3.0.0
version: 3.0.0
mermaid:
- specifier: ^10.9.0
- version: 10.9.0
+ specifier: ^10.9.1
+ version: 10.9.1
vue:
specifier: ^3.4.27
version: 3.4.27(typescript@5.4.5)
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.11)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.12)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
vuepress-theme-plume:
specifier: workspace:*
version: link:../theme
@@ -135,14 +130,14 @@ importers:
specifier: ^1.1.0
version: 1.1.0
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
plugins/plugin-baidu-tongji:
dependencies:
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
plugins/plugin-blog-data:
dependencies:
@@ -159,8 +154,8 @@ importers:
specifier: ^3.4.27
version: 3.4.27(typescript@5.4.5)
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
plugins/plugin-caniuse:
dependencies:
@@ -168,8 +163,8 @@ importers:
specifier: ^4.0.0
version: 4.0.0
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
devDependencies:
'@types/markdown-it':
specifier: ^14.1.1
@@ -181,8 +176,8 @@ importers:
specifier: ^3.4.27
version: 3.4.27(typescript@5.4.5)
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
plugins/plugin-copy-code:
dependencies:
@@ -193,8 +188,8 @@ importers:
specifier: ^3.4.27
version: 3.4.27(typescript@5.4.5)
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
plugins/plugin-iconify:
dependencies:
@@ -205,8 +200,8 @@ importers:
specifier: ^3.4.27
version: 3.4.27(typescript@5.4.5)
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
plugins/plugin-md-power:
dependencies:
@@ -214,8 +209,8 @@ importers:
specifier: ^2.1.23
version: 2.1.23
'@vuepress/helper':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vueuse/core':
specifier: ^10.9.0
version: 10.9.0(vue@3.4.27(typescript@5.4.5))
@@ -229,24 +224,24 @@ importers:
specifier: ^5.0.7
version: 5.0.7
shiki:
- specifier: ^1.5.1
- version: 1.5.1
+ specifier: ^1.6.0
+ version: 1.6.0
tm-grammars:
- specifier: ^1.11.1
- version: 1.11.1
+ specifier: ^1.12.4
+ version: 1.12.4
tm-themes:
- specifier: ^1.4.1
- version: 1.4.1
+ specifier: ^1.4.3
+ version: 1.4.3
vue:
specifier: ^3.4.27
version: 3.4.27(typescript@5.4.5)
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
devDependencies:
'@iconify/json':
- specifier: ^2.2.208
- version: 2.2.208
+ specifier: ^2.2.214
+ version: 2.2.214
'@types/markdown-it':
specifier: ^14.1.1
version: 14.1.1
@@ -257,8 +252,8 @@ importers:
specifier: ^2.2.5
version: 2.2.5
'@netlify/functions':
- specifier: ^2.6.3
- version: 2.6.3(@opentelemetry/api@1.8.0)
+ specifier: ^2.7.0
+ version: 2.7.0(@opentelemetry/api@1.8.0)
chalk:
specifier: ^5.3.0
version: 5.3.0
@@ -272,24 +267,24 @@ importers:
specifier: ^16.4.5
version: 16.4.5
esbuild:
- specifier: ^0.21.1
- version: 0.21.1
+ specifier: ^0.21.4
+ version: 0.21.4
execa:
- specifier: ^9.0.1
- version: 9.0.1
+ specifier: ^9.1.0
+ version: 9.1.0
netlify-cli:
- specifier: ^17.23.2
- version: 17.23.2(@types/express@4.17.21)(@types/node@20.12.11)(picomatch@2.3.1)
+ specifier: ^17.23.8
+ version: 17.23.8(@types/express@4.17.21)(@types/node@20.12.12)(picomatch@2.3.1)
portfinder:
specifier: ^1.0.32
version: 1.0.32
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.11)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.12)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
devDependencies:
'@types/node':
- specifier: ^20.12.11
- version: 20.12.11
+ specifier: ^20.12.12
+ version: 20.12.12
plugins/plugin-notes-data:
dependencies:
@@ -306,20 +301,20 @@ importers:
specifier: ^3.4.27
version: 3.4.27(typescript@5.4.5)
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
plugins/plugin-search:
dependencies:
'@vuepress/helper':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vueuse/core':
specifier: ^10.9.0
version: 10.9.0(vue@3.4.27(typescript@5.4.5))
'@vueuse/integrations':
specifier: ^10.9.0
- version: 10.9.0(focus-trap@7.5.4)(jwt-decode@3.1.2)(vue@3.4.27(typescript@5.4.5))
+ version: 10.9.0(focus-trap@7.5.4)(jwt-decode@4.0.0)(vue@3.4.27(typescript@5.4.5))
chokidar:
specifier: ^3.6.0
version: 3.6.0
@@ -339,20 +334,23 @@ importers:
specifier: ^3.4.27
version: 3.4.27(typescript@5.4.5)
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
plugins/plugin-shikiji:
dependencies:
'@shikijs/transformers':
- specifier: ^1.5.1
- version: 1.5.1
+ specifier: ^1.6.0
+ version: 1.6.0
'@shikijs/twoslash':
- specifier: ^1.5.1
- version: 1.5.1(typescript@5.4.5)
+ specifier: ^1.6.0
+ version: 1.6.0(typescript@5.4.5)
'@types/hast':
specifier: ^3.0.4
version: 3.0.4
+ '@vuepress/helper':
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
floating-vue:
specifier: ^5.2.2
version: 5.2.2(vue@3.4.27(typescript@5.4.5))
@@ -369,8 +367,8 @@ importers:
specifier: ^5.0.7
version: 5.0.7
shiki:
- specifier: ^1.5.1
- version: 1.5.1
+ specifier: ^1.6.0
+ version: 1.6.0
twoslash:
specifier: ^0.2.6
version: 0.2.6(typescript@5.4.5)
@@ -378,8 +376,8 @@ importers:
specifier: ^0.2.6
version: 0.2.6(typescript@5.4.5)
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
theme:
dependencies:
@@ -414,53 +412,44 @@ importers:
specifier: workspace:*
version: link:../plugins/plugin-shikiji
'@vuepress/helper':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vuepress/plugin-active-header-links':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vuepress/plugin-comment':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
- '@vuepress/plugin-container':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vuepress/plugin-docsearch':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(@algolia/client-search@4.20.0)(search-insights@2.7.0)(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
- '@vuepress/plugin-external-link-icon':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(@algolia/client-search@4.20.0)(search-insights@2.7.0)(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vuepress/plugin-git':
- specifier: 2.0.0-rc.22
- version: 2.0.0-rc.22(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ '@vuepress/plugin-markdown-container':
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vuepress/plugin-medium-zoom':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vuepress/plugin-nprogress':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
- '@vuepress/plugin-palette':
- specifier: 2.0.0-rc.21
- version: 2.0.0-rc.21(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vuepress/plugin-reading-time':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vuepress/plugin-seo':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vuepress/plugin-sitemap':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vuepress/plugin-theme-data':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
- '@vuepress/plugin-toc':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vuepress/plugin-watermark':
- specifier: 2.0.0-rc.28
- version: 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: 2.0.0-rc.31
+ version: 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vueuse/core':
specifier: ^10.9.0
version: 10.9.0(vue@3.4.27(typescript@5.4.5))
@@ -486,11 +475,11 @@ importers:
specifier: ^4.3.2
version: 4.3.2(vue@3.4.27(typescript@5.4.5))
vuepress:
- specifier: 2.0.0-rc.9
- version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ specifier: 2.0.0-rc.12
+ version: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
vuepress-plugin-md-enhance:
- specifier: ^2.0.0-rc.39
- version: 2.0.0-rc.39(chart.js@4.4.2)(echarts@5.5.0)(flowchart.ts@3.0.0)(katex@0.16.10)(markdown-it@14.1.0)(mermaid@10.9.0)(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ specifier: ^2.0.0-rc.44
+ version: 2.0.0-rc.44(chart.js@4.4.3)(echarts@5.5.0)(flowchart.ts@3.0.0)(katex@0.16.10)(markdown-it@14.1.0)(mermaid@10.9.1)(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
vuepress-plugin-md-power:
specifier: workspace:*
version: link:../plugins/plugin-md-power
@@ -520,9 +509,6 @@ packages:
peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6'
- peerDependenciesMeta:
- '@algolia/client-search':
- optional: true
'@algolia/cache-browser-local-storage@4.20.0':
resolution: {integrity: sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==}
@@ -569,12 +555,15 @@ packages:
'@antfu/install-pkg@0.1.1':
resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==}
- '@antfu/install-pkg@0.3.2':
- resolution: {integrity: sha512-FFYqME8+UHlPnRlX/vn+8cTD4Wo/nG/lzRxpABs3XANBmdJdNImVz3QvjNAE/W3PSCNbG387FOz8o5WelnWOlg==}
+ '@antfu/install-pkg@0.3.3':
+ resolution: {integrity: sha512-nHHsk3NXQ6xkCfiRRC8Nfrg8pU5kkr3P3Y9s9dKqiuRmBD0Yap7fymNDjGFKeWhZQHqqbCS5CfeMy9wtExM24w==}
'@antfu/utils@0.7.7':
resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==}
+ '@antfu/utils@0.7.8':
+ resolution: {integrity: sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==}
+
'@babel/code-frame@7.22.13':
resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==}
engines: {node: '>=6.9.0'}
@@ -583,10 +572,18 @@ packages:
resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-string-parser@7.24.1':
+ resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-identifier@7.22.20':
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-validator-identifier@7.24.5':
+ resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==}
+ engines: {node: '>=6.9.0'}
+
'@babel/highlight@7.22.20':
resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==}
engines: {node: '>=6.9.0'}
@@ -604,6 +601,10 @@ packages:
resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==}
engines: {node: '>=6.9.0'}
+ '@babel/types@7.24.5':
+ resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==}
+ engines: {node: '>=6.9.0'}
+
'@braintree/sanitize-url@6.0.4':
resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==}
@@ -616,11 +617,11 @@ packages:
'@bugsnag/cuid@3.0.0':
resolution: {integrity: sha512-LOt8aaBI+KvOQGneBtpuCz3YqzyEAehd1f3nC5yr9TIYW1+IzYKa2xWS4EiMz5pPOnRPHkyyS5t/wmSmN51Gjg==}
- '@bugsnag/js@7.22.7':
- resolution: {integrity: sha512-Qq8l06rSDTZtxgNIDpTeXHrin9C30INNbPfnR2CNcEsCmfqyVQb4USPEuRb0xg5wiaLKU9r4IAatMqiCgdzG6A==}
+ '@bugsnag/js@7.23.0':
+ resolution: {integrity: sha512-gnCpcv/v6p3CtbwwDuAjVYPPNq4NMVj4hp70MiB3OGJ+LmIS66CwElDiyvRMA8Ar6OzCF4joTeaNG5bD9cM41w==}
- '@bugsnag/node@7.22.7':
- resolution: {integrity: sha512-Ud8vpX9UkGxoWAk7OigyR7w1eycbsE5uv5KZx0aWiqDPXylvICd42V5ZiWstpkdm9IVFo9AQ4+gmerHPe4Lwrg==}
+ '@bugsnag/node@7.23.0':
+ resolution: {integrity: sha512-eXA8/h+J2booEMlKsuRl1NAszebwm4KZ9zxCSg/xN4sw5boXia7kMifLf8QTqk+UBtIhNKBsyQQKHXbawKyE6Q==}
'@bugsnag/safe-json-stringify@6.0.0':
resolution: {integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==}
@@ -720,10 +721,27 @@ packages:
peerDependencies:
'@csstools/css-tokenizer': ^2.2.4
+ '@csstools/css-parser-algorithms@2.6.3':
+ resolution: {integrity: sha512-xI/tL2zxzEbESvnSxwFgwvy5HS00oCXxL4MLs6HUiDcYfwowsoQaABKxUElp1ARITrINzBnsECOc1q0eg2GOrA==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ '@csstools/css-tokenizer': ^2.3.1
+
'@csstools/css-tokenizer@2.2.4':
resolution: {integrity: sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==}
engines: {node: ^14 || ^16 || >=18}
+ '@csstools/css-tokenizer@2.3.1':
+ resolution: {integrity: sha512-iMNHTyxLbBlWIfGtabT157LH9DUx9X8+Y3oymFEuMj8HNc+rpE3dPFGFgHjpKfjeFDjLjYIAIhXPGvS2lKxL9g==}
+ engines: {node: ^14 || ^16 || >=18}
+
+ '@csstools/media-query-list-parser@2.1.11':
+ resolution: {integrity: sha512-uox5MVhvNHqitPP+SynrB1o8oPxPMt2JLgp5ghJOWf54WGQ5OKu47efne49r1SWqs3wRP8xSWjnO9MBKxhB1dA==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^2.6.3
+ '@csstools/css-tokenizer': ^2.3.1
+
'@csstools/media-query-list-parser@2.1.9':
resolution: {integrity: sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA==}
engines: {node: ^14 || ^16 || >=18}
@@ -731,8 +749,8 @@ packages:
'@csstools/css-parser-algorithms': ^2.6.1
'@csstools/css-tokenizer': ^2.2.4
- '@csstools/selector-specificity@3.0.3':
- resolution: {integrity: sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q==}
+ '@csstools/selector-specificity@3.1.1':
+ resolution: {integrity: sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==}
engines: {node: ^14 || ^16 || >=18}
peerDependencies:
postcss-selector-parser: ^6.0.13
@@ -767,11 +785,11 @@ packages:
search-insights:
optional: true
- '@dual-bundle/import-meta-resolve@4.0.0':
- resolution: {integrity: sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw==}
+ '@dual-bundle/import-meta-resolve@4.1.0':
+ resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==}
- '@es-joy/jsdoccomment@0.42.0':
- resolution: {integrity: sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==}
+ '@es-joy/jsdoccomment@0.43.0':
+ resolution: {integrity: sha512-Q1CnsQrytI3TlCB1IVWXWeqUIPGVEKGaE7IbVdt13Nq/3i0JESAkQQERrfiQkmlpijl+++qyqPgaS31Bvc1jRQ==}
engines: {node: '>=16'}
'@esbuild/aix-ppc64@0.19.11':
@@ -786,8 +804,14 @@ packages:
cpu: [ppc64]
os: [aix]
- '@esbuild/aix-ppc64@0.21.1':
- resolution: {integrity: sha512-O7yppwipkXvnEPjzkSXJRk2g4bS8sUx9p9oXHq9MU/U7lxUzZVsnFZMDTmeeX9bfQxrFcvOacl/ENgOh0WP9pA==}
+ '@esbuild/aix-ppc64@0.21.2':
+ resolution: {integrity: sha512-/c7hocx0pm14bHQlqUVKmxwdT/e5/KkyoY1W8F9lk/8CkE037STDDz8PXUP/LE6faj2HqchvDs9GcShxFhI78Q==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/aix-ppc64@0.21.4':
+ resolution: {integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [aix]
@@ -804,8 +828,14 @@ packages:
cpu: [arm64]
os: [android]
- '@esbuild/android-arm64@0.21.1':
- resolution: {integrity: sha512-jXhccq6es+onw7x8MxoFnm820mz7sGa9J14kLADclmiEUH4fyj+FjR6t0M93RgtlI/awHWhtF0Wgfhqgf9gDZA==}
+ '@esbuild/android-arm64@0.21.2':
+ resolution: {integrity: sha512-SGZKngoTWVUriO5bDjI4WDGsNx2VKZoXcds+ita/kVYB+8IkSCKDRDaK+5yu0b5S0eq6B3S7fpiEvpsa2ammlQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm64@0.21.4':
+ resolution: {integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
@@ -822,8 +852,14 @@ packages:
cpu: [arm]
os: [android]
- '@esbuild/android-arm@0.21.1':
- resolution: {integrity: sha512-hh3jKWikdnTtHCglDAeVO3Oyh8MaH8xZUaWMiCCvJ9/c3NtPqZq+CACOlGTxhddypXhl+8B45SeceYBfB/e8Ow==}
+ '@esbuild/android-arm@0.21.2':
+ resolution: {integrity: sha512-G1ve3b4FeyJeyCjB4MX1CiWyTaIJwT9wAYE+8+IRA53YoN/reC/Bf2GDRXAzDTnh69Fpl+1uIKg76DiB3U6vwQ==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-arm@0.21.4':
+ resolution: {integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
@@ -840,8 +876,14 @@ packages:
cpu: [x64]
os: [android]
- '@esbuild/android-x64@0.21.1':
- resolution: {integrity: sha512-NPObtlBh4jQHE01gJeucqEhdoD/4ya2owSIS8lZYS58aR0x7oZo9lB2lVFxgTANSa5MGCBeoQtr+yA9oKCGPvA==}
+ '@esbuild/android-x64@0.21.2':
+ resolution: {integrity: sha512-1wzzNoj2QtNkAYwIcWJ66UTRA80+RTQ/kuPMtEuP0X6dp5Ar23Dn566q3aV61h4EYrrgGlOgl/HdcqN/2S/2vg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/android-x64@0.21.4':
+ resolution: {integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
@@ -858,8 +900,14 @@ packages:
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-arm64@0.21.1':
- resolution: {integrity: sha512-BLT7TDzqsVlQRmJfO/FirzKlzmDpBWwmCUlyggfzUwg1cAxVxeA4O6b1XkMInlxISdfPAOunV9zXjvh5x99Heg==}
+ '@esbuild/darwin-arm64@0.21.2':
+ resolution: {integrity: sha512-ZyMkPWc5eTROcLOA10lEqdDSTc6ds6nuh3DeHgKip/XJrYjZDfnkCVSty8svWdy+SC1f77ULtVeIqymTzaB6/Q==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-arm64@0.21.4':
+ resolution: {integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
@@ -876,8 +924,14 @@ packages:
cpu: [x64]
os: [darwin]
- '@esbuild/darwin-x64@0.21.1':
- resolution: {integrity: sha512-D3h3wBQmeS/vp93O4B+SWsXB8HvRDwMyhTNhBd8yMbh5wN/2pPWRW5o/hM3EKgk9bdKd9594lMGoTCTiglQGRQ==}
+ '@esbuild/darwin-x64@0.21.2':
+ resolution: {integrity: sha512-K4ZdVq1zP9v51h/cKVna7im7G0zGTKKB6bP2yJiSmHjjOykbd8DdhrSi8V978sF69rkwrn8zCyL2t6I3ei6j9A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.21.4':
+ resolution: {integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
@@ -894,8 +948,14 @@ packages:
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-arm64@0.21.1':
- resolution: {integrity: sha512-/uVdqqpNKXIxT6TyS/oSK4XE4xWOqp6fh4B5tgAwozkyWdylcX+W4YF2v6SKsL4wCQ5h1bnaSNjWPXG/2hp8AQ==}
+ '@esbuild/freebsd-arm64@0.21.2':
+ resolution: {integrity: sha512-4kbOGdpA61CXqadD+Gb/Pw3YXamQGiz9mal/h93rFVSjr5cgMnmJd/gbfPRm+3BMifvnaOfS1gNWaIDxkE2A3A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-arm64@0.21.4':
+ resolution: {integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
@@ -912,8 +972,14 @@ packages:
cpu: [x64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.21.1':
- resolution: {integrity: sha512-paAkKN1n1jJitw+dAoR27TdCzxRl1FOEITx3h201R6NoXUojpMzgMLdkXVgCvaCSCqwYkeGLoe9UVNRDKSvQgw==}
+ '@esbuild/freebsd-x64@0.21.2':
+ resolution: {integrity: sha512-ShS+R09nuHzDBfPeMUliKZX27Wrmr8UFp93aFf/S8p+++x5BZ+D344CLKXxmY6qzgTL3mILSImPCNJOzD6+RRg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.21.4':
+ resolution: {integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
@@ -930,8 +996,14 @@ packages:
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm64@0.21.1':
- resolution: {integrity: sha512-G65d08YoH00TL7Xg4LaL3gLV21bpoAhQ+r31NUu013YB7KK0fyXIt05VbsJtpqh/6wWxoLJZOvQHYnodRrnbUQ==}
+ '@esbuild/linux-arm64@0.21.2':
+ resolution: {integrity: sha512-Hdu8BL+AmO+eCDvvT6kz/fPQhvuHL8YK4ExKZfANWsNe1kFGOHw7VJvS/FKSLFqheXmB3rTF3xFQIgUWPYsGnA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm64@0.21.4':
+ resolution: {integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
@@ -948,8 +1020,14 @@ packages:
cpu: [arm]
os: [linux]
- '@esbuild/linux-arm@0.21.1':
- resolution: {integrity: sha512-tRHnxWJnvNnDpNVnsyDhr1DIQZUfCXlHSCDohbXFqmg9W4kKR7g8LmA3kzcwbuxbRMKeit8ladnCabU5f2traA==}
+ '@esbuild/linux-arm@0.21.2':
+ resolution: {integrity: sha512-nnGXjOAv+7cM3LYRx4tJsYdgy8dGDGkAzF06oIDGppWbUkUKN9SmgQA8H0KukpU0Pjrj9XmgbWqMVSX/U7eeTA==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.21.4':
+ resolution: {integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
@@ -966,8 +1044,14 @@ packages:
cpu: [ia32]
os: [linux]
- '@esbuild/linux-ia32@0.21.1':
- resolution: {integrity: sha512-tt/54LqNNAqCz++QhxoqB9+XqdsaZOtFD/srEhHYwBd3ZUOepmR1Eeot8bS+Q7BiEvy9vvKbtpHf+r6q8hF5UA==}
+ '@esbuild/linux-ia32@0.21.2':
+ resolution: {integrity: sha512-m73BOCW2V9lcj7RtEMi+gBfHC6n3+VHpwQXP5offtQMPLDkpVolYn1YGXxOZ9hp4h3UPRKuezL7WkBsw+3EB3Q==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.21.4':
+ resolution: {integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
@@ -984,8 +1068,14 @@ packages:
cpu: [loong64]
os: [linux]
- '@esbuild/linux-loong64@0.21.1':
- resolution: {integrity: sha512-MhNalK6r0nZD0q8VzUBPwheHzXPr9wronqmZrewLfP7ui9Fv1tdPmg6e7A8lmg0ziQCziSDHxh3cyRt4YMhGnQ==}
+ '@esbuild/linux-loong64@0.21.2':
+ resolution: {integrity: sha512-84eYHwwWHq3myIY/6ikALMcnwkf6Qo7NIq++xH0x+cJuUNpdwh8mlpUtRY+JiGUc60yu7ElWBbVHGWTABTclGw==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.21.4':
+ resolution: {integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
@@ -1002,8 +1092,14 @@ packages:
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-mips64el@0.21.1':
- resolution: {integrity: sha512-YCKVY7Zen5rwZV+nZczOhFmHaeIxR4Zn3jcmNH53LbgF6IKRwmrMywqDrg4SiSNApEefkAbPSIzN39FC8VsxPg==}
+ '@esbuild/linux-mips64el@0.21.2':
+ resolution: {integrity: sha512-9siSZngT0/ZKG+AH+/agwKF29LdCxw4ODi/PiE0F52B2rtLozlDP92umf8G2GPoVV611LN4pZ+nSTckebOscUA==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.21.4':
+ resolution: {integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
@@ -1020,8 +1116,14 @@ packages:
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-ppc64@0.21.1':
- resolution: {integrity: sha512-bw7bcQ+270IOzDV4mcsKAnDtAFqKO0jVv3IgRSd8iM0ac3L8amvCrujRVt1ajBTJcpDaFhIX+lCNRKteoDSLig==}
+ '@esbuild/linux-ppc64@0.21.2':
+ resolution: {integrity: sha512-y0T4aV2CA+ic04ULya1A/8M2RDpDSK2ckgTj6jzHKFJvCq0jQg8afQQIn4EM0G8u2neyOiNHgSF9YKPfuqKOVw==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.21.4':
+ resolution: {integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
@@ -1038,8 +1140,14 @@ packages:
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-riscv64@0.21.1':
- resolution: {integrity: sha512-ARmDRNkcOGOm1AqUBSwRVDfDeD9hGYRfkudP2QdoonBz1ucWVnfBPfy7H4JPI14eYtZruRSczJxyu7SRYDVOcg==}
+ '@esbuild/linux-riscv64@0.21.2':
+ resolution: {integrity: sha512-x5ssCdXmZC86L2Li1qQPF/VaC4VP20u/Zm8jlAu9IiVOVi79YsSz6cpPDYZl1rfKSHYCJW9XBfFCo66S5gVPSA==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.21.4':
+ resolution: {integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
@@ -1056,8 +1164,14 @@ packages:
cpu: [s390x]
os: [linux]
- '@esbuild/linux-s390x@0.21.1':
- resolution: {integrity: sha512-o73TcUNMuoTZlhwFdsgr8SfQtmMV58sbgq6gQq9G1xUiYnHMTmJbwq65RzMx89l0iya69lR4bxBgtWiiOyDQZA==}
+ '@esbuild/linux-s390x@0.21.2':
+ resolution: {integrity: sha512-NP7fTpGSFWdXyvp8iAFU04uFh9ARoplFVM/m+8lTRpaYG+2ytHPZWyscSsMM6cvObSIK2KoPHXiZD4l99WaxbQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.21.4':
+ resolution: {integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
@@ -1074,8 +1188,14 @@ packages:
cpu: [x64]
os: [linux]
- '@esbuild/linux-x64@0.21.1':
- resolution: {integrity: sha512-da4/1mBJwwgJkbj4fMH7SOXq2zapgTo0LKXX1VUZ0Dxr+e8N0WbS80nSZ5+zf3lvpf8qxrkZdqkOqFfm57gXwA==}
+ '@esbuild/linux-x64@0.21.2':
+ resolution: {integrity: sha512-giZ/uOxWDKda44ZuyfKbykeXznfuVNkTgXOUOPJIjbayJV6FRpQ4zxUy9JMBPLaK9IJcdWtaoeQrYBMh3Rr4vQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.21.4':
+ resolution: {integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
@@ -1092,8 +1212,14 @@ packages:
cpu: [x64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.21.1':
- resolution: {integrity: sha512-CPWs0HTFe5woTJN5eKPvgraUoRHrCtzlYIAv9wBC+FAyagBSaf+UdZrjwYyTGnwPGkThV4OCI7XibZOnPvONVw==}
+ '@esbuild/netbsd-x64@0.21.2':
+ resolution: {integrity: sha512-IeFMfGFSQfIj1d4XU+6lkbFzMR+mFELUUVYrZ+jvWzG4NGvs6o53ReEHLHpYkjRbdEjJy2W3lTekTxrFHW7YJg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.21.4':
+ resolution: {integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
@@ -1110,8 +1236,14 @@ packages:
cpu: [x64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.21.1':
- resolution: {integrity: sha512-xxhTm5QtzNLc24R0hEkcH+zCx/o49AsdFZ0Cy5zSd/5tOj4X2g3/2AJB625NoadUuc4A8B3TenLJoYdWYOYCew==}
+ '@esbuild/openbsd-x64@0.21.2':
+ resolution: {integrity: sha512-48QhWD6WxcebNNaE4FCwgvQVUnAycuTd+BdvA/oZu+/MmbpU8pY2dMEYlYzj5uNHWIG5jvdDmFXu0naQeOWUoA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.21.4':
+ resolution: {integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
@@ -1128,8 +1260,14 @@ packages:
cpu: [x64]
os: [sunos]
- '@esbuild/sunos-x64@0.21.1':
- resolution: {integrity: sha512-CWibXszpWys1pYmbr9UiKAkX6x+Sxw8HWtw1dRESK1dLW5fFJ6rMDVw0o8MbadusvVQx1a8xuOxnHXT941Hp1A==}
+ '@esbuild/sunos-x64@0.21.2':
+ resolution: {integrity: sha512-90r3nTBLgdIgD4FCVV9+cR6Hq2Dzs319icVsln+NTmTVwffWcCqXGml8rAoocHuJ85kZK36DCteii96ba/PX8g==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/sunos-x64@0.21.4':
+ resolution: {integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
@@ -1146,8 +1284,14 @@ packages:
cpu: [arm64]
os: [win32]
- '@esbuild/win32-arm64@0.21.1':
- resolution: {integrity: sha512-jb5B4k+xkytGbGUS4T+Z89cQJ9DJ4lozGRSV+hhfmCPpfJ3880O31Q1srPCimm+V6UCbnigqD10EgDNgjvjerQ==}
+ '@esbuild/win32-arm64@0.21.2':
+ resolution: {integrity: sha512-sNndlsBT8OeE/MZDSGpRDJlWuhjuUz/dn80nH0EP4ZzDUYvMDVa7G87DVpweBrn4xdJYyXS/y4CQNrf7R2ODXg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-arm64@0.21.4':
+ resolution: {integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
@@ -1164,8 +1308,14 @@ packages:
cpu: [ia32]
os: [win32]
- '@esbuild/win32-ia32@0.21.1':
- resolution: {integrity: sha512-PgyFvjJhXqHn1uxPhyN1wZ6dIomKjiLUQh1LjFvjiV1JmnkZ/oMPrfeEAZg5R/1ftz4LZWZr02kefNIQ5SKREQ==}
+ '@esbuild/win32-ia32@0.21.2':
+ resolution: {integrity: sha512-Ti2QChGNFzWhUNNVuU4w21YkYTErsNh3h+CzvlEhzgRbwsJ7TrWQqRzW3bllLKKvTppuF3DJ3XP1GEg11AfrEQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.21.4':
+ resolution: {integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
@@ -1182,8 +1332,14 @@ packages:
cpu: [x64]
os: [win32]
- '@esbuild/win32-x64@0.21.1':
- resolution: {integrity: sha512-W9NttRZQR5ehAiqHGDnvfDaGmQOm6Fi4vSlce8mjM75x//XKuVAByohlEX6N17yZnVXxQFuh4fDRunP8ca6bfA==}
+ '@esbuild/win32-x64@0.21.2':
+ resolution: {integrity: sha512-VEfTCZicoZnZ6sGkjFPGRFFJuL2fZn2bLhsekZl1CJslflp2cJS/VoKs1jMk+3pDfsGW6CfQVUckP707HwbXeQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.21.4':
+ resolution: {integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
@@ -1198,16 +1354,16 @@ packages:
resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/eslintrc@2.1.4':
- resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
'@eslint/eslintrc@3.0.2':
resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.2.0':
- resolution: {integrity: sha512-ESiIudvhoYni+MdsI8oD7skpprZ89qKocwRM2KEvhhBJ9nl5MRh7BXU5GTod7Mdygq+AUl+QzId6iWJKR/wABA==}
+ '@eslint/eslintrc@3.1.0':
+ resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/js@9.3.0':
+ resolution: {integrity: sha512-niBqk8iwv96+yuTwjM6bWg8ovzAPF9qkICsGtcoa5/dmqcEMfdwNAX7+/OHcJHc7wj7XqPxH98oAHytFYlw6Sw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@fastify/accept-negotiator@1.1.0':
@@ -1217,20 +1373,20 @@ packages:
'@fastify/ajv-compiler@3.5.0':
resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==}
- '@fastify/deepmerge@1.3.0':
- resolution: {integrity: sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==}
-
- '@fastify/error@3.2.0':
- resolution: {integrity: sha512-KAfcLa+CnknwVi5fWogrLXgidLic+GXnLjijXdpl8pvkvbXU5BGa37iZO9FGvsh9ZL4y+oFi5cbHBm5UOG+dmQ==}
+ '@fastify/error@3.4.1':
+ resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==}
'@fastify/fast-json-stringify-compiler@4.3.0':
resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==}
+ '@fastify/merge-json-schemas@0.1.1':
+ resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==}
+
'@fastify/send@2.1.0':
resolution: {integrity: sha512-yNYiY6sDkexoJR0D8IDy3aRP3+L4wdqCpvx5WP+VtEU58sn7USmKynBzDQex5X42Zzvw2gNzzYgP90UfWShLFA==}
- '@fastify/static@6.12.0':
- resolution: {integrity: sha512-KK1B84E6QD/FcQWxDI2aiUCwHxMJBI1KeCUzm1BwYpPY1b742+jeKruGHP2uOluuM6OkBPI8CIANrXcCRtC2oQ==}
+ '@fastify/static@7.0.4':
+ resolution: {integrity: sha512-p2uKtaf8BMOZWLs6wu+Ihg7bWNBdjNgCwDza4MJtTqg+5ovKmcbgbR9Xs5/smZ1YISfzKOCNYmZV8LaCj+eJ1Q==}
'@floating-ui/core@1.6.0':
resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==}
@@ -1256,8 +1412,8 @@ packages:
'@humanwhocodes/object-schema@2.0.3':
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
- '@humanwhocodes/retry@0.2.3':
- resolution: {integrity: sha512-X38nUbachlb01YMlvPFojKoiXq+LzZvuSce70KPMPdeM1Rj03k4dR7lDslhbqXn3Ang4EU3+EAmwEAsbrjHW3g==}
+ '@humanwhocodes/retry@0.3.0':
+ resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==}
engines: {node: '>=18.18'}
'@hutson/parse-repository-url@3.0.2':
@@ -1271,8 +1427,8 @@ packages:
'@iarna/toml@2.2.5':
resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==}
- '@iconify/json@2.2.208':
- resolution: {integrity: sha512-xGJnQ/bYWWFrnPs/qNCSq9CYHXOBINpV3ctuy0zUucKejdNKnpAwVIzuyDJPt0McvQ6XfdU0rxkzH3rHVF43Vg==}
+ '@iconify/json@2.2.214':
+ resolution: {integrity: sha512-EVdAczIPBz1gcXVSHrEe0vBl6x4lcG7Dw95tO0o/h2SPTXKigEvV1cufe8yFFNuBHKqv/n1XTwqCZX0ontKTtw==}
'@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
@@ -1330,40 +1486,40 @@ packages:
resolution: {integrity: sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==}
hasBin: true
- '@mdit-vue/plugin-component@2.0.0':
- resolution: {integrity: sha512-cTRxlocav/+mfgDcp0P2z/gWuWBez+iNuN4D+b74LpX4AR6UAx2ZvWtCrUZ8VXrO4eCt1/G0YC/Af7mpIb3aoQ==}
+ '@mdit-vue/plugin-component@2.1.3':
+ resolution: {integrity: sha512-9AG17beCgpEw/4ldo/M6Y/1Rh4E1bqMmr/rCkWKmCAxy9tJz3lzY7HQJanyHMJufwsb3WL5Lp7Om/aPcQTZ9SA==}
- '@mdit-vue/plugin-frontmatter@2.0.0':
- resolution: {integrity: sha512-/LrT6E60QI4XV4mqx3J87hqYXlR7ZyMvndmftR2RGz7cRAwa/xL+kyFLlgrMxkBIKitOShKa3LS/9Ov9b0fU+g==}
+ '@mdit-vue/plugin-frontmatter@2.1.3':
+ resolution: {integrity: sha512-KxsSCUVBEmn6sJcchSTiI5v9bWaoRxe68RBYRDGcSEY1GTnfQ5gQPMIsM48P4q1luLEIWurVGGrRu7u93//LDQ==}
- '@mdit-vue/plugin-headers@2.0.0':
- resolution: {integrity: sha512-ITMMPCnLEYHHgj3XEUL2l75jsNn8guxNqr26YrMSi1f5zcgq4XVy1LIvfwvJ1puqM6Cc5v4BHk3oAyorAi7l1A==}
+ '@mdit-vue/plugin-headers@2.1.3':
+ resolution: {integrity: sha512-AcL7a7LHQR3ISINhfjGJNE/bHyM0dcl6MYm1Sr//zF7ZgokPGwD/HhD7TzwmrKA9YNYCcO9P3QmF/RN9XyA6CA==}
- '@mdit-vue/plugin-sfc@2.0.0':
- resolution: {integrity: sha512-OXrMXOyk0iwdIou2jRoIHIbjskwghkO14C9/OjgVHXSSX+iM/WQ4l4yi1aWmNlbQNjtP8IXcVAyJB9K0DFYmLg==}
+ '@mdit-vue/plugin-sfc@2.1.3':
+ resolution: {integrity: sha512-Ezl0dNvQNS639Yl4siXm+cnWtQvlqHrg+u+lnau/OHpj9Xh3LVap/BSQVugKIV37eR13jXXYf3VaAOP1fXPN+w==}
- '@mdit-vue/plugin-title@2.0.0':
- resolution: {integrity: sha512-eqBoETPVkMXNLvwFshz/A2+Cz81VB5HEkXDm0tt6RBW/rTvnoWmGJ1Z+mvcjR5ck5W4nYdIyT68oHxX2JI2M4g==}
+ '@mdit-vue/plugin-title@2.1.3':
+ resolution: {integrity: sha512-XWVOQoZqczoN97xCDrnQicmXKoqwOjIymIm9HQnRXhHnYKOgJPW1CxSGhkcOGzvDU1v0mD/adojVyyj/s6ggWw==}
- '@mdit-vue/plugin-toc@2.0.0':
- resolution: {integrity: sha512-PKQ8sZna3D5chTnt2lxL+ddpyXd++6Nyc0l8VXCeDgStlySQwiP9jaLeeC88oqY4BtRu4cAmILmxDrvuX0Rrdg==}
+ '@mdit-vue/plugin-toc@2.1.3':
+ resolution: {integrity: sha512-41Q+iXpLHZt0zJdApVwoVt7WF6za/xUjtjEPf90Z3KLzQO01TXsv48Xp9BsrFHPcPcm8tiZ0+O1/ICJO80V/MQ==}
- '@mdit-vue/shared@2.0.0':
- resolution: {integrity: sha512-PdxpQpbyTazeo2JT87qms6RPZIzyJd+gwuB+1jSwLDI7+0u5g79y2XgTAbZromSVgY2f3UU5HWdwaLbV9w4uOw==}
+ '@mdit-vue/shared@2.1.3':
+ resolution: {integrity: sha512-27YI8b0VVZsAlNwaWoaOCWbr4eL8B04HxiYk/y2ktblO/nMcOEOLt4p0RjuobvdyUyjHvGOS09RKhq7qHm1CHQ==}
- '@mdit-vue/types@2.0.0':
- resolution: {integrity: sha512-1BeEB+DbtmDMUAfvbNUj5Hso8cSl2sBVK2iTyOMAqhfDVLdh+/9+D0JmQHaCeUk/vuJoMhOwbweZvh55wHxm4w==}
+ '@mdit-vue/types@2.1.0':
+ resolution: {integrity: sha512-TMBB/BQWVvwtpBdWD75rkZx4ZphQ6MN0O4QB2Bc0oI5PC2uE57QerhNxdRZ7cvBHE2iY2C+BUNUziCfJbjIRRA==}
- '@mdit/plugin-alert@0.10.1':
- resolution: {integrity: sha512-Qv6OGDvpWnhjQKaM7m+OGPbNhZL6dZceSdf4eEa2ljpYgnmIxCpcAjWzbbKD8iajIiZLgCaLkgNzfo7fc3u8Pg==}
+ '@mdit/plugin-alert@0.12.0':
+ resolution: {integrity: sha512-4OyGK1PZrJbmEF/kS6GKmmG1nlN5h/CyIPZV8lRgnlWLFB37JiEz3EHusPAXAoMtw7VGNFaIcl7OT/I5yyz1JQ==}
peerDependencies:
markdown-it: ^14.1.0
peerDependenciesMeta:
markdown-it:
optional: true
- '@mdit/plugin-align@0.10.1':
- resolution: {integrity: sha512-gmNt2cuDJkkgomJWNkkDRiVhvXK6kEAnJGt7YwjouzqU57r9xl5wIWluj4bPg7Nmfs7CvxjERmHc6PVgVe6mIg==}
+ '@mdit/plugin-align@0.12.0':
+ resolution: {integrity: sha512-rvA+xzaVrlsr44s7XD/xadO3lF0QYWCbeSrOS2dhOroNCIOy4RotVP/1tQPr84eqm4oXcxXF0cbjFuwUgE1jYw==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1371,8 +1527,8 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-attrs@0.10.1':
- resolution: {integrity: sha512-5cgYIWH5DGbnStu8nB3kx8MCnl8Olz2JBvxUpKp4jsdJDgJz+CGix/MftR7t3fcYhGvU2C8KF4IWpcNNRaoKCw==}
+ '@mdit/plugin-attrs@0.12.0':
+ resolution: {integrity: sha512-J0MBwBq958lBtdIcEo02mUIO4ubl2YK+bY799T2SusrLTf3FZsq8+d/OiLTUtovfxaphD7F6yqo8M61AiOpq+w==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1380,8 +1536,8 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-container@0.10.1':
- resolution: {integrity: sha512-TgYiV+uvsoByXYLo6t6I5Vf2Babbh/+0NoEwYL/cTQrEa1zJm0h54APbKG9q7hBcMHpSiSi1eNpGcWbaoqvZQg==}
+ '@mdit/plugin-container@0.12.0':
+ resolution: {integrity: sha512-61bWK1ek6Rn4o12/BIKTWgGU0miB9ENcXE19H5D4DRhwG5+4+0zp2U6hRLf/mE73+mRYin7iKVzcwwEsqs+u8w==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1389,16 +1545,16 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-demo@0.10.1':
- resolution: {integrity: sha512-ZiC76VW3U0UTqCeDrAPds1O6wPgKjmStOdT+ssLmtN4wiwdxYhsMRky6+zYu8IXtg4lxQrTx0LwDVLPPKjkNnA==}
+ '@mdit/plugin-demo@0.12.0':
+ resolution: {integrity: sha512-+KDUOgcvnMtBN/uYWlhIFuWkTJexuxstq8ERy9q7vOiu8Go85qCb27h0RSToKBTmmGy+XqfU2EdJclYPWBupJQ==}
peerDependencies:
markdown-it: ^14.1.0
peerDependenciesMeta:
markdown-it:
optional: true
- '@mdit/plugin-figure@0.10.1':
- resolution: {integrity: sha512-ypMPefMk7ekiHBYb5aqqruKi7dRmBNYw2e3/AvTqV8dbNy4wYu8lXUMd78XjZaDvwh87m3OEhaCF6pvVw6Viww==}
+ '@mdit/plugin-figure@0.12.0':
+ resolution: {integrity: sha512-3nfcGI+uM0f6AqHZrEr8kSMBI6T2+fKKQXtCbvWQqQ+P3iGgf34Ay2eAtuMDcDGqyfNuR6e8aLoOeY2QWuEynA==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1406,14 +1562,14 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-footnote@0.10.1':
- resolution: {integrity: sha512-dPR3uNx3g8X6ErgmfXY2s63hIS9/giZ118if/nB8fimDH0G63BrpMYI/OKIK5tVPzhhqfvxxPGzSbOTg2z4Mqw==}
+ '@mdit/plugin-footnote@0.12.0':
+ resolution: {integrity: sha512-9B+bJdMndCPoA9De9bxRm4/fyz02PHRcttOyuyPJ3G+wCAgIN1c/7CB8ViT1YJuECUjLogJQ/rrgqh7f0LTqLQ==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
- '@mdit/plugin-img-lazyload@0.10.1':
- resolution: {integrity: sha512-4/BTaHOmL++ssyjIQGBEnGi0bF9s3AdGW1TnL97/MPNahqKrTJiGDw9trjpThjQTFdQ7HYW3enmJb/w4j/r0bA==}
+ '@mdit/plugin-img-lazyload@0.12.0':
+ resolution: {integrity: sha512-6R42ieXzwkB5BKKZi+ZefqeP/fBG5qo7Sqtl72ewSVqEQ30bgxpk6nkrPI2orRob4tb6z0F/c+R8h6PW5MkTOw==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1421,8 +1577,8 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-img-mark@0.10.1':
- resolution: {integrity: sha512-ZeLg2/xG9hy7teAxXIJ64cya3QyVVEitlghASneKLVZvki4W1DNkOddloPWrDn1Zf4AbjMjmv7rW74WOaVT14Q==}
+ '@mdit/plugin-img-mark@0.12.0':
+ resolution: {integrity: sha512-HkIUwlTg/xPsBi4PG+5dsMnsb7wdiJzELSCEUfdAJTg55nksonHfyV2pFpr87MML4nuZlZK9JHt+Bm2BBDSVSw==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1430,8 +1586,8 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-img-size@0.10.1':
- resolution: {integrity: sha512-ZdubSUaw1uB+Lhpy2qoFKW7Y1GWQlwNm6EH0cOQ+73ERMkxuTQwB7lWUn6gaaB5UW0afHgPf2VSUsvhowrW6eg==}
+ '@mdit/plugin-img-size@0.12.0':
+ resolution: {integrity: sha512-fCcF5gc+ba6gQ5ebrKuI8bK/gFbj8mbeN45FHmBsFDFsfTHa0Xij2v8iok0nP8YEIVj71y8XYojsqCWs6avong==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1439,16 +1595,16 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-include@0.10.1':
- resolution: {integrity: sha512-ZI84UplXnGu97yUhVDVIsvCr+iWj82/akKWVa3m6nXOfwr239PfuebO+pLRVaSAlffkjOm5uF1Hgf5tOnzLAEg==}
+ '@mdit/plugin-include@0.12.0':
+ resolution: {integrity: sha512-8pnmp7s1TjbtoBIa/YhYpEivOpeVSyhkQoQrGq1UoaEcTbXqmFwShGkAW3zUYZVFYTl74PgL/UqJnrUojegJQg==}
peerDependencies:
markdown-it: ^14.1.0
peerDependenciesMeta:
markdown-it:
optional: true
- '@mdit/plugin-katex-slim@0.10.1':
- resolution: {integrity: sha512-cUUCWlukX644y8qnKwvG2OFNIuAfw1bpuB/o+wofKnZR0W+6rxfpejutUw2avZvu7FhDbCpBYN59CE7ag3pDFg==}
+ '@mdit/plugin-katex-slim@0.12.0':
+ resolution: {integrity: sha512-s2MJGXFZT7u8IUTmy6K1rxxAdYRmGggu0m860siyUrThL112xLN9r3jmXZ83epgi4UA/gLkRDAU5vF6R2JtyjQ==}
engines: {node: '>= 18'}
peerDependencies:
katex: ^0.16.9
@@ -1459,8 +1615,8 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-mark@0.10.1':
- resolution: {integrity: sha512-TVeiEOTgJygRdvDHekCkNM8Uy2NkEq+IXoGUCmqmBhO2B18bUCoUZCj7w4jdP0aWrPPS1hE2VbRN7K8v62e2mA==}
+ '@mdit/plugin-mark@0.12.0':
+ resolution: {integrity: sha512-BDFwbV/tbgUGL8KF2ymYNLEXT2KNBLe8D0rshDrbB4Iko1U2DywACQkmaUbYBJ1VCn7/dff35at9fWrm3QjrwQ==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1468,8 +1624,8 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-mathjax-slim@0.10.1':
- resolution: {integrity: sha512-GHANdZVmNL7Vrnjrb0v4pyrMvaijuys4O+EoMz5iAhC2QQlGfl2iQ05CXvs7DLGBpx2c7XZeg05y2MP2cJK9sA==}
+ '@mdit/plugin-mathjax-slim@0.12.0':
+ resolution: {integrity: sha512-bLM+JnCTN/3XiyKb64Yhpx014VYLfHBexua4n92cUyoKR9g3waB0loF1WMlg6GdyCTc7OvrUSceNjwWj3YRogg==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1480,16 +1636,16 @@ packages:
mathjax-full:
optional: true
- '@mdit/plugin-plantuml@0.10.1':
- resolution: {integrity: sha512-yX5LEo1pCPsNWd3ErwMdO19psj+SV8edURSZFtT++kzI3irF4A70TBkRozORfcAxm5NhvcrVYOnvMrkMfDFIgg==}
+ '@mdit/plugin-plantuml@0.12.0':
+ resolution: {integrity: sha512-m1pk6PA9+kWUs8kylLqjnQ7Lex68x3c4Ato8zAh+omkhugfWzuQXfFiXRiJ9C7wkdqHoJx/E5XobP3HJnhCpoA==}
peerDependencies:
markdown-it: ^14.1.0
peerDependenciesMeta:
markdown-it:
optional: true
- '@mdit/plugin-spoiler@0.10.1':
- resolution: {integrity: sha512-yztrC45oCq03JZcan6If/lPBSBaaFTUQ+ROojEB/NldgcEBTiB5cnTvfK/tx1Kz0xDiBJNUI5wfy1IpqfQ3bDQ==}
+ '@mdit/plugin-spoiler@0.12.0':
+ resolution: {integrity: sha512-7yu+Gz000O0OxGnGYOoj77Am3WgH4GwzOvwCp7tPLexkJwTve8MyT9In/NEPFaRw8fmgXwthC0gKq4Ubh1+8DA==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1497,8 +1653,8 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-stylize@0.10.1':
- resolution: {integrity: sha512-Yi+le5Nbm4j3o/l6ULFgZHSgZd/esRhmG1+vQQha7rIp7n5d/JncPQLplms55x0/X617UJvJFO0hsRaKK07g7Q==}
+ '@mdit/plugin-stylize@0.12.0':
+ resolution: {integrity: sha512-5bzZvmjEpGTdwBax9jaDbCBhD1snEx6uTHVUG9HD/L5koKrL86+ox9E5FGeiMiD1dtxeMgL+WqBzV44nRE9ZPg==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1506,8 +1662,8 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-sub@0.10.1':
- resolution: {integrity: sha512-i2sw4Re5XqQyAR7ADuSkZrhVTF/Zqjo4QtiPEEIYxc+a0raYw+qFFGeNdOi7UAp5ukpZj2+qJuiT307ILXP53A==}
+ '@mdit/plugin-sub@0.12.0':
+ resolution: {integrity: sha512-27kKkSVkymc+2RNc5XOYkeXip5PgHZPUnHpxUvkpnairLwyHsXb8/gzr9zd5arVkip86rcdy9LIvnF7zO0dNVQ==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1515,8 +1671,8 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-sup@0.10.1':
- resolution: {integrity: sha512-t9bDhUnkAx7oE5Vpw3BPYHb29SuRxeGKWRMNxPDjF1rCN2xZJXVr90fdq8mcwNJNoWncCGJ7zobdU2IP4jLrTQ==}
+ '@mdit/plugin-sup@0.12.0':
+ resolution: {integrity: sha512-3bEDW5/y1UDVU8LVbFsqUvNcMW6orp16uCdRGYCNZ3/IeK7Qj1/9a3wfhScIoI8xRUE6M3JLv41sGBFXLHwi1w==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1524,16 +1680,16 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-tab@0.10.1':
- resolution: {integrity: sha512-irpusUqM4MT5y06z54jHMOqdb1CWCEu0ELW8KEr7R9RaazTryzeLcd/sGXLlVoA+8xRFZ0zmhFpUYAtlmc7IAg==}
+ '@mdit/plugin-tab@0.12.0':
+ resolution: {integrity: sha512-ZDTEDxHoekcFA5Al+NLizn8Nf0kj6ABkNBAc/VxbQoVQdjZNQtGY2dOPeWW0I96Rao+Aw+IpYRCLFIfb/KtExw==}
peerDependencies:
markdown-it: ^14.1.0
peerDependenciesMeta:
markdown-it:
optional: true
- '@mdit/plugin-tasklist@0.10.1':
- resolution: {integrity: sha512-yD77xIRMYlH7sZxZnk/ZxUfWhFa3v4znT3mFbXvoJtspmwy0Lgm7gVPxmttdGyIny1p+75vspsXc2XbTI9yySQ==}
+ '@mdit/plugin-tasklist@0.12.0':
+ resolution: {integrity: sha512-MPmuLJrqHYR2xI7ST9Xtw/xj+6Xoq7kUvcGuXWdMMNT11DcU1KppkR8QBHov437NFYh6aGyjrHUVeM4T5Ls8yg==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1541,8 +1697,8 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-tex@0.10.1':
- resolution: {integrity: sha512-dnuNqgDKRgs8HG5dmEH7evPYzfCDNL6l3IIDZwpsZGcoKqAMxmncIAFDGeAiQ5U3+YUfcAr+vSkElqn+DQeqcw==}
+ '@mdit/plugin-tex@0.12.0':
+ resolution: {integrity: sha512-ejeSgSeZvcI5P4hFFQ4q5pHrZBGO2fQWVGm6dZ3BhX4ldoV8LjCIzkcMMXhrhSOVjwHnqmF6xOh9EvI0jzak1w==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1550,8 +1706,8 @@ packages:
markdown-it:
optional: true
- '@mdit/plugin-uml@0.10.1':
- resolution: {integrity: sha512-Eg5ij48mxTnQ4PRMWf8SH0wQsd1WJawFHR1+etJNy+iIfLDM4LfszHrpYUyiUbPUpA5kzBsEuaAroYn1zXWiow==}
+ '@mdit/plugin-uml@0.12.0':
+ resolution: {integrity: sha512-EfVMmq0CwLJcssxhkvGS2ESenNNEMeK04j702Z9v3am1M9DdEj6zHTrHQd9tA0jNVuFY8ZlmMgDfkkG5k6Rm3Q==}
engines: {node: '>= 18'}
peerDependencies:
markdown-it: ^14.1.0
@@ -1559,10 +1715,6 @@ packages:
markdown-it:
optional: true
- '@mswjs/interceptors@0.27.2':
- resolution: {integrity: sha512-mE6PhwcoW70EX8+h+Y/4dLfHk33GFt/y5PzDJz56ktMyaVGFXMJ5BYLbUjdmGEABfE0x5GgAGyKbrbkYww2s3A==}
- engines: {node: '>=18'}
-
'@netlify/binary-info@1.0.0':
resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==}
@@ -1575,8 +1727,8 @@ packages:
engines: {node: ^14.16.0 || >=16.0.0}
hasBin: true
- '@netlify/build@29.41.2':
- resolution: {integrity: sha512-txcYS00PXfmfw9hIxc4Q5c8p4DLkaGqgX3yjGUH2y/2NXxJQxpZiZBBVYeVW5q0rwb+17trE2gQJ/xnOXo3O5Q==}
+ '@netlify/build@29.42.2':
+ resolution: {integrity: sha512-7mQ+eIlq7uEocQuMJJCK0pgQfY3ahg2vcm+GmxZel58v2RpNq7PmyI4VUvdlblmb2TYwAAnHcAmTfTPpNCgclQ==}
engines: {node: ^14.16.0 || >=16.0.0}
hasBin: true
peerDependencies:
@@ -1590,28 +1742,28 @@ packages:
resolution: {integrity: sha512-lMNdFmy2Yu3oVquSPooRDLxJ8QOsIX6X6vzA2pKz/9V2LQFJiqBukggXM+Rnqzk1regPpdJ0jK3dPGvOKaRQgg==}
engines: {node: ^14.16.0 || >=16.0.0}
- '@netlify/config@20.12.3':
- resolution: {integrity: sha512-E+oiGEm6zIvyFJ2kQC1IV5Ipiv7Ar84RuP2K+aVMSgu/raOn7ZfN9lM5TC43qboF3bDrJd6EuYDxVIAuxVkMCA==}
+ '@netlify/config@20.12.6':
+ resolution: {integrity: sha512-COJlWkpFHRPG3bltTeQ2EX2Vm+qO/BYHUYSd5SZaM8kd49b0mb2dCocw+SxKITLalp3T1TimnajEvvye//h18g==}
engines: {node: ^14.16.0 || >=16.0.0}
hasBin: true
- '@netlify/edge-bundler@12.0.0':
- resolution: {integrity: sha512-whAeq2gQxWz8Bt85XN8VJRBwhHpGlbmu7LRX4bFBgXPNWVi1a9UrQ+F51gHj9p+B01tsztVrKlxqA555Sg0dgg==}
+ '@netlify/edge-bundler@12.0.1':
+ resolution: {integrity: sha512-7Soa0Ny2mDhPHfBbdg28FJ96Kk71Q6vDJfJ3d5BLBqSh6buw+TRcDJye84wJ9LaMlff+eAN/vlMgsoumCH5L9Q==}
engines: {node: ^14.16.0 || >=16.0.0}
- '@netlify/edge-functions@2.5.1':
- resolution: {integrity: sha512-6YGlbzxPaSqc/D2LhP4T4PXrim/vRmqpO1RwQKqVod6WCWlkdtJcAd3mGoI7efrjfND8twh7TqXtL7RRCI23qA==}
+ '@netlify/edge-functions@2.8.1':
+ resolution: {integrity: sha512-BoAz/gCWHLn9DVugGViORbWFDqaqrB/JHM+9N+ahk7U6C3EwaFojnnGKCMrQ65f2YOi6Wwlue1ZZO+8mq43RZA==}
- '@netlify/framework-info@9.8.11':
- resolution: {integrity: sha512-8NuvzQQVeU36PRilWqijiIWmjy6JZcqbKooGQ4bNgH/26YNdS+tN5gOWGWVYnRHgdmBUCycyYrM5h1Srwnq3hQ==}
+ '@netlify/framework-info@9.8.12':
+ resolution: {integrity: sha512-tk7sQFEO9CW5+1jcAqObvgzmJdyBsDMnQvNgXOIlVKSlBbEfMIgyyMad+fQ4ddnaLx+MmQuroJN5G80IkqJ7+Q==}
engines: {node: ^14.14.0 || >=16.0.0}
- '@netlify/functions-utils@5.2.55':
- resolution: {integrity: sha512-4xTb/zuUT5SFpZH+RGKUV6pwrYyGS3L4emcrVi5u/nbJ/8yU8v8MdUdTGxoUhyeFw1kIp5C6vsru1fpU0ti0XA==}
+ '@netlify/functions-utils@5.2.58':
+ resolution: {integrity: sha512-Nc1rpoXKtAq095Sa0YW5aYgVYkqkXb7tW1AfXmHZTRk+zGUdYXMYSblBx+1UsCRg/wdftIGd3FuP+0TVmqHarw==}
engines: {node: ^14.16.0 || >=16.0.0}
- '@netlify/functions@2.6.3':
- resolution: {integrity: sha512-7Z9gWyAuPI2NnBOvpYPD66KIWOgNznLz9BkyZ0c7qeRE6p23UCMVZ2VsrJpjPDgoJtKplGSBzASl6fQD7iEeWw==}
+ '@netlify/functions@2.7.0':
+ resolution: {integrity: sha512-4pXC/fuj3eGQ86wbgPiM4zY8+AsNrdz6vcv6FEdUJnZW+LqF8IWjQcY3S0d1hLeLKODYOqq4CkrzGyCpce63Nw==}
engines: {node: '>=14.0.0'}
'@netlify/git-utils@5.1.1':
@@ -1701,26 +1853,35 @@ packages:
resolution: {integrity: sha512-SMRzNwaG6/2MTIBe/RThLQRm3kNpiwb90te+iDJgMLLfTdVA33P/oiinTypBMyQU4Cm3IvQm7P5zD2mXZacSsg==}
engines: {node: '>=14'}
- '@netlify/opentelemetry-utils@1.2.0':
- resolution: {integrity: sha512-sdeYmvUHXzs7bfoh7f32WVh2wLMOdF3d2Xdcg2FG1lCySXOJ4V6F3n8vPoPXwO7S5iSzJbfO2RPJsTtZCmbIcg==}
+ '@netlify/opentelemetry-utils@1.2.1':
+ resolution: {integrity: sha512-A6nQBvUn/avHQopLOOjX8rY2eua//jufbx4NZZODACEHtfXAEmOjCoDe2m+cQPRq+jNa98nvCy/sJh2RwuCQog==}
engines: {node: '>=18.0.0'}
peerDependencies:
'@opentelemetry/api': ~1.8.0
- '@netlify/plugins-list@6.77.0':
- resolution: {integrity: sha512-czL3FH61hFhhVQydRj2xjIwLVYHDNskMhRib7dUfOQrUHifqLlUFKp03NwBD87G9BFKXUYGWZMEUU+JjIpVc9w==}
+ '@netlify/plugins-list@6.80.0':
+ resolution: {integrity: sha512-bCKLI51UZ70ziIWsf2nvgPd4XuG6m8AMCoHiYtl/BSsiaSBfmryZnTTqdRXerH09tBRpbPPwzaEgUJwyU9o8Qw==}
engines: {node: ^14.14.0 || >=16.0.0}
'@netlify/run-utils@5.1.1':
resolution: {integrity: sha512-V2B8ZB19heVKa715uOeDkztxLH7uaqZ+9U5fV7BRzbQ2514DO5Vxj9hG0irzuRLfZXZZjp/chPUesv4VVsce/A==}
engines: {node: ^14.16.0 || >=16.0.0}
- '@netlify/serverless-functions-api@1.18.0':
- resolution: {integrity: sha512-VCU5btoGZ8M6iI7HSwpfZXCpBLKWFmRtq5xYt0K7dY96BZWVBmaZY6Tn+w4L2DrGXwAsIeOFNp8CHjVXfuCAkg==}
+ '@netlify/serverless-functions-api@1.18.1':
+ resolution: {integrity: sha512-DrSvivchuwsuQW03zbVPT3nxCQa5tn7m4aoPOsQKibuJXIuSbfxzCBxPLz0+LchU5ds7YyOaCc9872Y32ngYzg==}
engines: {node: '>=18.0.0'}
- '@netlify/zip-it-and-ship-it@9.32.1':
- resolution: {integrity: sha512-zLsWEJYCoWbQ7ZM0WcPdXzXtIRp9Y2KvbGpL7iWYmTaLBDrmZtYDnUkoyG0E3b9zmuQp9EAiE6evBdRr6usiRg==}
+ '@netlify/serverless-functions-api@1.18.2':
+ resolution: {integrity: sha512-KHhcNWP1B+8Io2aAobzRRuT1FSWb7Bfsih16dxKgaU9IgP/OxMVvssbmhRAmoR01rVGhQEiNN0vk6juMzOafOw==}
+ engines: {node: '>=18.0.0'}
+
+ '@netlify/zip-it-and-ship-it@9.33.0':
+ resolution: {integrity: sha512-xHXX5lPM4p3GPRFi90yDCSwJVsS5tYb9n80Yk1YrHhBTDopO93X7ZvE1Xf5wC9WulflUyMrje/13nib7/NIbzA==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ hasBin: true
+
+ '@netlify/zip-it-and-ship-it@9.33.1':
+ resolution: {integrity: sha512-66Lq45/Ms6XPK6sCAvhZOhjBD1ac6A7Buk74IeZCDshYz8xf4A+8NQcJe7+2XaNHxr+0/uOotwOa5JtFS5J1lQ==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
@@ -1736,74 +1897,57 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
- '@octokit/auth-token@3.0.2':
- resolution: {integrity: sha512-pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q==}
- engines: {node: '>= 14'}
+ '@octokit/auth-token@4.0.0':
+ resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==}
+ engines: {node: '>= 18'}
- '@octokit/core@4.2.1':
- resolution: {integrity: sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw==}
- engines: {node: '>= 14'}
+ '@octokit/core@5.2.0':
+ resolution: {integrity: sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==}
+ engines: {node: '>= 18'}
- '@octokit/endpoint@7.0.3':
- resolution: {integrity: sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw==}
- engines: {node: '>= 14'}
+ '@octokit/endpoint@9.0.5':
+ resolution: {integrity: sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==}
+ engines: {node: '>= 18'}
- '@octokit/graphql@5.0.3':
- resolution: {integrity: sha512-VjhqOu2CHo2hwank1y2k8YcqF83zJW6upyP1+0l3wegvpq+4H31zOA5Rkyx76uJBUdJooUR5UnFyclBptzl86Q==}
- engines: {node: '>= 14'}
+ '@octokit/graphql@7.1.0':
+ resolution: {integrity: sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==}
+ engines: {node: '>= 18'}
- '@octokit/openapi-types@14.0.0':
- resolution: {integrity: sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==}
+ '@octokit/openapi-types@22.2.0':
+ resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==}
- '@octokit/openapi-types@17.2.0':
- resolution: {integrity: sha512-MazrFNx4plbLsGl+LFesMo96eIXkFgEtaKbnNpdh4aQ0VM10aoylFsTYP1AEjkeoRNZiiPe3T6Gl2Hr8dJWdlQ==}
-
- '@octokit/plugin-paginate-rest@6.1.2':
- resolution: {integrity: sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==}
- engines: {node: '>= 14'}
+ '@octokit/plugin-paginate-rest@11.3.1':
+ resolution: {integrity: sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==}
+ engines: {node: '>= 18'}
peerDependencies:
- '@octokit/core': '>=4'
+ '@octokit/core': '5'
- '@octokit/plugin-request-log@1.0.4':
- resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==}
+ '@octokit/plugin-request-log@4.0.1':
+ resolution: {integrity: sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==}
+ engines: {node: '>= 18'}
peerDependencies:
- '@octokit/core': '>=3'
+ '@octokit/core': '5'
- '@octokit/plugin-rest-endpoint-methods@7.1.2':
- resolution: {integrity: sha512-R0oJ7j6f/AdqPLtB9qRXLO+wjI9pctUn8Ka8UGfGaFCcCv3Otx14CshQ89K4E88pmyYZS8p0rNTiprML/81jig==}
- engines: {node: '>= 14'}
+ '@octokit/plugin-rest-endpoint-methods@13.2.2':
+ resolution: {integrity: sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==}
+ engines: {node: '>= 18'}
peerDependencies:
- '@octokit/core': '>=3'
+ '@octokit/core': ^5
- '@octokit/request-error@3.0.2':
- resolution: {integrity: sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg==}
- engines: {node: '>= 14'}
+ '@octokit/request-error@5.1.0':
+ resolution: {integrity: sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==}
+ engines: {node: '>= 18'}
- '@octokit/request@6.2.2':
- resolution: {integrity: sha512-6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw==}
- engines: {node: '>= 14'}
+ '@octokit/request@8.4.0':
+ resolution: {integrity: sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==}
+ engines: {node: '>= 18'}
- '@octokit/rest@19.0.13':
- resolution: {integrity: sha512-/EzVox5V9gYGdbAI+ovYj3nXQT1TtTHRT+0eZPcuC05UFSWO3mdO9UY1C0i2eLF9Un1ONJkAk+IEtYGAC+TahA==}
- engines: {node: '>= 14'}
+ '@octokit/rest@20.1.1':
+ resolution: {integrity: sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==}
+ engines: {node: '>= 18'}
- '@octokit/tsconfig@1.0.2':
- resolution: {integrity: sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==}
-
- '@octokit/types@8.0.0':
- resolution: {integrity: sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==}
-
- '@octokit/types@9.2.3':
- resolution: {integrity: sha512-MMeLdHyFIALioycq+LFcA71v0S2xpQUX2cw6pPbHQjaibcHYwLnmK/kMZaWuGfGfjBJZ3wRUq+dOaWsvrPJVvA==}
-
- '@open-draft/deferred-promise@2.2.0':
- resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==}
-
- '@open-draft/logger@0.3.0':
- resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==}
-
- '@open-draft/until@2.1.0':
- resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==}
+ '@octokit/types@13.5.0':
+ resolution: {integrity: sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==}
'@opentelemetry/api-logs@0.50.0':
resolution: {integrity: sha512-JdZuKrhOYggqOpUljAq4WWNi5nB10PmgoF0y2CvedLGXd0kSawb/UBnWT8gg1ND3bHCNHStAIVT0ELlxJJRqrA==}
@@ -1958,8 +2102,8 @@ packages:
resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==}
engines: {node: '>= 10.0.0'}
- '@pengzhanbo/eslint-config-vue@1.9.1':
- resolution: {integrity: sha512-lfGEHTdsbCKuygVeZkXVHzSJHvsJu2z5Yvb5a9X39pArhcelszTsWcLBZ7Mhk2wbAKtn1yJ7LrkoBvyPtgbmrQ==}
+ '@pengzhanbo/eslint-config-vue@1.10.0':
+ resolution: {integrity: sha512-IfD1cGXalTm/a33sAMaj0rSfibsrmnqeyYaY5ZOWPPPdJVpMvlLIwAFIUtXbmUE2kHWvYBDZZcjtup3FRQA8Mw==}
peerDependencies:
'@unocss/eslint-plugin': '>=0.50.0'
eslint: '>=8.40.0'
@@ -1973,8 +2117,8 @@ packages:
eslint-plugin-tailwindcss:
optional: true
- '@pengzhanbo/eslint-config@1.9.1':
- resolution: {integrity: sha512-Bmx4o1isFuSqI/XEsxk4Htvhvqouq1m4N3dbI8/KydX7DbybAshLaQt/SsXj06o7L12j7eWF7rCWE3vw2f6pBg==}
+ '@pengzhanbo/eslint-config@1.10.0':
+ resolution: {integrity: sha512-ZTAQTZJY+j6jTZRRkMiWEWO4HWZQY93FCTTgNgeUn1OD/R0zLrbnl9s4bFulCK1jLDyM2RO65E2eOx/Hdca7lg==}
peerDependencies:
'@eslint-react/eslint-plugin': ^1.5.8
'@unocss/eslint-plugin': '>=0.50.0'
@@ -2027,8 +2171,8 @@ packages:
vue-eslint-parser:
optional: true
- '@pengzhanbo/stylelint-config@1.9.1':
- resolution: {integrity: sha512-MQcMSe4CvkIpm2yzgh8s+q5gorbvN96Hswsh7mdVuopSExoIEUTS4xByrGSHdUDBgtInPop+l+YwmmHswxPK4g==}
+ '@pengzhanbo/stylelint-config@1.10.0':
+ resolution: {integrity: sha512-CDcRCCA/xceLFn12Qfm/gHa5KKWwqymVUqUxbL0KZ1KlT2vWfM9Sb/WvjYKbif8cogZw9wB1JixQy2s1ZCcDeg==}
peerDependencies:
stylelint: '>=16.0.0'
@@ -2056,77 +2200,157 @@ packages:
cpu: [arm]
os: [android]
+ '@rollup/rollup-android-arm-eabi@4.18.0':
+ resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==}
+ cpu: [arm]
+ os: [android]
+
'@rollup/rollup-android-arm64@4.13.0':
resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==}
cpu: [arm64]
os: [android]
+ '@rollup/rollup-android-arm64@4.18.0':
+ resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==}
+ cpu: [arm64]
+ os: [android]
+
'@rollup/rollup-darwin-arm64@4.13.0':
resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==}
cpu: [arm64]
os: [darwin]
+ '@rollup/rollup-darwin-arm64@4.18.0':
+ resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==}
+ cpu: [arm64]
+ os: [darwin]
+
'@rollup/rollup-darwin-x64@4.13.0':
resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==}
cpu: [x64]
os: [darwin]
+ '@rollup/rollup-darwin-x64@4.18.0':
+ resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==}
+ cpu: [x64]
+ os: [darwin]
+
'@rollup/rollup-linux-arm-gnueabihf@4.13.0':
resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==}
cpu: [arm]
os: [linux]
+ '@rollup/rollup-linux-arm-gnueabihf@4.18.0':
+ resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.18.0':
+ resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==}
+ cpu: [arm]
+ os: [linux]
+
'@rollup/rollup-linux-arm64-gnu@4.13.0':
resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==}
cpu: [arm64]
os: [linux]
+ '@rollup/rollup-linux-arm64-gnu@4.18.0':
+ resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==}
+ cpu: [arm64]
+ os: [linux]
+
'@rollup/rollup-linux-arm64-musl@4.13.0':
resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==}
cpu: [arm64]
os: [linux]
+ '@rollup/rollup-linux-arm64-musl@4.18.0':
+ resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.18.0':
+ resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==}
+ cpu: [ppc64]
+ os: [linux]
+
'@rollup/rollup-linux-riscv64-gnu@4.13.0':
resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==}
cpu: [riscv64]
os: [linux]
+ '@rollup/rollup-linux-riscv64-gnu@4.18.0':
+ resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-s390x-gnu@4.18.0':
+ resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==}
+ cpu: [s390x]
+ os: [linux]
+
'@rollup/rollup-linux-x64-gnu@4.13.0':
resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==}
cpu: [x64]
os: [linux]
+ '@rollup/rollup-linux-x64-gnu@4.18.0':
+ resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==}
+ cpu: [x64]
+ os: [linux]
+
'@rollup/rollup-linux-x64-musl@4.13.0':
resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==}
cpu: [x64]
os: [linux]
+ '@rollup/rollup-linux-x64-musl@4.18.0':
+ resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==}
+ cpu: [x64]
+ os: [linux]
+
'@rollup/rollup-win32-arm64-msvc@4.13.0':
resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==}
cpu: [arm64]
os: [win32]
+ '@rollup/rollup-win32-arm64-msvc@4.18.0':
+ resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==}
+ cpu: [arm64]
+ os: [win32]
+
'@rollup/rollup-win32-ia32-msvc@4.13.0':
resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==}
cpu: [ia32]
os: [win32]
+ '@rollup/rollup-win32-ia32-msvc@4.18.0':
+ resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==}
+ cpu: [ia32]
+ os: [win32]
+
'@rollup/rollup-win32-x64-msvc@4.13.0':
resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==}
cpu: [x64]
os: [win32]
+ '@rollup/rollup-win32-x64-msvc@4.18.0':
+ resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==}
+ cpu: [x64]
+ os: [win32]
+
'@sec-ant/readable-stream@0.4.1':
resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==}
- '@shikijs/core@1.5.1':
- resolution: {integrity: sha512-xjV63pRUBvxA1LsxOUhRKLPh0uUjwBLzAKLdEuYSLIylo71sYuwDcttqNP01Ib1TZlLfO840CXHPlgUUsYFjzg==}
+ '@shikijs/core@1.6.0':
+ resolution: {integrity: sha512-NIEAi5U5R7BLkbW1pG/ZKu3eb1lzc3/+jD0lFsuxMT7zjaf9bbNwdNyMr7zh/Zl8EXQtQ+MYBAt5G+JLu+5DlA==}
- '@shikijs/transformers@1.5.1':
- resolution: {integrity: sha512-vir+y0elkjh2CepLVbqeGX+ftuc6WpfWNCMV/EBIallSLzhBfDO9r/TORDVOzegbTg9JMEmtOFv6PT9cSZTcyA==}
+ '@shikijs/transformers@1.6.0':
+ resolution: {integrity: sha512-qGfHe1ECiqfE2STPWvfogIj/9Q0SK+MCRJdoITkW7AmFuB7DmbFnBT2US84+zklJOB51MzNO8RUXZiauWssJlQ==}
- '@shikijs/twoslash@1.5.1':
- resolution: {integrity: sha512-O0cnGcpW1LkBLd85TQp7Kdb9qzhSGyYl9c21BCAmYWhQdtnxaSKBgbiP3S35ewP/s3SrR9gCzumgznp/YSyMNg==}
+ '@shikijs/twoslash@1.6.0':
+ resolution: {integrity: sha512-sA9l5hgKNiB+CFUNwxeWyh4nvA6J/fSIzVZId1AhO4rRLINi5dFb13MmDSnxqw+60HKCKjsoWKcbVGvToQXJVA==}
'@sindresorhus/is@5.3.0':
resolution: {integrity: sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==}
@@ -2178,37 +2402,37 @@ packages:
stylelint:
optional: true
- '@stylistic/eslint-plugin-js@1.7.2':
- resolution: {integrity: sha512-ZYX7C5p7zlHbACwFLU+lISVh6tdcRP/++PWegh2Sy0UgMT5kU0XkPa2tKWEtJYzZmPhJxu9LxbnWcnE/tTwSDQ==}
- engines: {node: ^16.0.0 || >=18.0.0}
+ '@stylistic/eslint-plugin-js@2.1.0':
+ resolution: {integrity: sha512-gdXUjGNSsnY6nPyqxu6lmDTtVrwCOjun4x8PUn0x04d5ucLI74N3MT1Q0UhdcOR9No3bo5PGDyBgXK+KmD787A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: '>=8.40.0'
- '@stylistic/eslint-plugin-jsx@1.7.2':
- resolution: {integrity: sha512-lNZR5PR0HLJPs+kY0y8fy6KroKlYqA5PwsYWpVYWzqZWiL5jgAeUo4s9yLFYjJjzildJ5MsTVMy/xP81Qz6GXg==}
- engines: {node: ^16.0.0 || >=18.0.0}
+ '@stylistic/eslint-plugin-jsx@2.1.0':
+ resolution: {integrity: sha512-mMD7S+IndZo2vxmwpHVTCwx2O1VdtE5tmpeNwgaEcXODzWV1WTWpnsc/PECQKIr/mkLPFWiSIqcuYNhQ/3l6AQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: '>=8.40.0'
- '@stylistic/eslint-plugin-plus@1.7.2':
- resolution: {integrity: sha512-luUfRVbBVtt0+/FNt8/76BANJEzb/nHWasHD7UUjyMrch2U9xUKpObrkTCzqBuisKek+uFupwGjqXqDP07+fQw==}
+ '@stylistic/eslint-plugin-plus@2.1.0':
+ resolution: {integrity: sha512-S5QAlgYXESJaSBFhBSBLZy9o36gXrXQwWSt6QkO+F0SrT9vpV5JF/VKoh+ojO7tHzd8Ckmyouq02TT9Sv2B0zQ==}
peerDependencies:
eslint: '*'
- '@stylistic/eslint-plugin-ts@1.7.2':
- resolution: {integrity: sha512-szX89YPocwCe4T0eT3alj7MwEzDHt5+B+kb/vQfSSLIjI9CGgoWrgj50zU8PtaDctTh4ZieFBzU/lRmkSUo0RQ==}
- engines: {node: ^16.0.0 || >=18.0.0}
+ '@stylistic/eslint-plugin-ts@2.1.0':
+ resolution: {integrity: sha512-2ioFibufHYBALx2TBrU4KXovCkN8qCqcb9yIHc0fyOfTaO5jw4d56WW7YRcF3Zgde6qFyXwAN6z/+w4pnmos1g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: '>=8.40.0'
- '@stylistic/eslint-plugin@1.7.2':
- resolution: {integrity: sha512-TesaPR4AOCeD4unwu9gZCdTe8SsUpykriICuwXV8GFBgESuVbfVp+S8g6xTWe9ntVR803bNMtnr2UhxHW0iFqg==}
- engines: {node: ^16.0.0 || >=18.0.0}
+ '@stylistic/eslint-plugin@2.1.0':
+ resolution: {integrity: sha512-cBBowKP2u/+uE5CzgH5w8pE9VKqcM7BXdIDPIbGt2rmLJGnA6MJPr9vYGaqgMoJFs7R/FzsMQerMvvEP40g2uw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: '>=8.40.0'
- '@stylistic/stylelint-plugin@2.1.1':
- resolution: {integrity: sha512-xqHTmQZN7EbnFDW7jw0rAsdFNO4IRqvXhrh3qhUlIwF/x09Zm7kgs/ADktHxsTJYcw346PpGihsB0t4pZhpeHw==}
+ '@stylistic/stylelint-plugin@2.1.2':
+ resolution: {integrity: sha512-JsSqu0Y3vsX+PBl+DwULxC0cIv9C1yIcq1MXkx7pBOGtTqU26a75I8MPYMiEYvrsXgsKLi65xVgy1iLVSZquJA==}
engines: {node: ^18.12 || >=20.9}
peerDependencies:
stylelint: ^16.0.2
@@ -2257,6 +2481,9 @@ packages:
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
+ '@types/eslint@8.56.10':
+ resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==}
+
'@types/eslint@8.56.9':
resolution: {integrity: sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg==}
@@ -2305,9 +2532,6 @@ packages:
'@types/katex@0.16.7':
resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
- '@types/linkify-it@3.0.2':
- resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==}
-
'@types/linkify-it@5.0.0':
resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
@@ -2317,11 +2541,8 @@ packages:
'@types/lodash@4.14.182':
resolution: {integrity: sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==}
- '@types/markdown-it-emoji@2.0.4':
- resolution: {integrity: sha512-H6ulk/ZmbDxOayPwI/leJzrmoW1YKX1Z+MVSCHXuYhvqckV4I/c+hPTf6UiqJyn2avWugfj30XroheEb6/Ekqg==}
-
- '@types/markdown-it@13.0.7':
- resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==}
+ '@types/markdown-it-emoji@3.0.1':
+ resolution: {integrity: sha512-cz1j8R35XivBqq9mwnsrP2fsz2yicLhB8+PDtuVkKOExwEdsVBNI+ROL3sbhtR5occRZ66vT0QnwFZCqdjf3pA==}
'@types/markdown-it@14.1.1':
resolution: {integrity: sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==}
@@ -2332,9 +2553,6 @@ packages:
'@types/mdast@4.0.3':
resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==}
- '@types/mdurl@1.0.2':
- resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==}
-
'@types/mdurl@2.0.0':
resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
@@ -2356,8 +2574,8 @@ packages:
'@types/node@20.12.10':
resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==}
- '@types/node@20.12.11':
- resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==}
+ '@types/node@20.12.12':
+ resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==}
'@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
@@ -2410,8 +2628,8 @@ packages:
'@types/yauzl@2.10.0':
resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==}
- '@typescript-eslint/eslint-plugin@7.7.1':
- resolution: {integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==}
+ '@typescript-eslint/eslint-plugin@7.9.0':
+ resolution: {integrity: sha512-6e+X0X3sFe/G/54aC3jt0txuMTURqLyekmEHViqyA2VnxhLMpvA6nqmcjIy+Cr9tLDHPssA74BP5Mx9HQIxBEA==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
'@typescript-eslint/parser': ^7.0.0
@@ -2421,8 +2639,8 @@ packages:
typescript:
optional: true
- '@typescript-eslint/parser@7.7.1':
- resolution: {integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==}
+ '@typescript-eslint/parser@7.9.0':
+ resolution: {integrity: sha512-qHMJfkL5qvgQB2aLvhUSXxbK7OLnDkwPzFalg458pxQgfxKDfT1ZDbHQM/I6mDIf/svlMkj21kzKuQ2ixJlatQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
@@ -2431,20 +2649,16 @@ packages:
typescript:
optional: true
- '@typescript-eslint/scope-manager@6.21.0':
- resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==}
- engines: {node: ^16.0.0 || >=18.0.0}
-
- '@typescript-eslint/scope-manager@7.7.0':
- resolution: {integrity: sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==}
- engines: {node: ^18.18.0 || >=20.0.0}
-
'@typescript-eslint/scope-manager@7.7.1':
resolution: {integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==}
engines: {node: ^18.18.0 || >=20.0.0}
- '@typescript-eslint/type-utils@7.7.1':
- resolution: {integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==}
+ '@typescript-eslint/scope-manager@7.9.0':
+ resolution: {integrity: sha512-ZwPK4DeCDxr3GJltRz5iZejPFAAr4Wk3+2WIBaj1L5PYK5RgxExu/Y68FFVclN0y6GGwH8q+KgKRCvaTmFBbgQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
+ '@typescript-eslint/type-utils@7.9.0':
+ resolution: {integrity: sha512-6Qy8dfut0PFrFRAZsGzuLoM4hre4gjzWJB6sUvdunCYZsYemTkzZNwF1rnGea326PHPT3zn5Lmg32M/xfJfByA==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
@@ -2457,18 +2671,14 @@ packages:
resolution: {integrity: sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- '@typescript-eslint/types@6.21.0':
- resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==}
- engines: {node: ^16.0.0 || >=18.0.0}
-
- '@typescript-eslint/types@7.7.0':
- resolution: {integrity: sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==}
- engines: {node: ^18.18.0 || >=20.0.0}
-
'@typescript-eslint/types@7.7.1':
resolution: {integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==}
engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/types@7.9.0':
+ resolution: {integrity: sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
'@typescript-eslint/typescript-estree@5.59.11':
resolution: {integrity: sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -2478,24 +2688,6 @@ packages:
typescript:
optional: true
- '@typescript-eslint/typescript-estree@6.21.0':
- resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==}
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- '@typescript-eslint/typescript-estree@7.7.0':
- resolution: {integrity: sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
'@typescript-eslint/typescript-estree@7.7.1':
resolution: {integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==}
engines: {node: ^18.18.0 || >=20.0.0}
@@ -2505,20 +2697,23 @@ packages:
typescript:
optional: true
- '@typescript-eslint/utils@6.21.0':
- resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==}
- engines: {node: ^16.0.0 || >=18.0.0}
+ '@typescript-eslint/typescript-estree@7.9.0':
+ resolution: {integrity: sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==}
+ engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
- '@typescript-eslint/utils@7.7.0':
- resolution: {integrity: sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==}
+ '@typescript-eslint/utils@7.7.1':
+ resolution: {integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
- '@typescript-eslint/utils@7.7.1':
- resolution: {integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==}
+ '@typescript-eslint/utils@7.9.0':
+ resolution: {integrity: sha512-5KVRQCzZajmT4Ep+NEgjXCvjuypVvYHUW7RHlXzNPuak2oWpVoD1jf5xCP0dPAuNIchjC7uQyvbdaSTFaLqSdA==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
@@ -2527,18 +2722,14 @@ packages:
resolution: {integrity: sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- '@typescript-eslint/visitor-keys@6.21.0':
- resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==}
- engines: {node: ^16.0.0 || >=18.0.0}
-
- '@typescript-eslint/visitor-keys@7.7.0':
- resolution: {integrity: sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==}
- engines: {node: ^18.18.0 || >=20.0.0}
-
'@typescript-eslint/visitor-keys@7.7.1':
resolution: {integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==}
engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/visitor-keys@7.9.0':
+ resolution: {integrity: sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
'@typescript/vfs@1.5.0':
resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==}
@@ -2550,8 +2741,8 @@ packages:
engines: {node: '>=14'}
hasBin: true
- '@vercel/nft@0.26.2':
- resolution: {integrity: sha512-bxe2iShmKZi7476xYamyKvhhKwQ6JPEtQ2FSq1AjMUH2buMd8LQMkdoHinTqZYc+1sMTh3G0ARdjzNvV1FEisA==}
+ '@vercel/nft@0.27.1':
+ resolution: {integrity: sha512-K6upzYHCV1cq2gP83r1o8uNV1vwvAlozvMqp7CEjYWxo0CMI8/4jKcDkVjlypVhrfZ54SXwh9QbH0ZIk/vQCsw==}
engines: {node: '>=16'}
hasBin: true
@@ -2617,129 +2808,111 @@ packages:
'@vue/shared@3.4.27':
resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==}
- '@vuepress/bundler-vite@2.0.0-rc.9':
- resolution: {integrity: sha512-GcM2eSqW2mPY5xXX4i5kuZujvwUeiTpsLX5kgau9LzPox+FdA3SMUkppCY3hsou2o2RxXPTfjocE7OlYQrUqvA==}
+ '@vuepress/bundler-vite@2.0.0-rc.12':
+ resolution: {integrity: sha512-h6DSC4iITYU1JuM8UezcwnXZydyV3TNSMswHpNcdaLIo1gBlDOqYxW1zg86wjrxDJjg1t7JqGxBVSaqrBWv/5Q==}
- '@vuepress/cli@2.0.0-rc.9':
- resolution: {integrity: sha512-uv7Xmv3QmPpzCaUAq0oKEwp2tY64AO+7mxamgr7tr+t6FEnCYqr+X0nLlH17UtMkmGWIsbHLIlMjteprxGxIMg==}
+ '@vuepress/cli@2.0.0-rc.12':
+ resolution: {integrity: sha512-79GVDrfzA84aV1n3ML6mItRabLSBbEwyBuWf9/7SHT9YjIytjgR1FZ3urgUIvbeziiubFQsgNm2uWyDUhsKpSg==}
hasBin: true
- '@vuepress/client@2.0.0-rc.9':
- resolution: {integrity: sha512-V5jA6L1nHQ8tXBshRHBJKei7HPFonGxFzmVK5yjj2Ho/Xtp/SD9rBS6dyYd5CSkKRGQDgy19Z+BUUPXtdI1qzg==}
+ '@vuepress/client@2.0.0-rc.12':
+ resolution: {integrity: sha512-S5xfPT/9XRpI5UAky5hS6GD9YcXkuWpLwsYTLgUVBIOgQ2MI+QyPPNr0fKHG2EXfJ7YfdSZBlcJ9BTfZ9jnyZg==}
- '@vuepress/core@2.0.0-rc.9':
- resolution: {integrity: sha512-uvMkIqYJ7vjfYEC91rMmT8YJt8xXnob5YYY3TzlwWUSEv4yoV3nlVu0l6Zfhenx/7FwKaxRJ/ePlUGIgUHBcBw==}
+ '@vuepress/core@2.0.0-rc.12':
+ resolution: {integrity: sha512-0NsrcqgnGAI1tMXBScueZMeAZLImMrbNU6QW55FDlt12IrV8/nZz/FDcBnUHn6+30PlsrzAX2jyXlCBM9Z+KxA==}
- '@vuepress/helper@2.0.0-rc.28':
- resolution: {integrity: sha512-dR0XQIedpQhkH2OqCBwo547cp410rOw3S64jtsCfvgn6WWpKrNdrt0FPRXeZuXm3JeWexSyvuYnTU9/BVjPBoQ==}
+ '@vuepress/helper@2.0.0-rc.31':
+ resolution: {integrity: sha512-mnYN0nceTYXJRXsWv+//+UQaDUGooLmOfRxnqJOQ2G9ZMgaeKC1vjUWOiOjQ3SeG/qEoth+TXyy5GcuT6K4HaQ==}
peerDependencies:
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
- '@vuepress/markdown@2.0.0-rc.9':
- resolution: {integrity: sha512-e7as2ar3RQp0bUyMiwBPi7L/G2fzscb3s0BywNcAwubFR22o0/dBEYRYdrN0clPQ2FXpPxF6AFj4aD7O1heCbw==}
+ '@vuepress/markdown@2.0.0-rc.12':
+ resolution: {integrity: sha512-t4GwrN5LDy+uyGvCR/ds7Zj0teGPrM/NWQWmeWbTwdAOcd+IxPhPnfOlEFPzbEXIZER2GOpDSI19r7LochmobQ==}
- '@vuepress/plugin-active-header-links@2.0.0-rc.28':
- resolution: {integrity: sha512-KaAN5QmlKdRmq6d8DoonwD9F5Kg96ONvzdoRbkL/gdsTnRgwaqQAj4Hq1eIkZKkp6AzZeb1ZvTUu7M+Ay89cIA==}
+ '@vuepress/plugin-active-header-links@2.0.0-rc.31':
+ resolution: {integrity: sha512-sw1mB9v7u7QOLGlR2hSMbpt4N+nWhlyewMoT7lVWLOlWRf3c1Ub15MejD5Meh5rew/bya7p61MlCjd/HsQK6MQ==}
peerDependencies:
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
- '@vuepress/plugin-comment@2.0.0-rc.28':
- resolution: {integrity: sha512-J78r3AO2vJQy8pugVnNx+3OY24edb9SZy90Nj6a+32LYYUyq0HZyKz46/N1pr/9OvTlFZKp+rR85zsk1i5h/tw==}
+ '@vuepress/plugin-comment@2.0.0-rc.31':
+ resolution: {integrity: sha512-dXsscQVtwWoFMwQK3Rd0APUiZabYsaLYcjKDAnVuE/Xa/05i+jpMQp0HlbzxHwFybXfmfGvOzbn9ZFYdXn6vhw==}
peerDependencies:
'@waline/client': ^3.1.0
artalk: ^2.7.3
- sass-loader: ^14.0.0
twikoo: ^1.5.0
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
peerDependenciesMeta:
'@waline/client':
optional: true
artalk:
optional: true
- sass-loader:
- optional: true
twikoo:
optional: true
- '@vuepress/plugin-container@2.0.0-rc.28':
- resolution: {integrity: sha512-EBvmanLATZRtjDr/a6Td8Dw8Mr3ToigNoqdfibhhGA3PKAk5/olUbtpJBcYemgA3nVIyH6gdqbC3zMTO3/vx3A==}
+ '@vuepress/plugin-docsearch@2.0.0-rc.31':
+ resolution: {integrity: sha512-lm5fqEmICembMoUCqWd5U7Tq1mWd+Ch1m7a4nc2Z9RckR9OML0Cs+Va3qjGa0FME6+jPLqlsb5ioHS8XSzQ4sg==}
peerDependencies:
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
- '@vuepress/plugin-docsearch@2.0.0-rc.28':
- resolution: {integrity: sha512-6ucWxOcNMURKPE8ORCU+KQoigTCLMTH5bfhVRr9ujOV5cM0tjK5f/DRZzelZiEDStcjMPkdN/dCc8ks5aL0qSw==}
+ '@vuepress/plugin-git@2.0.0-rc.31':
+ resolution: {integrity: sha512-zKSuyEQqSUcmV/kBTeyxb3g3WSvvIGJkKbzC65uVtWcFJvsplY1YdqmEvYauZN4N8JlXkQ6ciSGESlJ771oBoQ==}
peerDependencies:
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
- '@vuepress/plugin-external-link-icon@2.0.0-rc.28':
- resolution: {integrity: sha512-VEEQEaMZzGOh8q1oR9u18gIBK7pbkCSx02vEN0k/cvRbfKbMdayEOTk4x+5Sy/A/fUcBPRbyw8O+/nDVzLn4pg==}
+ '@vuepress/plugin-markdown-container@2.0.0-rc.31':
+ resolution: {integrity: sha512-9/0XhDkcL8/y4sLSWWz7cFVmc6Z5zks1IdJniw3079j43UNO9ih8Gix1hhc2cQcIH1vEQOlh5xyCQo12+QwapQ==}
peerDependencies:
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
- '@vuepress/plugin-git@2.0.0-rc.22':
- resolution: {integrity: sha512-+T50AdCZ68Pkld4r8IEHTXLugfNVCxxPp2G1hlI/lpQ6IZcpLbswMI6l9xbbo15RrOBg/V0jkim/B/jaaVIM6A==}
+ '@vuepress/plugin-medium-zoom@2.0.0-rc.31':
+ resolution: {integrity: sha512-CgcjfcFErrubUIL1mnIVXegZySL/oK3OU1RrJ7ZNKP0zX9FsY86X4gljoPNIe0Dfa+e+93+TnyrwPv9a7FPkGg==}
peerDependencies:
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
- '@vuepress/plugin-medium-zoom@2.0.0-rc.28':
- resolution: {integrity: sha512-+VfQHvxEP4L7XJapZaFq4NYfjMGA8jTNHQrSVReVzvZws6yi8t5nqU4pX82n9rFeQUGkZM7NgQBha45vesMGYA==}
+ '@vuepress/plugin-nprogress@2.0.0-rc.31':
+ resolution: {integrity: sha512-ZTAR7gqk6yGvX1ZajK3HI33sCX9cxFlqLzSkbce25K91R564JwIwohR75WmCM6bxxniJ0uNIf4tfopJ6eBaMBQ==}
peerDependencies:
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
- '@vuepress/plugin-nprogress@2.0.0-rc.28':
- resolution: {integrity: sha512-35VLSgcn5TJChG7SorEsubheqXm/6xqURvwQjWAaEmqRiC4CXcYcSWR4stfSIm+DekUDNXK9o3DZ9+UYlvFtFg==}
+ '@vuepress/plugin-reading-time@2.0.0-rc.31':
+ resolution: {integrity: sha512-TLRq/RmDFFmF7Lazst+HFApsLAegHWKG68eoocZMF+V9c+BZ4fuLOzOBzAGvYSNrWJEwI07+5i7hvkeyHtfQSA==}
peerDependencies:
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
- '@vuepress/plugin-palette@2.0.0-rc.21':
- resolution: {integrity: sha512-jnWzTiM3xHXweD3AKZVTCnuliH/aoIGaV1C5yhIeinXPZHn49syH8wMQ3kAgxWO+Y4xfihiY8E32V33XQ8Lf6w==}
- peerDependencies:
- vuepress: 2.0.0-rc.9
-
- '@vuepress/plugin-reading-time@2.0.0-rc.28':
- resolution: {integrity: sha512-M+nx784/NxhLZKf9iX3e71Q4n5T7wxAhvMbcSIgXNNT8QyzyMI59qLKOROSNQgTE6Qm070ZL7Gbao1PFrwi6UQ==}
- peerDependencies:
- vuepress: 2.0.0-rc.9
-
- '@vuepress/plugin-sass-palette@2.0.0-rc.28':
- resolution: {integrity: sha512-uovSOMOsHQmNZPlo55fAvAPh14G9zOqCb5/zPl+z1EMuA0hq55xYorhVDufg/TFoPPwkh0jgt7YMdErwR3bTQA==}
+ '@vuepress/plugin-sass-palette@2.0.0-rc.31':
+ resolution: {integrity: sha512-HcIAgUwXdMBp1Q8xs7j6w1AV3GQ5sBmROPl5L3vvp0g5DNJepqxaHR3NODGGP+9LnaDdaqGC7g3M9L3ZJ5RNQw==}
peerDependencies:
sass-loader: ^14.0.0
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
peerDependenciesMeta:
sass-loader:
optional: true
- '@vuepress/plugin-seo@2.0.0-rc.28':
- resolution: {integrity: sha512-DduUI/KFzOmwi05fPNYscjnJo30QTgCdhpwQS0/SPR8j2Hl9a/BKFqh4tj8n9S6xoMHv1099BnOFwirZ3li1Rw==}
+ '@vuepress/plugin-seo@2.0.0-rc.31':
+ resolution: {integrity: sha512-KQuFPwfRFcg2T7OkE4poY8V2d0RnqrOYU5lek3HR3LmleCQvF5A5k5vlQ21h/owxvD6cZnjnNGPZadTRxzq/Ug==}
peerDependencies:
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
- '@vuepress/plugin-sitemap@2.0.0-rc.28':
- resolution: {integrity: sha512-EMt+kfpq71dKLTFMsRNnjx7iDnQ2sQgS2vZwv+AVsHgiHI/Sv6EfUNm8vI4sUKxgG3nUYZClQ8klz/0Uuj8ixA==}
+ '@vuepress/plugin-sitemap@2.0.0-rc.31':
+ resolution: {integrity: sha512-X5z57vqTETX9XdAGLdeNy0amd38wBOR1wMtrHTyVe6ZKC/gf1G9KOrTDiL1d1vsgoADUoBx4fcz8P+NytKbRWg==}
peerDependencies:
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
- '@vuepress/plugin-theme-data@2.0.0-rc.28':
- resolution: {integrity: sha512-unI71Ybfl42TSwrc+JpU6PfVR2ETy5RihBDq04ca5xOePjY0liampjn5O65bgIFkrHVP9azym8KLnVLOERhcdQ==}
+ '@vuepress/plugin-theme-data@2.0.0-rc.31':
+ resolution: {integrity: sha512-jyc5Lw4LNToT60+KEWZc79+mhQYSkmzv7OJMm4ZxdSYevn3FmvJdwT3QhgCtD+8ex2CnOp+suevC5E6OkLMtaQ==}
peerDependencies:
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
- '@vuepress/plugin-toc@2.0.0-rc.28':
- resolution: {integrity: sha512-iOrHgcXNwN1fgmhIg5Lr4BsuyCge6a2tqwdKo3BYSvJ2Hr65UXbC2VeC4WYrQgdV4UNbw23nWyka8nikABPc6A==}
+ '@vuepress/plugin-watermark@2.0.0-rc.31':
+ resolution: {integrity: sha512-RB/kd8kO9xbrW2zvuqSf07czvdX2f7HFf1nK2Bap7YeraLm2Zs4H5pQbhWoAL8ei4Ksm8ob015qyReczCp25bg==}
peerDependencies:
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
- '@vuepress/plugin-watermark@2.0.0-rc.28':
- resolution: {integrity: sha512-rsxNCBOT2MznUEWf13yuz+SqS5YX/ZNPXhQQzdevhmFn7LXn5V6ZK2KPPxfQEG/mTIHPOoLRdbLH7d13OvPoRQ==}
- peerDependencies:
- vuepress: 2.0.0-rc.9
+ '@vuepress/shared@2.0.0-rc.12':
+ resolution: {integrity: sha512-JPBygsjmtP9I4I7ESsQrebW6PXIxKktWAFWGDG85RCIiUFklEN792vEJ2XbDZvF5XaU/8H8fadApb6xqRB7Lww==}
- '@vuepress/shared@2.0.0-rc.9':
- resolution: {integrity: sha512-XfI6CWNv4/Vp9Iew6GJil9RUSy1rM7zGdjwikr0j3Rkh55q3f00w1wud47wE9kxRqsZ0PIvsMget5CxEn5rA/w==}
-
- '@vuepress/utils@2.0.0-rc.9':
- resolution: {integrity: sha512-qk6Pel4JVKYKxp3bWxyvnwchvx3QaCWc7SqUw7L6qUo/um+0U2U45L0anWoAfckw12RXYhoIEbJ9UZpueiKOPg==}
+ '@vuepress/utils@2.0.0-rc.12':
+ resolution: {integrity: sha512-ChItNTdPdpXZyMkxHWNcH6JWVBzOyKPYZvFkr8eWhOcT2uLEE8B8Ypkj6kvEzCsqmNWgj8iQzEa4hcUubO5vgg==}
'@vueuse/core@10.9.0':
resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==}
@@ -2837,8 +3010,8 @@ packages:
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
engines: {node: '>= 0.6'}
- acorn-import-attributes@1.9.2:
- resolution: {integrity: sha512-O+nfJwNolEA771IYJaiLWK1UAwjNsQmZbTRqqwBYxCgVQTmpFEMvBw6LOIQV0Me339L5UMVYFyRohGnGlQDdIQ==}
+ acorn-import-attributes@1.9.5:
+ resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
peerDependencies:
acorn: ^8
@@ -2889,6 +3062,14 @@ packages:
ajv:
optional: true
+ ajv-formats@3.0.1:
+ resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
@@ -2921,6 +3102,10 @@ packages:
resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==}
engines: {node: '>=14.16'}
+ ansi-escapes@7.0.0:
+ resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==}
+ engines: {node: '>=18'}
+
ansi-regex@3.0.1:
resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==}
engines: {node: '>=4'}
@@ -2969,13 +3154,13 @@ packages:
aproba@2.0.0:
resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
- archiver-utils@4.0.1:
- resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==}
- engines: {node: '>= 12.0.0'}
+ archiver-utils@5.0.2:
+ resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==}
+ engines: {node: '>= 14'}
- archiver@6.0.1:
- resolution: {integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==}
- engines: {node: '>= 12.0.0'}
+ archiver@7.0.1:
+ resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==}
+ engines: {node: '>= 14'}
archy@1.0.0:
resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==}
@@ -2987,6 +3172,7 @@ packages:
are-we-there-yet@2.0.0:
resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
engines: {node: '>=10'}
+ deprecated: This package is no longer supported.
arg@4.1.3:
resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
@@ -3084,8 +3270,8 @@ packages:
peerDependencies:
postcss: ^8.1.0
- avvio@8.2.0:
- resolution: {integrity: sha512-bbCQdg7bpEv6kGH41RO/3B2/GMMmJSo2iBK+X8AWN9mujtfUipMDfIjsgHCfpnKqoGEQrrmCDKSa5OQ19+fDmg==}
+ avvio@8.3.0:
+ resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==}
b4a@1.6.4:
resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==}
@@ -3140,9 +3326,6 @@ packages:
bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
- bl@5.1.0:
- resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==}
-
blueimp-md5@2.19.0:
resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==}
@@ -3171,6 +3354,10 @@ packages:
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
engines: {node: '>=8'}
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+
browserslist@4.23.0:
resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
@@ -3179,6 +3366,10 @@ packages:
buffer-crc32@0.2.13:
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
+ buffer-crc32@1.0.0:
+ resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==}
+ engines: {node: '>=8.0.0'}
+
buffer-equal-constant-time@1.0.1:
resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=}
@@ -3301,8 +3492,8 @@ packages:
chardet@0.7.0:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
- chart.js@4.4.2:
- resolution: {integrity: sha512-6GD7iKwFpP5kbSD4MeRRRlTnQvxfQREy36uEtm1hzHzcOqwWx0YEHuspuoNlslu+nciLIB7fjjsHkUv/FzFcOg==}
+ chart.js@4.4.3:
+ resolution: {integrity: sha512-qK1gkGSRYcJzqrrzdR6a+I0vQ4/R+SoODXyAjscQ/4mzuNzySaMCd+hyVxitSY1+L2fjPD1Gbn+ibNqRmwQeLw==}
engines: {pnpm: '>=8'}
cheerio-select@2.1.0:
@@ -3323,10 +3514,6 @@ packages:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
- ci-info@3.8.0:
- resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==}
- engines: {node: '>=8'}
-
ci-info@4.0.0:
resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
engines: {node: '>=8'}
@@ -3374,10 +3561,6 @@ packages:
resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
engines: {node: '>=6'}
- cli-truncate@3.1.0:
- resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
cli-truncate@4.0.0:
resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
engines: {node: '>=18'}
@@ -3464,9 +3647,9 @@ packages:
resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
engines: {node: '>=14'}
- commander@11.1.0:
- resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
- engines: {node: '>=16'}
+ commander@12.1.0:
+ resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
+ engines: {node: '>=18'}
commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
@@ -3505,9 +3688,9 @@ packages:
component-emitter@1.3.0:
resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==}
- compress-commons@5.0.1:
- resolution: {integrity: sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==}
- engines: {node: '>= 12.0.0'}
+ compress-commons@6.0.2:
+ resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==}
+ engines: {node: '>= 14'}
computeds@0.0.1:
resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==}
@@ -3717,10 +3900,6 @@ packages:
cookie-signature@1.0.6:
resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=}
- cookie@0.5.0:
- resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
- engines: {node: '>= 0.6'}
-
cookie@0.6.0:
resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
engines: {node: '>= 0.6'}
@@ -3729,11 +3908,8 @@ packages:
resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==}
engines: {node: '>=0.10.0'}
- copy-template-dir@1.4.0:
- resolution: {integrity: sha512-xkXSJhvKz4MfLbVkZ7GyCaFo4ciB3uKI/HHzkGwj1eyTH5+7RTFxW5CE0irWAZgV5oFcO9hd6+NVXAtY9hlo7Q==}
-
- core-js-compat@3.35.0:
- resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==}
+ core-js-compat@3.37.1:
+ resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==}
core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
@@ -3780,9 +3956,9 @@ packages:
engines: {node: '>=0.8'}
hasBin: true
- crc32-stream@5.0.0:
- resolution: {integrity: sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==}
- engines: {node: '>= 12.0.0'}
+ crc32-stream@6.0.0:
+ resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==}
+ engines: {node: '>= 14'}
create-filter@1.0.1:
resolution: {integrity: sha512-ISChS5U1JjeRZarfczF+5Zci557L3fzllsoAyu5MZt6bJhcwq7xS+U/7sklG7LxAPESUgMax2ybsS1Hjo/1mtQ==}
@@ -3790,8 +3966,8 @@ packages:
create-require@1.1.1:
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
- cron-parser@4.8.1:
- resolution: {integrity: sha512-jbokKWGcyU4gl6jAfX97E1gDpY12DJ1cLJZmoDzaAln/shZ+S3KBFBuA2Q6WeUN4gJf/8klnV1EfvhA2lK5IRQ==}
+ cron-parser@4.9.0:
+ resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==}
engines: {node: '>=12.0.0'}
cross-spawn@7.0.3:
@@ -4028,9 +4204,6 @@ packages:
dateformat@3.0.3:
resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==}
- dayjs@1.11.10:
- resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
-
dayjs@1.11.11:
resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==}
@@ -4257,9 +4430,9 @@ packages:
resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dotenv@16.0.3:
- resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
- engines: {node: '>=12'}
+ dot-prop@9.0.0:
+ resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==}
+ engines: {node: '>=18'}
dotenv@16.4.5:
resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
@@ -4324,15 +4497,14 @@ packages:
resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- envinfo@7.11.1:
- resolution: {integrity: sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==}
+ envinfo@7.13.0:
+ resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==}
engines: {node: '>=4'}
hasBin: true
- envinfo@7.8.1:
- resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==}
- engines: {node: '>=4'}
- hasBin: true
+ environment@1.1.0:
+ resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
+ engines: {node: '>=18'}
error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
@@ -4356,8 +4528,13 @@ packages:
engines: {node: '>=12'}
hasBin: true
- esbuild@0.21.1:
- resolution: {integrity: sha512-GPqx+FX7mdqulCeQ4TsGZQ3djBJkx5k7zBGtqt9ycVlWNg8llJ4RO9n2vciu8BN2zAEs6lPbPl0asZsAh7oWzg==}
+ esbuild@0.21.2:
+ resolution: {integrity: sha512-LmHPAa5h4tSxz+g/D8IHY6wCjtIiFx8I7/Q0Aq+NmvtoYvyMnJU0KQJcqB6QH30X9x/W4CemgUtPgQDZFca5SA==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ esbuild@0.21.4:
+ resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==}
engines: {node: '>=12'}
hasBin: true
@@ -4408,8 +4585,8 @@ packages:
eslint-config-flat-gitignore@0.1.5:
resolution: {integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==}
- eslint-flat-config-utils@0.2.3:
- resolution: {integrity: sha512-tfrMNXZfuN4q7sFi1Cr//BN3qdI7c8fLJhbshlp8l9PZIqZ7eVeeyd2Regtu/P9kjOlv18lRlBALzsZaF7ByUg==}
+ eslint-flat-config-utils@0.2.5:
+ resolution: {integrity: sha512-iO+yLZtC/LKgACerkpvsZ6NoRVB2sxT04mOpnNcEM1aTwKy+6TsT46PUvrML4y2uVBS6I67hRCd2JiKAPaL/Uw==}
eslint-import-resolver-node@0.3.9:
resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
@@ -4419,8 +4596,8 @@ packages:
peerDependencies:
eslint: '*'
- eslint-plugin-antfu@2.1.2:
- resolution: {integrity: sha512-s7ZTOM3uq0iqpp6gF0UEotnvup7f2PHBUftCytLZX0+6C9j9KadKZQh6bVVngAyFgsmeD9+gcBopOYLClb2oDg==}
+ eslint-plugin-antfu@2.2.0:
+ resolution: {integrity: sha512-QHzHYP+fyfhSkIdcuT9JZ4rCPuJOoHRE27gglPYHlJ6lxB7pO9i45yAy4aurx/rleBuEC27U4c//1Nwtbasj4Q==}
peerDependencies:
eslint: '*'
@@ -4442,8 +4619,8 @@ packages:
peerDependencies:
eslint: ^8.56.0 || ^9.0.0-0
- eslint-plugin-jsdoc@48.2.3:
- resolution: {integrity: sha512-r9DMAmFs66VNvNqRLLjHejdnJtILrt3xGi+Qx0op0oRfFGVpOR1Hb3BC++MacseHx93d8SKYPhyrC9BS7Os2QA==}
+ eslint-plugin-jsdoc@48.2.5:
+ resolution: {integrity: sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==}
engines: {node: '>=18'}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
@@ -4454,14 +4631,14 @@ packages:
peerDependencies:
eslint: '>=6.0.0'
- eslint-plugin-markdown@4.0.1:
- resolution: {integrity: sha512-5/MnGvYU0i8MbHH5cg8S+Vl3DL+bqRNYshk1xUO86DilNBaxtTkhH+5FD0/yO03AmlI6+lfNFdk2yOw72EPzpA==}
+ eslint-plugin-markdown@5.0.0:
+ resolution: {integrity: sha512-kY2u9yDhzvfZ0kmRTsvgm3mTnvZgTSGIIPeHg3yesSx4R5CTCnITUjCPhzCD1MUhNcqHU5Tr6lzx+02EclVPbw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: '>=8'
- eslint-plugin-n@17.2.1:
- resolution: {integrity: sha512-uW1+df2bo06kR7ix6nB614RUlvjRPrYxlaX832O6e1MCJp4V7YozEdvMgCYuvn4ltnjPu1FVYhQ2KRrmTNoJfg==}
+ eslint-plugin-n@17.7.0:
+ resolution: {integrity: sha512-4Jg4ZKVE4VjHig2caBqPHYNW5na84RVufUuipFLJbgM/G57O6FdpUKJbHakCDJb/yjQuyqVzYWRtU3HNYaZUwg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: '>=8.23.0'
@@ -4470,8 +4647,8 @@ packages:
resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==}
engines: {node: '>=5.0.0'}
- eslint-plugin-perfectionist@2.9.0:
- resolution: {integrity: sha512-ipFtDrqtF99qVVo+FE1fo6aHyLLp7hg6PNGfzY5KxQjcl0XCbyEFvjtR1NfkHDTN9rdFeEDxg59LLOv3VOAHAw==}
+ eslint-plugin-perfectionist@2.10.0:
+ resolution: {integrity: sha512-P+tdrkHeMWBc55+DZsoDOAftV1WCsEoHaKm6JC7zajFus/syfT4vUPBFb3atGFSuyaVnGQGHlcKpP9X3Q0gH/w==}
peerDependencies:
astro-eslint-parser: ^0.16.0
eslint: '>=8.0.0'
@@ -4488,20 +4665,26 @@ packages:
vue-eslint-parser:
optional: true
+ eslint-plugin-regexp@2.5.0:
+ resolution: {integrity: sha512-I7vKcP0o75WS5SHiVNXN+Eshq49sbrweMQIuqSL3AId9AwDe9Dhbfug65vw64LxmOd4v+yf5l5Xt41y9puiq0g==}
+ engines: {node: ^18 || >=20}
+ peerDependencies:
+ eslint: '>=8.44.0'
+
eslint-plugin-toml@0.11.0:
resolution: {integrity: sha512-sau+YvPU4fWTjB+qtBt3n8WS87aoDCs+BVbSUAemGaIsRNbvR9uEk+Tt892iLHTGvp/DPWYoCX4/8DoyAbB+sQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
- eslint-plugin-unicorn@52.0.0:
- resolution: {integrity: sha512-1Yzm7/m+0R4djH0tjDjfVei/ju2w3AzUGjG6q8JnuNIL5xIwsflyCooW5sfBvQp2pMYQFSWWCFONsjCax1EHng==}
- engines: {node: '>=16'}
+ eslint-plugin-unicorn@53.0.0:
+ resolution: {integrity: sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==}
+ engines: {node: '>=18.18'}
peerDependencies:
eslint: '>=8.56.0'
- eslint-plugin-unused-imports@3.1.0:
- resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==}
+ eslint-plugin-unused-imports@3.2.0:
+ resolution: {integrity: sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
'@typescript-eslint/eslint-plugin': 6 - 7
@@ -4510,8 +4693,8 @@ packages:
'@typescript-eslint/eslint-plugin':
optional: true
- eslint-plugin-vitest@0.5.3:
- resolution: {integrity: sha512-D0iu6ppP6FmNSZP4cdhEXqyI+fuW6JwwWdECRrNymd1jiVgUmDgSvtryytonNxHQQWhGNmZM3V/qvpXttH1rRQ==}
+ eslint-plugin-vitest@0.5.4:
+ resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==}
engines: {node: ^18.0.0 || >= 20.0.0}
peerDependencies:
'@typescript-eslint/eslint-plugin': '*'
@@ -4523,8 +4706,8 @@ packages:
vitest:
optional: true
- eslint-plugin-vue@9.25.0:
- resolution: {integrity: sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==}
+ eslint-plugin-vue@9.26.0:
+ resolution: {integrity: sha512-eTvlxXgd4ijE1cdur850G6KalZqk65k1JKoOI2d1kT3hr8sPD07j1q98FRFdNnpxBELGPWxZmInxeHGF/GxtqQ==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
@@ -4561,8 +4744,8 @@ packages:
resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.2.0:
- resolution: {integrity: sha512-0n/I88vZpCOzO+PQpt0lbsqmn9AsnsJAQseIqhZFI8ibQT0U1AkEKRxA3EVMos0BoHSXDQvCXY25TUjB5tr8Og==}
+ eslint@9.3.0:
+ resolution: {integrity: sha512-5Iv4CsZW030lpUqHBapdPo3MJetAPtejVW8B84GIcIIv8+ohFaddXsrn1Gn8uD9ijDb+kcYKFUVmC8qG8B2ORQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
@@ -4631,8 +4814,8 @@ packages:
resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
engines: {node: '>=16.17'}
- execa@9.0.1:
- resolution: {integrity: sha512-U5ck8xJmf3sVebV1v+Hh436VWHVHUfzkdbKJynd3kCP9sQRDxCY5x2Tml5lGB7XM6lpj6ATfgWWqynDt2MBLJg==}
+ execa@9.1.0:
+ resolution: {integrity: sha512-lSgHc4Elo2m6bUDhc3Hl/VxvUDJdQWI40RZ4KMY9bKRc+hgMOT7II/JjbNDhI8VnMtrCb7U/fhpJIkLORZozWw==}
engines: {node: '>=18'}
expand-brackets@2.1.4:
@@ -4684,8 +4867,8 @@ packages:
engines: {node: '>= 10.17.0'}
hasBin: true
- fast-content-type-parse@1.0.0:
- resolution: {integrity: sha512-Xbc4XcysUXcsP5aHUU7Nq3OwvHq97C+WnbkeIefpeYLX+ryzFJlU6OStFJhs6Ol0LkUGpcK+wL0JwfM+FCU5IA==}
+ fast-content-type-parse@1.1.0:
+ resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==}
fast-decode-uri-component@1.0.1:
resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==}
@@ -4709,8 +4892,8 @@ packages:
fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
- fast-json-stringify@5.7.0:
- resolution: {integrity: sha512-sBVPTgnAZseLu1Qgj6lUbQ0HfjFhZWXAmpZ5AaSGkyLh5gAXBga/uPJjQPHpDFjC9adWIpdOcCLSDTgrZ7snoQ==}
+ fast-json-stringify@5.15.1:
+ resolution: {integrity: sha512-JopGtkvvguRqrS4gHXSSA2jf4pDgOZkeBAkLO1LbzOpiOMo7/kugoR+KiWifpLpluaVeYDkAuxCJOj4Gyc6L9A==}
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
@@ -4735,12 +4918,15 @@ packages:
fastify-plugin@4.5.0:
resolution: {integrity: sha512-79ak0JxddO0utAXAQ5ccKhvs6vX2MGyHHMMsmZkBANrq3hXc1CHzvNPHOcvTsVMEPl5I+NT+RO4YKMGehOfSIg==}
- fastify@4.17.0:
- resolution: {integrity: sha512-tzuY1tgWJo2Y6qEKwmLhFvACUmr68Io2pqP/sDKU71KRM6A6R3DrCDqLGqANbeLZcKUfdfY58ut35CGqemcTgg==}
+ fastify@4.27.0:
+ resolution: {integrity: sha512-ci9IXzbigB8dyi0mSy3faa3Bsj0xWAPb9JeT4KRzubdSb6pNhcADRUaXCBml6V1Ss/a05kbtQls5LBmhHydoTA==}
fastq@1.14.0:
resolution: {integrity: sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==}
+ fastq@1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+
fd-slicer@1.1.0:
resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
@@ -4813,6 +4999,10 @@ packages:
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
engines: {node: '>=8'}
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+
filter-obj@3.0.0:
resolution: {integrity: sha512-oQZM+QmVni8MsYzcq9lgTHD/qeLqaG8XaOPOW7dzuSafVxSUlH1+1ZDefj2OD9f2XsmG5lFl2Euc9NI4jgwFWg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -4832,8 +5022,8 @@ packages:
find-index@0.1.1:
resolution: {integrity: sha512-uJ5vWrfBKMcE6y2Z8834dwEZj9mNGxYa3t3I53OwFeuZ8D9oc2E5zcsrkuhX6h4iYrjhiv0T3szQmxlAV9uxDg==}
- find-my-way@7.6.2:
- resolution: {integrity: sha512-0OjHn1b1nCX3eVbm9ByeEHiscPYiHLfhei1wOUU9qffQkk98wE0Lo8VrVYfSGMgnSnDh86DxedduAnBf4nwUEw==}
+ find-my-way@8.2.0:
+ resolution: {integrity: sha512-HdWXgFYc6b1BJcOBDBwjqWuHJj1WYiqrxSh25qtU4DabpMFdj/gSunNBQb83t+8Zt67D7CXEzJWTkxaShMTMOA==}
engines: {node: '>=14'}
find-node-modules@2.1.3:
@@ -4989,6 +5179,7 @@ packages:
gauge@3.0.2:
resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
engines: {node: '>=10'}
+ deprecated: This package is no longer supported.
get-amd-module-type@5.0.0:
resolution: {integrity: sha512-9mUVPLcOJ8n6VvW+9QOCdYC350Rmqg/hK2I+mFrqoV4KtBkZVGZDnINzN8Zo3s5VoxWk8/isVC48W02+auxDaQ==}
@@ -5124,6 +5315,7 @@ packages:
glob@8.0.3:
resolution: {integrity: sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==}
engines: {node: '>=12'}
+ deprecated: Glob versions prior to v9 are no longer supported
global-cache-dir@4.4.0:
resolution: {integrity: sha512-bk0gI6IbbphRjAaCJJn5H+T/CcEck5B3a5KBO2BXSDzjFSV+API17w8GA7YPJ6IXJiasW8M0VsEIig1PCHdfOQ==}
@@ -5161,8 +5353,8 @@ packages:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
- globals@15.0.0:
- resolution: {integrity: sha512-m/C/yR4mjO6pXDTm9/R/SpYTAIyaUB4EOzcaaMEl7mds7Mshct9GfejiJNQGjHHbdMPey13Kpu4TMbYi9ex1pw==}
+ globals@15.2.0:
+ resolution: {integrity: sha512-FQ5YwCHZM3nCmtb5FzEWwdUc9K5d3V/w9mzcz8iGD1gC/aOTHc6PouYu0kkKipNJqHAT7m51sqzQjEjIP+cK0A==}
engines: {node: '>=18'}
globby@11.1.0:
@@ -5249,10 +5441,6 @@ packages:
resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==}
engines: {node: '>=0.10.0'}
- has-yarn@3.0.0:
- resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
has@1.0.3:
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
engines: {node: '>= 0.4.0'}
@@ -5389,10 +5577,6 @@ packages:
resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
engines: {node: '>= 4'}
- ignore@5.3.0:
- resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
- engines: {node: '>= 4'}
-
ignore@5.3.1:
resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
engines: {node: '>= 4'}
@@ -5520,10 +5704,6 @@ packages:
resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
engines: {node: '>=6'}
- is-ci@3.0.1:
- resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
- hasBin: true
-
is-core-module@2.13.1:
resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
@@ -5591,6 +5771,11 @@ packages:
is-hexadecimal@1.0.4:
resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
+ is-in-ci@0.1.0:
+ resolution: {integrity: sha512-d9PXLEY0v1iJ64xLiQMJ51J128EYHAaOR4yZqQi8aHGfw6KgifM3/Viw1oZZ1GCVmb3gBuyhLyHj0HgR2DhSXQ==}
+ engines: {node: '>=18'}
+ hasBin: true
+
is-inside-container@1.0.0:
resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
engines: {node: '>=14.16'}
@@ -5608,9 +5793,6 @@ packages:
resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
engines: {node: '>=12'}
- is-node-process@1.2.0:
- resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==}
-
is-npm@6.0.0:
resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -5716,10 +5898,6 @@ packages:
resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
engines: {node: '>=16'}
- is-yarn-global@0.4.1:
- resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==}
- engines: {node: '>=12'}
-
is64bit@2.0.0:
resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==}
engines: {node: '>=18'}
@@ -5733,6 +5911,10 @@ packages:
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ isexe@3.1.1:
+ resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
+ engines: {node: '>=16'}
+
isobject@2.1.0:
resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==}
engines: {node: '>=0.10.0'}
@@ -5764,8 +5946,8 @@ packages:
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
- js-tokens@8.0.2:
- resolution: {integrity: sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==}
+ js-tokens@9.0.0:
+ resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
js-yaml@3.14.1:
resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
@@ -5797,6 +5979,9 @@ packages:
json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ json-schema-ref-resolver@1.0.1:
+ resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==}
+
json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
@@ -5846,17 +6031,14 @@ packages:
jws@3.2.2:
resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==}
- jwt-decode@3.1.2:
- resolution: {integrity: sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==}
+ jwt-decode@4.0.0:
+ resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==}
+ engines: {node: '>=18'}
katex@0.16.10:
resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==}
hasBin: true
- katex@0.16.9:
- resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==}
- hasBin: true
-
keep-func-props@4.0.1:
resolution: {integrity: sha512-87ftOIICfdww3SxR5P1veq3ThBNyRPG0JGL//oaR08v0k2yTicEIHd7s0GqSJfQvlb+ybC3GiDepOweo0LDhvw==}
engines: {node: '>=12.20.0'}
@@ -5894,8 +6076,8 @@ packages:
known-css-properties@0.29.0:
resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==}
- known-css-properties@0.30.0:
- resolution: {integrity: sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==}
+ known-css-properties@0.31.0:
+ resolution: {integrity: sha512-sBPIUGTNF0czz0mwGGUoKKJC8Q7On1GPbCSFPfyEsfHb2DyBG0Y4QtV+EVWpINSaiGKZblDNuF5AezxSgOhesQ==}
kolorist@1.8.0:
resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
@@ -5903,8 +6085,8 @@ packages:
kuler@2.0.0:
resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==}
- lambda-local@2.1.2:
- resolution: {integrity: sha512-nGTJn2JxZWcLGpNwXFmXC7UEXL7QCLieQWDiXs46vIv9y/gSPm/uHygEMCaym+HIziniAw0XIm+1VTrXCvG1Zw==}
+ lambda-local@2.2.0:
+ resolution: {integrity: sha512-bPcgpIXbHnVGfI/omZIlgucDqlf4LrsunwoKue5JdZeGybt8L6KyJz2Zu19ffuZwIwLj2NAI2ZyaqNT6/cetcg==}
engines: {node: '>=8'}
hasBin: true
@@ -5931,11 +6113,11 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
- light-my-request@5.8.0:
- resolution: {integrity: sha512-4BtD5C+VmyTpzlDPCZbsatZMJVgUIciSOwYhJDCbLffPZ35KoDkDj4zubLeHDEb35b4kkPeEv5imbh+RJxK/Pg==}
+ light-my-request@5.13.0:
+ resolution: {integrity: sha512-9IjUN9ZyCS9pTG+KqTDEQo68Sui2lHsYBrfMyVUTTZ3XhH8PMZq7xO94Kr+eP9dhi/kcKsx4N41p2IXEBil1pQ==}
- lilconfig@3.0.0:
- resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==}
+ lilconfig@3.1.1:
+ resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
engines: {node: '>=14'}
lines-and-columns@1.2.4:
@@ -5944,8 +6126,8 @@ packages:
linkify-it@5.0.0:
resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
- lint-staged@15.2.2:
- resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==}
+ lint-staged@15.2.5:
+ resolution: {integrity: sha512-j+DfX7W9YUvdzEZl3Rk47FhDF6xwDBV5wwsCPw6BwWZVPYJemusQmvb9bRsW23Sqsaa+vRloAWogbK4BUuU2zA==}
engines: {node: '>=18.12.0'}
hasBin: true
@@ -5953,12 +6135,8 @@ packages:
resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==}
hasBin: true
- listr2@7.0.2:
- resolution: {integrity: sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==}
- engines: {node: '>=16.0.0'}
-
- listr2@8.0.1:
- resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==}
+ listr2@8.2.1:
+ resolution: {integrity: sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==}
engines: {node: '>=18.0.0'}
lit-element@4.0.4:
@@ -6077,18 +6255,10 @@ packages:
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
engines: {node: '>=10'}
- log-symbols@5.1.0:
- resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==}
- engines: {node: '>=12'}
-
log-symbols@6.0.0:
resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==}
engines: {node: '>=18'}
- log-update@5.0.1:
- resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
log-update@6.0.0:
resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==}
engines: {node: '>=18'}
@@ -6164,8 +6334,8 @@ packages:
mark.js@8.11.1:
resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
- markdown-it-anchor@8.6.7:
- resolution: {integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==}
+ markdown-it-anchor@9.0.1:
+ resolution: {integrity: sha512-cBt7aAzmkfX8X7FqAe8EBryiKmToXgMQEEMqkXzWCm0toDtfDYIGboKeTKd8cpNJArJtutrf+977wFJTsvNGmQ==}
peerDependencies:
'@types/markdown-it': '*'
markdown-it: '*'
@@ -6176,10 +6346,6 @@ packages:
markdown-it-emoji@3.0.0:
resolution: {integrity: sha512-+rUD93bXHubA4arpEZO3q80so0qgoFJEKRkRbjKX8RTdca89v2kfyF+xR3i2sQTwql9tpPZPOQN5B+PunspXRg==}
- markdown-it@14.0.0:
- resolution: {integrity: sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==}
- hasBin: true
-
markdown-it@14.1.0:
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
hasBin: true
@@ -6296,8 +6462,8 @@ packages:
merge@2.1.1:
resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==}
- mermaid@10.9.0:
- resolution: {integrity: sha512-swZju0hFox/B/qoLKK0rOxxgh8Cf7rJSfAUc1u8fezVihYMvrJAS45GzAxTVf4Q+xn9uMgitBcmWk7nWGXOs/g==}
+ mermaid@10.9.1:
+ resolution: {integrity: sha512-Mx45Obds5W1UkW1nv/7dHRsbfMM1aOKA2+Pxs/IGHNonygDHwmng8xTHyS9z4KWVi0rbko8gjiBmuwwXQ7tiNA==}
methods@1.1.2:
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
@@ -6446,6 +6612,10 @@ packages:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
engines: {node: '>=8.6'}
+ micromatch@4.0.7:
+ resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
+ engines: {node: '>=8.6'}
+
mime-db@1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
@@ -6632,8 +6802,8 @@ packages:
nested-error-stacks@2.1.1:
resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==}
- netlify-cli@17.23.2:
- resolution: {integrity: sha512-C/9gr4Gx5v4oONlzMGtk898AA6hIqe26XN4Fmbz537JIAIeJF86NoePljS4ukIlMu+5Kzr4J7maeDBhHVfRX1w==}
+ netlify-cli@17.23.8:
+ resolution: {integrity: sha512-13eynAnJkhTK9RZMe7L+DRBnC2lJi2jBPsqIojN2ecblJkersunRNfHbo+aXSj2sgImDyGj+bTtFH791h2AUlg==}
engines: {node: '>=18.14.0'}
hasBin: true
@@ -6641,15 +6811,15 @@ packages:
resolution: {integrity: sha512-fTVQf8u65vS4YTP2Qt1K6Np01q3yecRKXf6VMONMlWbfl5n3M/on7pZlZISNAXHNOtnVt+6Kpwfl+RIeALC8Kg==}
engines: {node: ^14.16.0 || >=16.0.0}
- netlify-redirect-parser@14.2.2:
- resolution: {integrity: sha512-LS3cbHZfATtfZFeJr8RLBREAjCE1rEG1CybKnA6dTLgXez0lGJE/QTPzjn6GqfNmiMowo15YQe4+UjRhbzQ04w==}
+ netlify-redirect-parser@14.3.0:
+ resolution: {integrity: sha512-/Oqq+SrTXk8hZqjCBy0AkWf5qAhsgcsdxQA09uYFdSSNG5w9rhh17a7dp77o5Q5XoHCahm8u4Kig/lbXkl4j2g==}
engines: {node: ^14.16.0 || >=16.0.0}
netlify-redirector@0.5.0:
resolution: {integrity: sha512-4zdzIP+6muqPCuE8avnrgDJ6KW/2+UpHTRcTbMXCIRxiRmyrX+IZ4WSJGZdHPWF3WmQpXpy603XxecZ9iygN7w==}
- netlify@13.1.15:
- resolution: {integrity: sha512-6gZ2lMcjqiXqirwbxeXoNyQn1LcW18s8zdR9eTS8Dtuqg/h4JxI7y9ahV9fypfp0bdaTt8hkBoopBJXLQPsJmA==}
+ netlify@13.1.16:
+ resolution: {integrity: sha512-DMqurowUwUk2pPcWlVKvj/gj9NHZJgrTlh/lCArCa82zuMEp++4/hYQAJ2R8ZYfRVZpwg11NT/kkq/vKuImlhA==}
engines: {node: ^14.16.0 || >=16.0.0}
node-abi@3.51.0:
@@ -6669,8 +6839,8 @@ packages:
node-fetch-native@1.6.1:
resolution: {integrity: sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==}
- node-fetch@2.6.12:
- resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==}
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
engines: {node: 4.x || >=6.0.0}
peerDependencies:
encoding: ^0.1.0
@@ -6708,9 +6878,6 @@ packages:
non-layered-tidy-tree-layout@2.0.2:
resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==}
- noop2@2.0.0:
- resolution: {integrity: sha512-2bu7Pfpf6uNqashWV8P7yYeutQ3XkLY9MBSYI5sOAFZxuWcW/uJfLbKj5m6SvMDT9U1Y0C+7UFG+7VSiIdXjtA==}
-
nopt@5.0.0:
resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
engines: {node: '>=6'}
@@ -6751,16 +6918,13 @@ packages:
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
engines: {node: '>=8'}
- npm-run-path@5.1.0:
- resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
npm-run-path@5.3.0:
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
npmlog@5.0.1:
resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
+ deprecated: This package is no longer supported.
nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
@@ -6847,10 +7011,6 @@ packages:
resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
engines: {node: '>=10'}
- ora@6.3.1:
- resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
ora@8.0.1:
resolution: {integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==}
engines: {node: '>=18'}
@@ -6863,9 +7023,6 @@ packages:
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
engines: {node: '>=0.10.0'}
- outvariant@1.4.2:
- resolution: {integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==}
-
p-cancelable@3.0.0:
resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
engines: {node: '>=12.20'}
@@ -6886,6 +7043,10 @@ packages:
resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ p-filter@4.1.0:
+ resolution: {integrity: sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==}
+ engines: {node: '>=18'}
+
p-finally@1.0.0:
resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
engines: {node: '>=4'}
@@ -7103,6 +7264,9 @@ packages:
picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ picocolors@1.0.1:
+ resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
+
picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
@@ -7124,14 +7288,14 @@ packages:
resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
engines: {node: '>=4'}
- pino-abstract-transport@1.0.0:
- resolution: {integrity: sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==}
+ pino-abstract-transport@1.2.0:
+ resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==}
- pino-std-serializers@6.1.0:
- resolution: {integrity: sha512-KO0m2f1HkrPe9S0ldjx7za9BJjeHqBku5Ch8JyxETxT8dEFGz1PwgrHaOQupVYitpzbFSYm7nnljxD8dik2c+g==}
+ pino-std-serializers@7.0.0:
+ resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==}
- pino@8.8.0:
- resolution: {integrity: sha512-cF8iGYeu2ODg2gIwgAHcPrtR63ILJz3f7gkogaHC/TXVVXxZgInmNYiIpDYEwgEkxZti2Se6P2W2DxlBIZe6eQ==}
+ pino@9.1.0:
+ resolution: {integrity: sha512-qUcgfrlyOtjwhNLdbhoL7NR4NkHjzykAPw0V2QLFbvu/zss29h4NkRnibyFzBrNCbzCOY3WZ9hhKSwfOkNggYA==}
hasBin: true
pkg-dir@7.0.0:
@@ -7153,21 +7317,24 @@ packages:
resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==}
engines: {node: '>=0.10.0'}
- postcss-html@1.6.0:
- resolution: {integrity: sha512-OWgQ9/Pe23MnNJC0PL4uZp8k0EDaUvqpJFSiwFxOLClAhmD7UEisyhO3x5hVsD4xFrjReVTXydlrMes45dJ71w==}
+ postcss-html@1.7.0:
+ resolution: {integrity: sha512-MfcMpSUIaR/nNgeVS8AyvyDugXlADjN9AcV7e5rDfrF1wduIAGSkL4q2+wgrZgA3sHVAHLDO9FuauHhZYW2nBw==}
engines: {node: ^12 || >=14}
- postcss-load-config@5.0.3:
- resolution: {integrity: sha512-90pBBI5apUVruIEdCxZic93Wm+i9fTrp7TXbgdUCH+/L+2WnfpITSpq5dFU/IPvbv7aNiMlQISpUkAm3fEcvgQ==}
+ postcss-load-config@5.1.0:
+ resolution: {integrity: sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA==}
engines: {node: '>= 18'}
peerDependencies:
jiti: '>=1.21.0'
postcss: '>=8.0.9'
+ tsx: ^4.8.1
peerDependenciesMeta:
jiti:
optional: true
postcss:
optional: true
+ tsx:
+ optional: true
postcss-media-query-parser@0.2.3:
resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==}
@@ -7197,6 +7364,10 @@ packages:
resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
engines: {node: '>=4'}
+ postcss-selector-parser@6.1.0:
+ resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==}
+ engines: {node: '>=4'}
+
postcss-sorting@8.0.2:
resolution: {integrity: sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==}
peerDependencies:
@@ -7259,8 +7430,8 @@ packages:
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
- process-warning@2.1.0:
- resolution: {integrity: sha512-9C20RLxrZU/rFnxWncDkuF6O999NdIf3E1ws4B0ZeY3sRVPzWBMsYDE2lxjxhiXxg464cQTgKUGm8/i6y2YGXg==}
+ process-warning@3.0.0:
+ resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==}
process@0.11.10:
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
@@ -7367,10 +7538,6 @@ packages:
resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
engines: {node: '>=8'}
- read-pkg-up@9.1.0:
- resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
read-pkg@3.0.0:
resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==}
engines: {node: '>=4'}
@@ -7405,10 +7572,6 @@ packages:
readdir-glob@1.1.2:
resolution: {integrity: sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==}
- readdirp@2.2.1:
- resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==}
- engines: {node: '>=0.10'}
-
readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
@@ -7429,6 +7592,10 @@ packages:
resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==}
engines: {node: '>=4'}
+ refa@0.12.1:
+ resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
regenerator-runtime@0.13.11:
resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
@@ -7436,6 +7603,10 @@ packages:
resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==}
engines: {node: '>=0.10.0'}
+ regexp-ast-analysis@0.7.1:
+ resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
regexp-tree@0.1.27:
resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
hasBin: true
@@ -7530,9 +7701,9 @@ packages:
resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==}
engines: {node: '>=0.12'}
- ret@0.2.2:
- resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==}
- engines: {node: '>=4'}
+ ret@0.4.3:
+ resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==}
+ engines: {node: '>=10'}
retry@0.13.1:
resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
@@ -7545,13 +7716,17 @@ packages:
rfdc@1.3.0:
resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==}
+ rfdc@1.3.1:
+ resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==}
+
rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
- rimraf@5.0.5:
- resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==}
- engines: {node: '>=14'}
+ rimraf@5.0.7:
+ resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==}
+ engines: {node: '>=14.18'}
hasBin: true
robust-predicates@3.0.2:
@@ -7562,6 +7737,11 @@ packages:
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
+ rollup@4.18.0:
+ resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
run-async@2.4.1:
resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
engines: {node: '>=0.12.0'}
@@ -7595,8 +7775,8 @@ packages:
safe-json-stringify@1.2.0:
resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==}
- safe-regex2@2.0.0:
- resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==}
+ safe-regex2@3.1.0:
+ resolution: {integrity: sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==}
safe-regex@1.1.0:
resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==}
@@ -7608,14 +7788,18 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- sass@1.77.0:
- resolution: {integrity: sha512-eGj4HNfXqBWtSnvItNkn7B6icqH14i3CiCGbzMKs3BAPTq62pp9NBYsBgyN4cA+qssqo9r26lW4JSvlaUUWbgw==}
+ sass@1.77.2:
+ resolution: {integrity: sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA==}
engines: {node: '>=14.0.0'}
hasBin: true
sax@1.2.4:
resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
+ scslre@0.3.0:
+ resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==}
+ engines: {node: ^14.0.0 || >=16.0.0}
+
search-insights@2.7.0:
resolution: {integrity: sha512-GLbVaGgzYEKMvuJbHRhLi1qoBFnjXZGZ6l4LxOYPCp4lI2jDRB3jPU9/XNhMwv6kvnA9slTreq6pvK+b3o3aqg==}
engines: {node: '>=8.16.0'}
@@ -7701,8 +7885,8 @@ packages:
shell-quote@1.8.1:
resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
- shiki@1.5.1:
- resolution: {integrity: sha512-vx4Ds3M3B9ZEmLeSXqBAB85osBWV8ErZfP69kuFQZozPgHc33m7spLTCUkcjwEjFm3gk3F9IdXMv8kX+v9xDHA==}
+ shiki@1.6.0:
+ resolution: {integrity: sha512-P31ROeXcVgW/k3Z+vUUErcxoTah7ZRaimctOpzGuqAntqnnSmx1HOsvnbAB8Z2qfXPRhw61yptAzCsuKOhTHwQ==}
side-channel@1.0.4:
resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
@@ -7726,9 +7910,9 @@ packages:
sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
- sitemap@7.1.1:
- resolution: {integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==}
- engines: {node: '>=12.0.0', npm: '>=5.6.0'}
+ sitemap@8.0.0:
+ resolution: {integrity: sha512-+AbdxhM9kJsHtruUF39bwS/B0Fytw6Fr1o4ZAIAEqA6cke2xcoO2GleBw9Zw7nRzILVEgz7zBM5GiTJjie1G9A==}
+ engines: {node: '>=14.0.0', npm: '>=6.0.0'}
hasBin: true
slash@3.0.0:
@@ -7767,8 +7951,8 @@ packages:
resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==}
engines: {node: '>=0.10.0'}
- sonic-boom@3.2.1:
- resolution: {integrity: sha512-iITeTHxy3B9FGu8aVdiDXUVAcHMF9Ss0cCsAOo2HfCrmVGT3/DT5oYaeu0M/YKZDlKTvChEyPq0zI9Hf33EX6A==}
+ sonic-boom@4.0.1:
+ resolution: {integrity: sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==}
sort-keys-length@1.0.1:
resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==}
@@ -7866,10 +8050,6 @@ packages:
std-env@3.7.0:
resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
- stdin-discarder@0.1.0:
- resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
stdin-discarder@0.2.2:
resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
engines: {node: '>=18'}
@@ -7877,9 +8057,6 @@ packages:
streamx@2.15.0:
resolution: {integrity: sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==}
- strict-event-emitter@0.5.1:
- resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==}
-
string-argv@0.3.2:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
engines: {node: '>=0.6.19'}
@@ -8014,8 +8191,8 @@ packages:
peerDependencies:
stylelint: ^16.1.0
- stylelint-define-config@1.3.0:
- resolution: {integrity: sha512-hBIfm6Fr0KY2XcdA8YWssSPCZZoDfoSpKyd9qUctpU24VsTQLIq6X+xl/gWuk1NVK2Red1YhvvbgL31eoBialQ==}
+ stylelint-define-config@1.5.0:
+ resolution: {integrity: sha512-7QzE4nPhUe0bxSDYsSDfNUvGZNSRRmAHuskUezIAe14mrCoCyyDkHtyF6c5lo+VxsuhuCtjB40GU1L2637c8Fg==}
engines: {node: '>=18.0.0', npm: '>=9.0.0', pnpm: '>=8.6.0'}
peerDependencies:
stylelint: '>=16.0.0'
@@ -8031,8 +8208,8 @@ packages:
peerDependencies:
stylelint: ^16.0.2
- stylelint@16.5.0:
- resolution: {integrity: sha512-IlCBtVrG+qTy3v+tZTk50W8BIomjY/RUuzdrDqdnlCYwVuzXtPbiGfxYqtyYAyOMcb+195zRsuHn6tgfPmFfbw==}
+ stylelint@16.6.0:
+ resolution: {integrity: sha512-vjWYlDEgOS3Z/IcXagQwi8PFJyPro1DxBYOnTML1PAqnrYUHs8owleGStv20sgt0OhW8r9zZm6MK7IT2+l2B6A==}
engines: {node: '>=18.12.0'}
hasBin: true
@@ -8133,8 +8310,8 @@ packages:
resolution: {integrity: sha512-bX655WZI/F7EoTDw9JvQURqAXiPHi8o8+yFxPF2lWYyz1aHnmMRuXWqL6YB6GmeO0o4DIYWHLgGNi/X64T+X4Q==}
engines: {node: '>=14.18'}
- tempy@3.0.0:
- resolution: {integrity: sha512-B2I9X7+o2wOaW4r/CWMkpOO9mdiTRCxXNgob6iGvPmfPWgH/KyUD6Uy5crtWBxIBe3YrNZKR2lSzv1JJKWD4vA==}
+ tempy@3.1.0:
+ resolution: {integrity: sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==}
engines: {node: '>=14.16'}
terminal-link@3.0.0:
@@ -8155,14 +8332,16 @@ packages:
text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
- thread-stream@2.3.0:
- resolution: {integrity: sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==}
+ thread-stream@3.0.0:
+ resolution: {integrity: sha512-oUIFjxaUT6knhPtWgDMc29zF1FcSl0yXpapkyrQrCGEfYA2HUZXCilUtKyYIv6HkCyqSPAMkY+EG0GbyIrNDQg==}
- through2-filter@3.0.0:
- resolution: {integrity: sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==}
+ through2-filter@4.0.0:
+ resolution: {integrity: sha512-P8IpQL19bSdXqGLvLdbidYRxERXgHEXGcQofPxbLpPkqS1ieOrUrocdYRTNv8YwSukaDJWr71s6F2kZ3bvgEhA==}
+ engines: {node: '>= 6'}
- through2-map@3.0.0:
- resolution: {integrity: sha512-Ms68QPbSJKjRYY7fmqZHB0VGt+vD0/tjmDHUWgxltjifCof6hZWWeQAEi27Wjbs7jyNlIIyerQw/TVj7gHkd/Q==}
+ through2-map@4.0.0:
+ resolution: {integrity: sha512-+rpmDB5yckiBGEuqJSsWYWMs9e1zdksypDKvByysEyN+knhsPXV9Z6O2mA9meczIa6AON7bi2G3xWk5T8UG4zQ==}
+ engines: {node: '>= 6'}
through2@2.0.5:
resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
@@ -8177,15 +8356,11 @@ packages:
resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==}
engines: {node: '>=4'}
- tiny-lru@11.0.1:
- resolution: {integrity: sha512-iNgFugVuQgBKrqeO/mpiTTgmBsTP0WL6yeuLfLs/Ctf0pI/ixGqIRm8sDCwMcXGe9WWvt2sGXI5mNqZbValmJg==}
- engines: {node: '>=12'}
+ tm-grammars@1.12.4:
+ resolution: {integrity: sha512-nJX4r/nyZSHmaoAgitKZasnUJ68hHbeCfUMz/+Eb2Di+E0p2ZIiR8WOxiTFsIulbhTQW4cGdsuTlKVWTjtfgeg==}
- tm-grammars@1.11.1:
- resolution: {integrity: sha512-aEDLV1NbqpOs3aizGv2EUdu29pfiRL+q+oD3B0ETkI9j2QZPXjnd06TAOv9mbsaQT6RS0IvSzvHupXuINci6Sw==}
-
- tm-themes@1.4.1:
- resolution: {integrity: sha512-vPA4p/jPpqdusyOQC/rjYXWY/srG9Es+6yczNy69hKVLzG/EGLPsc7G9WDJkM4ksHtdATbi2cD0jcgjd2DjDQA==}
+ tm-themes@1.4.3:
+ resolution: {integrity: sha512-nsUGwktLaWFMyKw2e/hNyDmcTIO+ue6Q2Mvb8L7WQkKSCflOm2TjGSspcJw6q7hi4QxQQNTuGICyvQN1UqtunQ==}
tmp-promise@3.0.3:
resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==}
@@ -8222,6 +8397,10 @@ packages:
resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==}
engines: {node: '>=0.10.0'}
+ toad-cache@3.7.0:
+ resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==}
+ engines: {node: '>=12'}
+
toidentifier@1.0.1:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
engines: {node: '>=0.6'}
@@ -8369,6 +8548,10 @@ packages:
resolution: {integrity: sha512-5Y2/pp2wtJk8o08G0CMkuFPCO354FGwk/vbidxrdhRGZfd0tFnb4Qb8anp9XxXriwBgVPjdWbKpGl4J9lJY2jQ==}
engines: {node: '>=16'}
+ type-fest@4.18.3:
+ resolution: {integrity: sha512-Q08/0IrpvM+NMY9PA2rti9Jb+JejTddwmwmVQGskAlhtcrw1wsRzoR6ode6mR+OAabNa75w/dxedSUY2mlphaQ==}
+ engines: {node: '>=16'}
+
type-is@1.6.18:
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
engines: {node: '>= 0.6'}
@@ -8381,9 +8564,6 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
- uc.micro@2.0.0:
- resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==}
-
uc.micro@2.1.0:
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
@@ -8536,9 +8716,9 @@ packages:
peerDependencies:
browserslist: '>= 4.21.0'
- update-notifier@6.0.2:
- resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==}
- engines: {node: '>=14.16'}
+ update-notifier@7.0.0:
+ resolution: {integrity: sha512-Hv25Bh+eAbOLlsjJreVPOs4vd51rrtCrmhyOJtbpAojro34jS4KQaEp4/EvlHJX7jSO42VvEFpkastVyXyIsdQ==}
+ engines: {node: '>=18'}
uqr@0.1.2:
resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==}
@@ -8569,10 +8749,6 @@ packages:
deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
hasBin: true
- uuid@9.0.0:
- resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==}
- hasBin: true
-
uuid@9.0.1:
resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
hasBin: true
@@ -8630,34 +8806,6 @@ packages:
terser:
optional: true
- vite@5.2.2:
- resolution: {integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
-
vue-demi@0.14.7:
resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
engines: {node: '>=12'}
@@ -8680,11 +8828,6 @@ packages:
peerDependencies:
vue: ^3.0.0
- vue-router@4.3.0:
- resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==}
- peerDependencies:
- vue: ^3.2.0
-
vue-router@4.3.2:
resolution: {integrity: sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==}
peerDependencies:
@@ -8701,8 +8844,8 @@ packages:
typescript:
optional: true
- vuepress-plugin-md-enhance@2.0.0-rc.39:
- resolution: {integrity: sha512-OKJcYXyZSiYBI/cZjx04TdRkKDKLqt9k+tpSNpwZLG2PI7NowOw/HQBZzTONDayRhtPhMy4519Cb0o0F8uogaw==}
+ vuepress-plugin-md-enhance@2.0.0-rc.44:
+ resolution: {integrity: sha512-OdHUaohwn/Hac91h8lO13w5An0AJjZXpj9azT67RwMPubanjIUtFi/0Ch7gGVw8e2w2Uo/1lM146V7QARhbFbA==}
engines: {node: '>=18.19.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
peerDependencies:
'@types/reveal.js': ^5.0.0
@@ -8720,7 +8863,7 @@ packages:
reveal.js: ^5.0.0
sandpack-vue3: ^3.0.0
sass-loader: ^14.0.0
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
peerDependenciesMeta:
'@types/reveal.js':
optional: true
@@ -8753,19 +8896,19 @@ packages:
sass-loader:
optional: true
- vuepress-shared@2.0.0-rc.39:
- resolution: {integrity: sha512-F3C4cLHB8f147FwJ5HoHNjc+Tka3VHPnjUzOka/D+X13NQMpA72vsjph0q4hVVwUsq2ftQTVKxl5NSm7qgtCYg==}
+ vuepress-shared@2.0.0-rc.44:
+ resolution: {integrity: sha512-fFeG7mGlvbLaUgYu6dyBSheKfRVA7O/bZqIj4FordvfNsGFqyERXLWsUpU5YpVOUzvRdo8sfeaVXG78Qqa+ZQA==}
engines: {node: '>=18.19.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'}
peerDependencies:
- vuepress: 2.0.0-rc.9
+ vuepress: 2.0.0-rc.12
- vuepress@2.0.0-rc.9:
- resolution: {integrity: sha512-jT1ln2lawdph+vVI6n2JfEUhQIcyc1RQWDdQu9DffhJGywJunFcumnUJudpqd1SNIES2Fz1hVCD6gdrE/rVKOQ==}
+ vuepress@2.0.0-rc.12:
+ resolution: {integrity: sha512-yYAt5le/J8mbyxYAbp/jMg7GMVDYKMRxjWfunJrSYMwqzvrcPCSZZkEgDyOD8AlPIzsuieXROytytvDn/5M4wQ==}
engines: {node: '>=18.16.0'}
hasBin: true
peerDependencies:
- '@vuepress/bundler-vite': 2.0.0-rc.9
- '@vuepress/bundler-webpack': 2.0.0-rc.9
+ '@vuepress/bundler-vite': 2.0.0-rc.12
+ '@vuepress/bundler-webpack': 2.0.0-rc.12
vue: ^3.4.0
peerDependenciesMeta:
'@vuepress/bundler-vite':
@@ -8773,13 +8916,13 @@ packages:
'@vuepress/bundler-webpack':
optional: true
- wait-port@1.0.4:
- resolution: {integrity: sha512-w8Ftna3h6XSFWWc2JC5gZEgp64nz8bnaTp5cvzbJSZ53j+omktWTDdwXxEF0jM8YveviLgFWvNGrSvRHnkyHyw==}
+ wait-port@1.1.0:
+ resolution: {integrity: sha512-3e04qkoN3LxTMLakdqeWth8nih8usyg+sf1Bgdf9wwUkp05iuK1eSY/QpLvscT/+F/gA89+LpUmmgBtesbqI2Q==}
engines: {node: '>=10'}
hasBin: true
- watermark-js-plus@1.4.24:
- resolution: {integrity: sha512-tKgP/StyzPlaTQELbzMKLtaVUhPSYB1SMba9ENAQC8pCl4aGsBrnsbIR9m1AKmIv/uVBSB1/rEwugR7w51AwDA==}
+ watermark-js-plus@1.5.0:
+ resolution: {integrity: sha512-9oA3tbw+Nz5tjGncYTcJj5f1Uc6MrsroiMq2xumlYLTbI3dCEG8/ry62AUybghluKYZMZAJ3O9OlKdFjdYEucw==}
engines: {node: '>=16.0.0'}
wcwidth@1.0.1:
@@ -8863,8 +9006,8 @@ packages:
resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- ws@8.14.2:
- resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==}
+ ws@8.17.0:
+ resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
@@ -8907,6 +9050,11 @@ packages:
resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
engines: {node: '>= 14'}
+ yaml@2.4.2:
+ resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==}
+ engines: {node: '>= 14'}
+ hasBin: true
+
yargs-parser@20.2.9:
resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
engines: {node: '>=10'}
@@ -8942,12 +9090,12 @@ packages:
resolution: {integrity: sha512-esbDnt0Z1zI1KgvOZU90hJbL6BkoUbrP9yy7ArNZ6TmxBxydMJTYMf9FZjmwwcA8ZgEQzriQ3hwZ0NYXhlFo8Q==}
engines: {node: '>=18'}
- zip-stream@5.0.1:
- resolution: {integrity: sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==}
- engines: {node: '>= 12.0.0'}
+ zip-stream@6.0.1:
+ resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==}
+ engines: {node: '>= 14'}
- zod@3.22.4:
- resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
+ zod@3.23.8:
+ resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
zrender@5.5.0:
resolution: {integrity: sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==}
@@ -8984,9 +9132,8 @@ snapshots:
'@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)':
dependencies:
- algoliasearch: 4.20.0
- optionalDependencies:
'@algolia/client-search': 4.20.0
+ algoliasearch: 4.20.0
'@algolia/cache-browser-local-storage@4.20.0':
dependencies:
@@ -9055,12 +9202,14 @@ snapshots:
execa: 5.1.1
find-up: 5.0.0
- '@antfu/install-pkg@0.3.2':
+ '@antfu/install-pkg@0.3.3':
dependencies:
- execa: 8.0.1
+ '@jsdevtools/ez-spawn': 3.0.4
'@antfu/utils@0.7.7': {}
+ '@antfu/utils@0.7.8': {}
+
'@babel/code-frame@7.22.13':
dependencies:
'@babel/highlight': 7.22.20
@@ -9068,8 +9217,12 @@ snapshots:
'@babel/helper-string-parser@7.23.4': {}
+ '@babel/helper-string-parser@7.24.1': {}
+
'@babel/helper-validator-identifier@7.22.20': {}
+ '@babel/helper-validator-identifier@7.24.5': {}
+
'@babel/highlight@7.22.20':
dependencies:
'@babel/helper-validator-identifier': 7.22.20
@@ -9090,6 +9243,12 @@ snapshots:
'@babel/helper-validator-identifier': 7.22.20
to-fast-properties: 2.0.0
+ '@babel/types@7.24.5':
+ dependencies:
+ '@babel/helper-string-parser': 7.24.1
+ '@babel/helper-validator-identifier': 7.24.5
+ to-fast-properties: 2.0.0
+
'@braintree/sanitize-url@6.0.4': {}
'@bugsnag/browser@7.22.7':
@@ -9106,12 +9265,12 @@ snapshots:
'@bugsnag/cuid@3.0.0': {}
- '@bugsnag/js@7.22.7':
+ '@bugsnag/js@7.23.0':
dependencies:
'@bugsnag/browser': 7.22.7
- '@bugsnag/node': 7.22.7
+ '@bugsnag/node': 7.23.0
- '@bugsnag/node@7.22.7':
+ '@bugsnag/node@7.23.0':
dependencies:
'@bugsnag/core': 7.22.7
byline: 5.0.0
@@ -9166,7 +9325,7 @@ snapshots:
'@commitlint/is-ignored@19.2.2':
dependencies:
'@commitlint/types': 19.0.3
- semver: 7.6.0
+ semver: 7.6.2
'@commitlint/lint@19.2.2':
dependencies:
@@ -9250,16 +9409,27 @@ snapshots:
dependencies:
'@csstools/css-tokenizer': 2.2.4
+ '@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1)':
+ dependencies:
+ '@csstools/css-tokenizer': 2.3.1
+
'@csstools/css-tokenizer@2.2.4': {}
+ '@csstools/css-tokenizer@2.3.1': {}
+
+ '@csstools/media-query-list-parser@2.1.11(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)':
+ dependencies:
+ '@csstools/css-parser-algorithms': 2.6.3(@csstools/css-tokenizer@2.3.1)
+ '@csstools/css-tokenizer': 2.3.1
+
'@csstools/media-query-list-parser@2.1.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)':
dependencies:
'@csstools/css-parser-algorithms': 2.6.1(@csstools/css-tokenizer@2.2.4)
'@csstools/css-tokenizer': 2.2.4
- '@csstools/selector-specificity@3.0.3(postcss-selector-parser@6.0.16)':
+ '@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.1.0)':
dependencies:
- postcss-selector-parser: 6.0.16
+ postcss-selector-parser: 6.1.0
'@dabh/diagnostics@2.0.3':
dependencies:
@@ -9296,10 +9466,13 @@ snapshots:
transitivePeerDependencies:
- '@algolia/client-search'
- '@dual-bundle/import-meta-resolve@4.0.0': {}
+ '@dual-bundle/import-meta-resolve@4.1.0': {}
- '@es-joy/jsdoccomment@0.42.0':
+ '@es-joy/jsdoccomment@0.43.0':
dependencies:
+ '@types/eslint': 8.56.9
+ '@types/estree': 1.0.5
+ '@typescript-eslint/types': 7.7.1
comment-parser: 1.4.1
esquery: 1.5.0
jsdoc-type-pratt-parser: 4.0.0
@@ -9310,7 +9483,10 @@ snapshots:
'@esbuild/aix-ppc64@0.20.2':
optional: true
- '@esbuild/aix-ppc64@0.21.1':
+ '@esbuild/aix-ppc64@0.21.2':
+ optional: true
+
+ '@esbuild/aix-ppc64@0.21.4':
optional: true
'@esbuild/android-arm64@0.19.11':
@@ -9319,7 +9495,10 @@ snapshots:
'@esbuild/android-arm64@0.20.2':
optional: true
- '@esbuild/android-arm64@0.21.1':
+ '@esbuild/android-arm64@0.21.2':
+ optional: true
+
+ '@esbuild/android-arm64@0.21.4':
optional: true
'@esbuild/android-arm@0.19.11':
@@ -9328,7 +9507,10 @@ snapshots:
'@esbuild/android-arm@0.20.2':
optional: true
- '@esbuild/android-arm@0.21.1':
+ '@esbuild/android-arm@0.21.2':
+ optional: true
+
+ '@esbuild/android-arm@0.21.4':
optional: true
'@esbuild/android-x64@0.19.11':
@@ -9337,7 +9519,10 @@ snapshots:
'@esbuild/android-x64@0.20.2':
optional: true
- '@esbuild/android-x64@0.21.1':
+ '@esbuild/android-x64@0.21.2':
+ optional: true
+
+ '@esbuild/android-x64@0.21.4':
optional: true
'@esbuild/darwin-arm64@0.19.11':
@@ -9346,7 +9531,10 @@ snapshots:
'@esbuild/darwin-arm64@0.20.2':
optional: true
- '@esbuild/darwin-arm64@0.21.1':
+ '@esbuild/darwin-arm64@0.21.2':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.21.4':
optional: true
'@esbuild/darwin-x64@0.19.11':
@@ -9355,7 +9543,10 @@ snapshots:
'@esbuild/darwin-x64@0.20.2':
optional: true
- '@esbuild/darwin-x64@0.21.1':
+ '@esbuild/darwin-x64@0.21.2':
+ optional: true
+
+ '@esbuild/darwin-x64@0.21.4':
optional: true
'@esbuild/freebsd-arm64@0.19.11':
@@ -9364,7 +9555,10 @@ snapshots:
'@esbuild/freebsd-arm64@0.20.2':
optional: true
- '@esbuild/freebsd-arm64@0.21.1':
+ '@esbuild/freebsd-arm64@0.21.2':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.21.4':
optional: true
'@esbuild/freebsd-x64@0.19.11':
@@ -9373,7 +9567,10 @@ snapshots:
'@esbuild/freebsd-x64@0.20.2':
optional: true
- '@esbuild/freebsd-x64@0.21.1':
+ '@esbuild/freebsd-x64@0.21.2':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.21.4':
optional: true
'@esbuild/linux-arm64@0.19.11':
@@ -9382,7 +9579,10 @@ snapshots:
'@esbuild/linux-arm64@0.20.2':
optional: true
- '@esbuild/linux-arm64@0.21.1':
+ '@esbuild/linux-arm64@0.21.2':
+ optional: true
+
+ '@esbuild/linux-arm64@0.21.4':
optional: true
'@esbuild/linux-arm@0.19.11':
@@ -9391,7 +9591,10 @@ snapshots:
'@esbuild/linux-arm@0.20.2':
optional: true
- '@esbuild/linux-arm@0.21.1':
+ '@esbuild/linux-arm@0.21.2':
+ optional: true
+
+ '@esbuild/linux-arm@0.21.4':
optional: true
'@esbuild/linux-ia32@0.19.11':
@@ -9400,7 +9603,10 @@ snapshots:
'@esbuild/linux-ia32@0.20.2':
optional: true
- '@esbuild/linux-ia32@0.21.1':
+ '@esbuild/linux-ia32@0.21.2':
+ optional: true
+
+ '@esbuild/linux-ia32@0.21.4':
optional: true
'@esbuild/linux-loong64@0.19.11':
@@ -9409,7 +9615,10 @@ snapshots:
'@esbuild/linux-loong64@0.20.2':
optional: true
- '@esbuild/linux-loong64@0.21.1':
+ '@esbuild/linux-loong64@0.21.2':
+ optional: true
+
+ '@esbuild/linux-loong64@0.21.4':
optional: true
'@esbuild/linux-mips64el@0.19.11':
@@ -9418,7 +9627,10 @@ snapshots:
'@esbuild/linux-mips64el@0.20.2':
optional: true
- '@esbuild/linux-mips64el@0.21.1':
+ '@esbuild/linux-mips64el@0.21.2':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.21.4':
optional: true
'@esbuild/linux-ppc64@0.19.11':
@@ -9427,7 +9639,10 @@ snapshots:
'@esbuild/linux-ppc64@0.20.2':
optional: true
- '@esbuild/linux-ppc64@0.21.1':
+ '@esbuild/linux-ppc64@0.21.2':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.21.4':
optional: true
'@esbuild/linux-riscv64@0.19.11':
@@ -9436,7 +9651,10 @@ snapshots:
'@esbuild/linux-riscv64@0.20.2':
optional: true
- '@esbuild/linux-riscv64@0.21.1':
+ '@esbuild/linux-riscv64@0.21.2':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.21.4':
optional: true
'@esbuild/linux-s390x@0.19.11':
@@ -9445,7 +9663,10 @@ snapshots:
'@esbuild/linux-s390x@0.20.2':
optional: true
- '@esbuild/linux-s390x@0.21.1':
+ '@esbuild/linux-s390x@0.21.2':
+ optional: true
+
+ '@esbuild/linux-s390x@0.21.4':
optional: true
'@esbuild/linux-x64@0.19.11':
@@ -9454,7 +9675,10 @@ snapshots:
'@esbuild/linux-x64@0.20.2':
optional: true
- '@esbuild/linux-x64@0.21.1':
+ '@esbuild/linux-x64@0.21.2':
+ optional: true
+
+ '@esbuild/linux-x64@0.21.4':
optional: true
'@esbuild/netbsd-x64@0.19.11':
@@ -9463,7 +9687,10 @@ snapshots:
'@esbuild/netbsd-x64@0.20.2':
optional: true
- '@esbuild/netbsd-x64@0.21.1':
+ '@esbuild/netbsd-x64@0.21.2':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.21.4':
optional: true
'@esbuild/openbsd-x64@0.19.11':
@@ -9472,7 +9699,10 @@ snapshots:
'@esbuild/openbsd-x64@0.20.2':
optional: true
- '@esbuild/openbsd-x64@0.21.1':
+ '@esbuild/openbsd-x64@0.21.2':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.21.4':
optional: true
'@esbuild/sunos-x64@0.19.11':
@@ -9481,7 +9711,10 @@ snapshots:
'@esbuild/sunos-x64@0.20.2':
optional: true
- '@esbuild/sunos-x64@0.21.1':
+ '@esbuild/sunos-x64@0.21.2':
+ optional: true
+
+ '@esbuild/sunos-x64@0.21.4':
optional: true
'@esbuild/win32-arm64@0.19.11':
@@ -9490,7 +9723,10 @@ snapshots:
'@esbuild/win32-arm64@0.20.2':
optional: true
- '@esbuild/win32-arm64@0.21.1':
+ '@esbuild/win32-arm64@0.21.2':
+ optional: true
+
+ '@esbuild/win32-arm64@0.21.4':
optional: true
'@esbuild/win32-ia32@0.19.11':
@@ -9499,7 +9735,10 @@ snapshots:
'@esbuild/win32-ia32@0.20.2':
optional: true
- '@esbuild/win32-ia32@0.21.1':
+ '@esbuild/win32-ia32@0.21.2':
+ optional: true
+
+ '@esbuild/win32-ia32@0.21.4':
optional: true
'@esbuild/win32-x64@0.19.11':
@@ -9508,30 +9747,19 @@ snapshots:
'@esbuild/win32-x64@0.20.2':
optional: true
- '@esbuild/win32-x64@0.21.1':
+ '@esbuild/win32-x64@0.21.2':
optional: true
- '@eslint-community/eslint-utils@4.4.0(eslint@9.2.0)':
+ '@esbuild/win32-x64@0.21.4':
+ optional: true
+
+ '@eslint-community/eslint-utils@4.4.0(eslint@9.3.0)':
dependencies:
- eslint: 9.2.0
+ eslint: 9.3.0
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.10.0': {}
- '@eslint/eslintrc@2.1.4':
- dependencies:
- ajv: 6.12.6
- debug: 4.3.4(supports-color@9.2.2)
- espree: 9.6.1
- globals: 13.24.0
- ignore: 5.3.1
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
-
'@eslint/eslintrc@3.0.2':
dependencies:
ajv: 6.12.6
@@ -9546,7 +9774,21 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.2.0': {}
+ '@eslint/eslintrc@3.1.0':
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4(supports-color@9.2.2)
+ espree: 10.0.1
+ globals: 14.0.0
+ ignore: 5.3.1
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/js@9.3.0': {}
'@fastify/accept-negotiator@1.1.0': {}
@@ -9556,13 +9798,15 @@ snapshots:
ajv-formats: 2.1.1(ajv@8.12.0)
fast-uri: 2.2.0
- '@fastify/deepmerge@1.3.0': {}
-
- '@fastify/error@3.2.0': {}
+ '@fastify/error@3.4.1': {}
'@fastify/fast-json-stringify-compiler@4.3.0':
dependencies:
- fast-json-stringify: 5.7.0
+ fast-json-stringify: 5.15.1
+
+ '@fastify/merge-json-schemas@0.1.1':
+ dependencies:
+ fast-deep-equal: 3.1.3
'@fastify/send@2.1.0':
dependencies:
@@ -9572,14 +9816,14 @@ snapshots:
http-errors: 2.0.0
mime: 3.0.0
- '@fastify/static@6.12.0':
+ '@fastify/static@7.0.4':
dependencies:
'@fastify/accept-negotiator': 1.1.0
'@fastify/send': 2.1.0
content-disposition: 0.5.4
fastify-plugin: 4.5.0
- glob: 8.0.3
- p-limit: 3.1.0
+ fastq: 1.17.1
+ glob: 10.3.10
'@floating-ui/core@1.6.0':
dependencies:
@@ -9605,7 +9849,7 @@ snapshots:
'@humanwhocodes/object-schema@2.0.3': {}
- '@humanwhocodes/retry@0.2.3': {}
+ '@humanwhocodes/retry@0.3.0': {}
'@hutson/parse-repository-url@3.0.2': {}
@@ -9613,7 +9857,7 @@ snapshots:
'@iarna/toml@2.2.5': {}
- '@iconify/json@2.2.208':
+ '@iconify/json@2.2.214':
dependencies:
'@iconify/types': 2.0.0
pathe: 1.1.2
@@ -9654,7 +9898,7 @@ snapshots:
dependencies:
'@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1
- '@types/node': 20.12.11
+ '@types/node': 20.12.12
'@types/yargs': 16.0.4
chalk: 4.1.2
@@ -9689,247 +9933,238 @@ snapshots:
detect-libc: 2.0.2
https-proxy-agent: 5.0.1(supports-color@9.2.2)
make-dir: 3.1.0
- node-fetch: 2.6.12
+ node-fetch: 2.7.0
nopt: 5.0.0
npmlog: 5.0.1
rimraf: 3.0.2
- semver: 7.6.0
+ semver: 7.6.2
tar: 6.2.0
transitivePeerDependencies:
- encoding
- supports-color
- '@mdit-vue/plugin-component@2.0.0':
+ '@mdit-vue/plugin-component@2.1.3':
dependencies:
- '@types/markdown-it': 13.0.7
- markdown-it: 14.0.0
+ '@types/markdown-it': 14.1.1
+ markdown-it: 14.1.0
- '@mdit-vue/plugin-frontmatter@2.0.0':
+ '@mdit-vue/plugin-frontmatter@2.1.3':
dependencies:
- '@mdit-vue/types': 2.0.0
- '@types/markdown-it': 13.0.7
+ '@mdit-vue/types': 2.1.0
+ '@types/markdown-it': 14.1.1
gray-matter: 4.0.3
- markdown-it: 14.0.0
+ markdown-it: 14.1.0
- '@mdit-vue/plugin-headers@2.0.0':
+ '@mdit-vue/plugin-headers@2.1.3':
dependencies:
- '@mdit-vue/shared': 2.0.0
- '@mdit-vue/types': 2.0.0
- '@types/markdown-it': 13.0.7
- markdown-it: 14.0.0
+ '@mdit-vue/shared': 2.1.3
+ '@mdit-vue/types': 2.1.0
+ '@types/markdown-it': 14.1.1
+ markdown-it: 14.1.0
- '@mdit-vue/plugin-sfc@2.0.0':
+ '@mdit-vue/plugin-sfc@2.1.3':
dependencies:
- '@mdit-vue/types': 2.0.0
- '@types/markdown-it': 13.0.7
- markdown-it: 14.0.0
+ '@mdit-vue/types': 2.1.0
+ '@types/markdown-it': 14.1.1
+ markdown-it: 14.1.0
- '@mdit-vue/plugin-title@2.0.0':
+ '@mdit-vue/plugin-title@2.1.3':
dependencies:
- '@mdit-vue/shared': 2.0.0
- '@mdit-vue/types': 2.0.0
- '@types/markdown-it': 13.0.7
- markdown-it: 14.0.0
+ '@mdit-vue/shared': 2.1.3
+ '@mdit-vue/types': 2.1.0
+ '@types/markdown-it': 14.1.1
+ markdown-it: 14.1.0
- '@mdit-vue/plugin-toc@2.0.0':
+ '@mdit-vue/plugin-toc@2.1.3':
dependencies:
- '@mdit-vue/shared': 2.0.0
- '@mdit-vue/types': 2.0.0
- '@types/markdown-it': 13.0.7
- markdown-it: 14.0.0
+ '@mdit-vue/shared': 2.1.3
+ '@mdit-vue/types': 2.1.0
+ '@types/markdown-it': 14.1.1
+ markdown-it: 14.1.0
- '@mdit-vue/shared@2.0.0':
+ '@mdit-vue/shared@2.1.3':
dependencies:
- '@mdit-vue/types': 2.0.0
- '@types/markdown-it': 13.0.7
- markdown-it: 14.0.0
+ '@mdit-vue/types': 2.1.0
+ '@types/markdown-it': 14.1.1
+ markdown-it: 14.1.0
- '@mdit-vue/types@2.0.0': {}
+ '@mdit-vue/types@2.1.0': {}
- '@mdit/plugin-alert@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-alert@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-align@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-align@0.12.0(markdown-it@14.1.0)':
dependencies:
- '@mdit/plugin-container': 0.10.1(markdown-it@14.1.0)
+ '@mdit/plugin-container': 0.12.0(markdown-it@14.1.0)
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-attrs@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-attrs@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-container@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-container@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-demo@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-demo@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-figure@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-figure@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-footnote@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-footnote@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
markdown-it: 14.1.0
- '@mdit/plugin-img-lazyload@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-img-lazyload@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-img-mark@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-img-mark@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-img-size@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-img-size@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-include@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-include@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
upath: 2.0.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-katex-slim@0.10.1(katex@0.16.10)(markdown-it@14.1.0)':
+ '@mdit/plugin-katex-slim@0.12.0(katex@0.16.10)(markdown-it@14.1.0)':
dependencies:
- '@mdit/plugin-tex': 0.10.1(markdown-it@14.1.0)
+ '@mdit/plugin-tex': 0.12.0(markdown-it@14.1.0)
'@types/katex': 0.16.7
'@types/markdown-it': 14.1.1
optionalDependencies:
katex: 0.16.10
markdown-it: 14.1.0
- '@mdit/plugin-mark@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-mark@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-mathjax-slim@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-mathjax-slim@0.12.0(markdown-it@14.1.0)':
dependencies:
- '@mdit/plugin-tex': 0.10.1(markdown-it@14.1.0)
+ '@mdit/plugin-tex': 0.12.0(markdown-it@14.1.0)
'@types/markdown-it': 14.1.1
upath: 2.0.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-plantuml@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-plantuml@0.12.0(markdown-it@14.1.0)':
dependencies:
- '@mdit/plugin-uml': 0.10.1(markdown-it@14.1.0)
+ '@mdit/plugin-uml': 0.12.0(markdown-it@14.1.0)
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-spoiler@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-spoiler@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-stylize@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-stylize@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-sub@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-sub@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-sup@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-sup@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-tab@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-tab@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-tasklist@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-tasklist@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-tex@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-tex@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mdit/plugin-uml@0.10.1(markdown-it@14.1.0)':
+ '@mdit/plugin-uml@0.12.0(markdown-it@14.1.0)':
dependencies:
'@types/markdown-it': 14.1.1
optionalDependencies:
markdown-it: 14.1.0
- '@mswjs/interceptors@0.27.2':
- dependencies:
- '@open-draft/deferred-promise': 2.2.0
- '@open-draft/logger': 0.3.0
- '@open-draft/until': 2.1.0
- is-node-process: 1.2.0
- outvariant: 1.4.2
- strict-event-emitter: 0.5.1
-
'@netlify/binary-info@1.0.0': {}
'@netlify/blobs@7.3.0': {}
'@netlify/build-info@7.13.2':
dependencies:
- '@bugsnag/js': 7.22.7
+ '@bugsnag/js': 7.23.0
'@iarna/toml': 2.2.5
dot-prop: 7.2.0
find-up: 6.3.0
minimatch: 9.0.4
read-pkg: 7.1.0
- semver: 7.6.0
- yaml: 2.3.4
+ semver: 7.6.2
+ yaml: 2.4.2
yargs: 17.7.2
- '@netlify/build@29.41.2(@opentelemetry/api@1.8.0)(@types/node@20.12.11)(picomatch@2.3.1)':
+ '@netlify/build@29.42.2(@opentelemetry/api@1.8.0)(@types/node@20.12.12)(picomatch@2.3.1)':
dependencies:
- '@bugsnag/js': 7.22.7
+ '@bugsnag/js': 7.23.0
'@netlify/blobs': 7.3.0
'@netlify/cache-utils': 5.1.5
- '@netlify/config': 20.12.3
- '@netlify/edge-bundler': 12.0.0(supports-color@9.2.2)
- '@netlify/framework-info': 9.8.11
- '@netlify/functions-utils': 5.2.55(@opentelemetry/api@1.8.0)(supports-color@9.2.2)
+ '@netlify/config': 20.12.6
+ '@netlify/edge-bundler': 12.0.1(supports-color@9.2.2)
+ '@netlify/framework-info': 9.8.12
+ '@netlify/functions-utils': 5.2.58(@opentelemetry/api@1.8.0)(supports-color@9.2.2)
'@netlify/git-utils': 5.1.1
- '@netlify/opentelemetry-utils': 1.2.0(@opentelemetry/api@1.8.0)
- '@netlify/plugins-list': 6.77.0
+ '@netlify/opentelemetry-utils': 1.2.1(@opentelemetry/api@1.8.0)
+ '@netlify/plugins-list': 6.80.0
'@netlify/run-utils': 5.1.1
- '@netlify/zip-it-and-ship-it': 9.32.1(@opentelemetry/api@1.8.0)(supports-color@9.2.2)
+ '@netlify/zip-it-and-ship-it': 9.33.0(@opentelemetry/api@1.8.0)(supports-color@9.2.2)
'@opentelemetry/api': 1.8.0
'@sindresorhus/slugify': 2.1.0
ansi-escapes: 6.2.1
@@ -9963,17 +10198,17 @@ snapshots:
pkg-dir: 7.0.0
pretty-ms: 8.0.0
ps-list: 8.1.0
- read-pkg-up: 9.1.0
+ read-package-up: 11.0.0
readdirp: 3.6.0
resolve: 2.0.0-next.4
rfdc: 1.3.0
safe-json-stringify: 1.2.0
- semver: 7.6.0
+ semver: 7.6.2
string-width: 5.1.2
strip-ansi: 7.1.0
supports-color: 9.2.2
terminal-link: 3.0.0
- ts-node: 10.9.2(@types/node@20.12.11)(typescript@5.4.5)
+ ts-node: 10.9.2(@types/node@20.12.12)(typescript@5.4.5)
typescript: 5.4.5
uuid: 9.0.1
yargs: 17.7.2
@@ -9995,11 +10230,11 @@ snapshots:
path-exists: 5.0.0
readdirp: 3.6.0
- '@netlify/config@20.12.3':
+ '@netlify/config@20.12.6':
dependencies:
'@iarna/toml': 2.2.5
chalk: 5.3.0
- cron-parser: 4.8.1
+ cron-parser: 4.9.0
deepmerge: 4.3.1
dot-prop: 7.2.0
execa: 6.1.0
@@ -10011,9 +10246,9 @@ snapshots:
is-plain-obj: 4.1.0
js-yaml: 4.1.0
map-obj: 5.0.2
- netlify: 13.1.15
+ netlify: 13.1.16
netlify-headers-parser: 7.1.4
- netlify-redirect-parser: 14.2.2
+ netlify-redirect-parser: 14.3.0
node-fetch: 3.3.2
omit.js: 2.0.2
p-locate: 6.0.0
@@ -10022,16 +10257,16 @@ snapshots:
validate-npm-package-name: 4.0.0
yargs: 17.7.2
- '@netlify/edge-bundler@12.0.0(supports-color@9.2.2)':
+ '@netlify/edge-bundler@12.0.1(supports-color@9.2.2)':
dependencies:
'@import-maps/resolve': 1.0.1
- '@vercel/nft': 0.26.2(supports-color@9.2.2)
+ '@vercel/nft': 0.27.1(supports-color@9.2.2)
ajv: 8.12.0
ajv-errors: 3.0.0(ajv@8.12.0)
better-ajv-errors: 1.2.0(ajv@8.12.0)
common-path-prefix: 3.0.0
env-paths: 3.0.0
- esbuild: 0.20.2
+ esbuild: 0.21.2
execa: 6.1.0
find-up: 6.3.0
get-package-name: 2.2.0
@@ -10043,7 +10278,7 @@ snapshots:
p-retry: 5.1.1
p-wait-for: 4.1.0
path-key: 4.0.0
- semver: 7.6.0
+ semver: 7.6.2
tmp-promise: 3.0.3
urlpattern-polyfill: 8.0.2
uuid: 9.0.1
@@ -10051,9 +10286,9 @@ snapshots:
- encoding
- supports-color
- '@netlify/edge-functions@2.5.1': {}
+ '@netlify/edge-functions@2.8.1': {}
- '@netlify/framework-info@9.8.11':
+ '@netlify/framework-info@9.8.12':
dependencies:
ajv: 8.12.0
filter-obj: 5.1.0
@@ -10063,12 +10298,12 @@ snapshots:
p-filter: 3.0.0
p-locate: 6.0.0
process: 0.11.10
- read-pkg-up: 9.1.0
- semver: 7.6.0
+ read-package-up: 11.0.0
+ semver: 7.6.2
- '@netlify/functions-utils@5.2.55(@opentelemetry/api@1.8.0)(supports-color@9.2.2)':
+ '@netlify/functions-utils@5.2.58(@opentelemetry/api@1.8.0)(supports-color@9.2.2)':
dependencies:
- '@netlify/zip-it-and-ship-it': 9.32.1(@opentelemetry/api@1.8.0)(supports-color@9.2.2)
+ '@netlify/zip-it-and-ship-it': 9.33.1(@opentelemetry/api@1.8.0)(supports-color@9.2.2)
cpy: 9.0.1
path-exists: 5.0.0
transitivePeerDependencies:
@@ -10076,9 +10311,9 @@ snapshots:
- encoding
- supports-color
- '@netlify/functions@2.6.3(@opentelemetry/api@1.8.0)':
+ '@netlify/functions@2.7.0(@opentelemetry/api@1.8.0)':
dependencies:
- '@netlify/serverless-functions-api': 1.18.0(@opentelemetry/api@1.8.0)
+ '@netlify/serverless-functions-api': 1.18.1(@opentelemetry/api@1.8.0)
transitivePeerDependencies:
- '@opentelemetry/api'
@@ -10145,19 +10380,18 @@ snapshots:
'@netlify/open-api@2.30.0': {}
- '@netlify/opentelemetry-utils@1.2.0(@opentelemetry/api@1.8.0)':
+ '@netlify/opentelemetry-utils@1.2.1(@opentelemetry/api@1.8.0)':
dependencies:
'@opentelemetry/api': 1.8.0
- '@netlify/plugins-list@6.77.0': {}
+ '@netlify/plugins-list@6.80.0': {}
'@netlify/run-utils@5.1.1':
dependencies:
execa: 6.1.0
- '@netlify/serverless-functions-api@1.18.0(@opentelemetry/api@1.8.0)':
+ '@netlify/serverless-functions-api@1.18.1(@opentelemetry/api@1.8.0)':
dependencies:
- '@mswjs/interceptors': 0.27.2
'@netlify/node-cookies': 0.1.0
'@opentelemetry/core': 1.24.0(@opentelemetry/api@1.8.0)
'@opentelemetry/otlp-transformer': 0.50.0(@opentelemetry/api@1.8.0)
@@ -10168,14 +10402,26 @@ snapshots:
transitivePeerDependencies:
- '@opentelemetry/api'
- '@netlify/zip-it-and-ship-it@9.32.1(@opentelemetry/api@1.8.0)(supports-color@9.2.2)':
+ '@netlify/serverless-functions-api@1.18.2(@opentelemetry/api@1.8.0)':
+ dependencies:
+ '@netlify/node-cookies': 0.1.0
+ '@opentelemetry/core': 1.24.0(@opentelemetry/api@1.8.0)
+ '@opentelemetry/otlp-transformer': 0.50.0(@opentelemetry/api@1.8.0)
+ '@opentelemetry/resources': 1.24.0(@opentelemetry/api@1.8.0)
+ '@opentelemetry/sdk-trace-base': 1.24.0(@opentelemetry/api@1.8.0)
+ '@opentelemetry/semantic-conventions': 1.24.0
+ urlpattern-polyfill: 8.0.2
+ transitivePeerDependencies:
+ - '@opentelemetry/api'
+
+ '@netlify/zip-it-and-ship-it@9.33.0(@opentelemetry/api@1.8.0)(supports-color@9.2.2)':
dependencies:
'@babel/parser': 7.24.4
- '@babel/types': 7.23.6
+ '@babel/types': 7.24.5
'@netlify/binary-info': 1.0.0
- '@netlify/serverless-functions-api': 1.18.0(@opentelemetry/api@1.8.0)
+ '@netlify/serverless-functions-api': 1.18.1(@opentelemetry/api@1.8.0)
'@vercel/nft': 0.23.0(supports-color@9.2.2)
- archiver: 6.0.1
+ archiver: 7.0.1
common-path-prefix: 3.0.0
cp-file: 10.0.0
es-module-lexer: 1.2.1
@@ -10197,7 +10443,47 @@ snapshots:
precinct: 11.0.2(supports-color@9.2.2)
require-package-name: 2.0.1
resolve: 2.0.0-next.4
- semver: 7.6.0
+ semver: 7.6.2
+ tmp-promise: 3.0.3
+ toml: 3.0.0
+ unixify: 1.0.0
+ urlpattern-polyfill: 8.0.2
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - '@opentelemetry/api'
+ - encoding
+ - supports-color
+
+ '@netlify/zip-it-and-ship-it@9.33.1(@opentelemetry/api@1.8.0)(supports-color@9.2.2)':
+ dependencies:
+ '@babel/parser': 7.24.4
+ '@babel/types': 7.24.5
+ '@netlify/binary-info': 1.0.0
+ '@netlify/serverless-functions-api': 1.18.2(@opentelemetry/api@1.8.0)
+ '@vercel/nft': 0.23.0(supports-color@9.2.2)
+ archiver: 7.0.1
+ common-path-prefix: 3.0.0
+ cp-file: 10.0.0
+ es-module-lexer: 1.2.1
+ esbuild: 0.19.11
+ execa: 6.1.0
+ fast-glob: 3.3.2
+ filter-obj: 5.1.0
+ find-up: 6.3.0
+ glob: 8.0.3
+ is-builtin-module: 3.2.1
+ is-path-inside: 4.0.0
+ junk: 4.0.0
+ locate-path: 7.2.0
+ merge-options: 3.0.4
+ minimatch: 9.0.4
+ normalize-path: 3.0.0
+ p-map: 5.5.0
+ path-exists: 5.0.0
+ precinct: 11.0.2(supports-color@9.2.2)
+ require-package-name: 2.0.1
+ resolve: 2.0.0-next.4
+ semver: 7.6.2
tmp-promise: 3.0.3
toml: 3.0.0
unixify: 1.0.0
@@ -10220,100 +10506,68 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.14.0
- '@octokit/auth-token@3.0.2':
- dependencies:
- '@octokit/types': 8.0.0
+ '@octokit/auth-token@4.0.0': {}
- '@octokit/core@4.2.1':
+ '@octokit/core@5.2.0':
dependencies:
- '@octokit/auth-token': 3.0.2
- '@octokit/graphql': 5.0.3
- '@octokit/request': 6.2.2
- '@octokit/request-error': 3.0.2
- '@octokit/types': 9.2.3
+ '@octokit/auth-token': 4.0.0
+ '@octokit/graphql': 7.1.0
+ '@octokit/request': 8.4.0
+ '@octokit/request-error': 5.1.0
+ '@octokit/types': 13.5.0
before-after-hook: 2.2.2
universal-user-agent: 6.0.0
- transitivePeerDependencies:
- - encoding
- '@octokit/endpoint@7.0.3':
+ '@octokit/endpoint@9.0.5':
dependencies:
- '@octokit/types': 8.0.0
- is-plain-object: 5.0.0
+ '@octokit/types': 13.5.0
universal-user-agent: 6.0.0
- '@octokit/graphql@5.0.3':
+ '@octokit/graphql@7.1.0':
dependencies:
- '@octokit/request': 6.2.2
- '@octokit/types': 8.0.0
+ '@octokit/request': 8.4.0
+ '@octokit/types': 13.5.0
universal-user-agent: 6.0.0
- transitivePeerDependencies:
- - encoding
- '@octokit/openapi-types@14.0.0': {}
+ '@octokit/openapi-types@22.2.0': {}
- '@octokit/openapi-types@17.2.0': {}
-
- '@octokit/plugin-paginate-rest@6.1.2(@octokit/core@4.2.1)':
+ '@octokit/plugin-paginate-rest@11.3.1(@octokit/core@5.2.0)':
dependencies:
- '@octokit/core': 4.2.1
- '@octokit/tsconfig': 1.0.2
- '@octokit/types': 9.2.3
+ '@octokit/core': 5.2.0
+ '@octokit/types': 13.5.0
- '@octokit/plugin-request-log@1.0.4(@octokit/core@4.2.1)':
+ '@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.0)':
dependencies:
- '@octokit/core': 4.2.1
+ '@octokit/core': 5.2.0
- '@octokit/plugin-rest-endpoint-methods@7.1.2(@octokit/core@4.2.1)':
+ '@octokit/plugin-rest-endpoint-methods@13.2.2(@octokit/core@5.2.0)':
dependencies:
- '@octokit/core': 4.2.1
- '@octokit/types': 9.2.3
- deprecation: 2.3.1
+ '@octokit/core': 5.2.0
+ '@octokit/types': 13.5.0
- '@octokit/request-error@3.0.2':
+ '@octokit/request-error@5.1.0':
dependencies:
- '@octokit/types': 8.0.0
+ '@octokit/types': 13.5.0
deprecation: 2.3.1
once: 1.4.0
- '@octokit/request@6.2.2':
+ '@octokit/request@8.4.0':
dependencies:
- '@octokit/endpoint': 7.0.3
- '@octokit/request-error': 3.0.2
- '@octokit/types': 8.0.0
- is-plain-object: 5.0.0
- node-fetch: 2.6.12
+ '@octokit/endpoint': 9.0.5
+ '@octokit/request-error': 5.1.0
+ '@octokit/types': 13.5.0
universal-user-agent: 6.0.0
- transitivePeerDependencies:
- - encoding
- '@octokit/rest@19.0.13':
+ '@octokit/rest@20.1.1':
dependencies:
- '@octokit/core': 4.2.1
- '@octokit/plugin-paginate-rest': 6.1.2(@octokit/core@4.2.1)
- '@octokit/plugin-request-log': 1.0.4(@octokit/core@4.2.1)
- '@octokit/plugin-rest-endpoint-methods': 7.1.2(@octokit/core@4.2.1)
- transitivePeerDependencies:
- - encoding
+ '@octokit/core': 5.2.0
+ '@octokit/plugin-paginate-rest': 11.3.1(@octokit/core@5.2.0)
+ '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.2.0)
+ '@octokit/plugin-rest-endpoint-methods': 13.2.2(@octokit/core@5.2.0)
- '@octokit/tsconfig@1.0.2': {}
-
- '@octokit/types@8.0.0':
+ '@octokit/types@13.5.0':
dependencies:
- '@octokit/openapi-types': 14.0.0
-
- '@octokit/types@9.2.3':
- dependencies:
- '@octokit/openapi-types': 17.2.0
-
- '@open-draft/deferred-promise@2.2.0': {}
-
- '@open-draft/logger@0.3.0':
- dependencies:
- is-node-process: 1.2.0
- outvariant: 1.4.2
-
- '@open-draft/until@2.1.0': {}
+ '@octokit/openapi-types': 22.2.0
'@opentelemetry/api-logs@0.50.0':
dependencies:
@@ -10446,13 +10700,13 @@ snapshots:
'@parcel/watcher-win32-ia32': 2.4.1
'@parcel/watcher-win32-x64': 2.4.1
- '@pengzhanbo/eslint-config-vue@1.9.1(@vue/compiler-sfc@3.4.27)(eslint@9.2.0)(typescript@5.4.5)':
+ '@pengzhanbo/eslint-config-vue@1.10.0(@vue/compiler-sfc@3.4.27)(eslint@9.3.0)(typescript@5.4.5)':
dependencies:
- '@pengzhanbo/eslint-config': 1.9.1(eslint-plugin-vue@9.25.0(eslint@9.2.0))(eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.2.0))(eslint@9.2.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.2.0))
- eslint: 9.2.0
- eslint-plugin-vue: 9.25.0(eslint@9.2.0)
- eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.2.0)
- vue-eslint-parser: 9.4.2(eslint@9.2.0)
+ '@pengzhanbo/eslint-config': 1.10.0(eslint-plugin-vue@9.26.0(eslint@9.3.0))(eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.3.0))(eslint@9.3.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.3.0))
+ eslint: 9.3.0
+ eslint-plugin-vue: 9.26.0(eslint@9.3.0)
+ eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.3.0)
+ vue-eslint-parser: 9.4.2(eslint@9.3.0)
transitivePeerDependencies:
- '@eslint-react/eslint-plugin'
- '@vue/compiler-sfc'
@@ -10470,62 +10724,63 @@ snapshots:
- typescript
- vitest
- '@pengzhanbo/eslint-config@1.9.1(eslint-plugin-vue@9.25.0(eslint@9.2.0))(eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.2.0))(eslint@9.2.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.2.0))':
+ '@pengzhanbo/eslint-config@1.10.0(eslint-plugin-vue@9.26.0(eslint@9.3.0))(eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.3.0))(eslint@9.3.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.3.0))':
dependencies:
- '@antfu/install-pkg': 0.3.2
- '@stylistic/eslint-plugin': 1.7.2(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/eslint-plugin': 7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/parser': 7.7.1(eslint@9.2.0)(typescript@5.4.5)
- eslint: 9.2.0
+ '@antfu/install-pkg': 0.3.3
+ '@stylistic/eslint-plugin': 2.1.0(eslint@9.3.0)(typescript@5.4.5)
+ '@typescript-eslint/eslint-plugin': 7.9.0(@typescript-eslint/parser@7.9.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5)
+ '@typescript-eslint/parser': 7.9.0(eslint@9.3.0)(typescript@5.4.5)
+ eslint: 9.3.0
eslint-config-flat-gitignore: 0.1.5
- eslint-flat-config-utils: 0.2.3
- eslint-merge-processors: 0.1.0(eslint@9.2.0)
- eslint-plugin-antfu: 2.1.2(eslint@9.2.0)
- eslint-plugin-eslint-comments: 3.2.0(eslint@9.2.0)
- eslint-plugin-import-x: 0.5.0(eslint@9.2.0)(typescript@5.4.5)
- eslint-plugin-jsdoc: 48.2.3(eslint@9.2.0)
- eslint-plugin-jsonc: 2.15.1(eslint@9.2.0)
- eslint-plugin-markdown: 4.0.1(eslint@9.2.0)
- eslint-plugin-n: 17.2.1(eslint@9.2.0)
+ eslint-flat-config-utils: 0.2.5
+ eslint-merge-processors: 0.1.0(eslint@9.3.0)
+ eslint-plugin-antfu: 2.2.0(eslint@9.3.0)
+ eslint-plugin-eslint-comments: 3.2.0(eslint@9.3.0)
+ eslint-plugin-import-x: 0.5.0(eslint@9.3.0)(typescript@5.4.5)
+ eslint-plugin-jsdoc: 48.2.5(eslint@9.3.0)
+ eslint-plugin-jsonc: 2.15.1(eslint@9.3.0)
+ eslint-plugin-markdown: 5.0.0(eslint@9.3.0)
+ eslint-plugin-n: 17.7.0(eslint@9.3.0)
eslint-plugin-no-only-tests: 3.1.0
- eslint-plugin-perfectionist: 2.9.0(eslint@9.2.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.2.0))
- eslint-plugin-toml: 0.11.0(eslint@9.2.0)
- eslint-plugin-unicorn: 52.0.0(eslint@9.2.0)
- eslint-plugin-unused-imports: 3.1.0(@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)
- eslint-plugin-vitest: 0.5.3(@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5)
- eslint-plugin-yml: 1.14.0(eslint@9.2.0)
- globals: 15.0.0
+ eslint-plugin-perfectionist: 2.10.0(eslint@9.3.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.3.0))
+ eslint-plugin-regexp: 2.5.0(eslint@9.3.0)
+ eslint-plugin-toml: 0.11.0(eslint@9.3.0)
+ eslint-plugin-unicorn: 53.0.0(eslint@9.3.0)
+ eslint-plugin-unused-imports: 3.2.0(@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)
+ eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5)
+ eslint-plugin-yml: 1.14.0(eslint@9.3.0)
+ globals: 15.2.0
jsonc-eslint-parser: 2.4.0
local-pkg: 0.5.0
parse-gitignore: 2.0.0
toml-eslint-parser: 0.9.3
yaml-eslint-parser: 1.2.2
optionalDependencies:
- eslint-plugin-vue: 9.25.0(eslint@9.2.0)
- eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.2.0)
- vue-eslint-parser: 9.4.2(eslint@9.2.0)
+ eslint-plugin-vue: 9.26.0(eslint@9.3.0)
+ eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.3.0)
+ vue-eslint-parser: 9.4.2(eslint@9.3.0)
transitivePeerDependencies:
- supports-color
- svelte
- typescript
- vitest
- '@pengzhanbo/stylelint-config@1.9.1(stylelint@16.5.0(typescript@5.4.5))':
+ '@pengzhanbo/stylelint-config@1.10.0(stylelint@16.6.0(typescript@5.4.5))':
dependencies:
'@pengzhanbo/utils': 1.1.2
- '@stylelint-types/stylelint-order': 6.0.4(stylelint-define-config@1.3.0(stylelint@16.5.0(typescript@5.4.5)))(stylelint@16.5.0(typescript@5.4.5))
- '@stylelint-types/stylelint-scss': 6.1.0(stylelint-define-config@1.3.0(stylelint@16.5.0(typescript@5.4.5)))(stylelint@16.5.0(typescript@5.4.5))
- '@stylelint-types/stylelint-stylistic': 2.1.0(stylelint-define-config@1.3.0(stylelint@16.5.0(typescript@5.4.5)))(stylelint@16.5.0(typescript@5.4.5))
- '@stylistic/stylelint-plugin': 2.1.1(stylelint@16.5.0(typescript@5.4.5))
+ '@stylelint-types/stylelint-order': 6.0.4(stylelint-define-config@1.5.0(stylelint@16.6.0(typescript@5.4.5)))(stylelint@16.6.0(typescript@5.4.5))
+ '@stylelint-types/stylelint-scss': 6.1.0(stylelint-define-config@1.5.0(stylelint@16.6.0(typescript@5.4.5)))(stylelint@16.6.0(typescript@5.4.5))
+ '@stylelint-types/stylelint-stylistic': 2.1.0(stylelint-define-config@1.5.0(stylelint@16.6.0(typescript@5.4.5)))(stylelint@16.6.0(typescript@5.4.5))
+ '@stylistic/stylelint-plugin': 2.1.2(stylelint@16.6.0(typescript@5.4.5))
local-pkg: 0.5.0
postcss: 8.4.38
- postcss-html: 1.6.0
- stylelint: 16.5.0(typescript@5.4.5)
- stylelint-config-html: 1.1.0(postcss-html@1.6.0)(stylelint@16.5.0(typescript@5.4.5))
- stylelint-config-standard: 36.0.0(stylelint@16.5.0(typescript@5.4.5))
- stylelint-config-standard-scss: 13.1.0(postcss@8.4.38)(stylelint@16.5.0(typescript@5.4.5))
- stylelint-define-config: 1.3.0(stylelint@16.5.0(typescript@5.4.5))
- stylelint-order: 6.0.4(stylelint@16.5.0(typescript@5.4.5))
+ postcss-html: 1.7.0
+ stylelint: 16.6.0(typescript@5.4.5)
+ stylelint-config-html: 1.1.0(postcss-html@1.7.0)(stylelint@16.6.0(typescript@5.4.5))
+ stylelint-config-standard: 36.0.0(stylelint@16.6.0(typescript@5.4.5))
+ stylelint-config-standard-scss: 13.1.0(postcss@8.4.38)(stylelint@16.6.0(typescript@5.4.5))
+ stylelint-define-config: 1.5.0(stylelint@16.6.0(typescript@5.4.5))
+ stylelint-order: 6.0.4(stylelint@16.6.0(typescript@5.4.5))
'@pengzhanbo/utils@1.1.2': {}
@@ -10549,53 +10804,101 @@ snapshots:
'@rollup/rollup-android-arm-eabi@4.13.0':
optional: true
+ '@rollup/rollup-android-arm-eabi@4.18.0':
+ optional: true
+
'@rollup/rollup-android-arm64@4.13.0':
optional: true
+ '@rollup/rollup-android-arm64@4.18.0':
+ optional: true
+
'@rollup/rollup-darwin-arm64@4.13.0':
optional: true
+ '@rollup/rollup-darwin-arm64@4.18.0':
+ optional: true
+
'@rollup/rollup-darwin-x64@4.13.0':
optional: true
+ '@rollup/rollup-darwin-x64@4.18.0':
+ optional: true
+
'@rollup/rollup-linux-arm-gnueabihf@4.13.0':
optional: true
+ '@rollup/rollup-linux-arm-gnueabihf@4.18.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.18.0':
+ optional: true
+
'@rollup/rollup-linux-arm64-gnu@4.13.0':
optional: true
+ '@rollup/rollup-linux-arm64-gnu@4.18.0':
+ optional: true
+
'@rollup/rollup-linux-arm64-musl@4.13.0':
optional: true
+ '@rollup/rollup-linux-arm64-musl@4.18.0':
+ optional: true
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.18.0':
+ optional: true
+
'@rollup/rollup-linux-riscv64-gnu@4.13.0':
optional: true
+ '@rollup/rollup-linux-riscv64-gnu@4.18.0':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.18.0':
+ optional: true
+
'@rollup/rollup-linux-x64-gnu@4.13.0':
optional: true
+ '@rollup/rollup-linux-x64-gnu@4.18.0':
+ optional: true
+
'@rollup/rollup-linux-x64-musl@4.13.0':
optional: true
+ '@rollup/rollup-linux-x64-musl@4.18.0':
+ optional: true
+
'@rollup/rollup-win32-arm64-msvc@4.13.0':
optional: true
+ '@rollup/rollup-win32-arm64-msvc@4.18.0':
+ optional: true
+
'@rollup/rollup-win32-ia32-msvc@4.13.0':
optional: true
+ '@rollup/rollup-win32-ia32-msvc@4.18.0':
+ optional: true
+
'@rollup/rollup-win32-x64-msvc@4.13.0':
optional: true
+ '@rollup/rollup-win32-x64-msvc@4.18.0':
+ optional: true
+
'@sec-ant/readable-stream@0.4.1': {}
- '@shikijs/core@1.5.1': {}
+ '@shikijs/core@1.6.0': {}
- '@shikijs/transformers@1.5.1':
+ '@shikijs/transformers@1.6.0':
dependencies:
- shiki: 1.5.1
+ shiki: 1.6.0
- '@shikijs/twoslash@1.5.1(typescript@5.4.5)':
+ '@shikijs/twoslash@1.6.0(typescript@5.4.5)':
dependencies:
- '@shikijs/core': 1.5.1
+ '@shikijs/core': 1.6.0
twoslash: 0.2.6(typescript@5.4.5)
transitivePeerDependencies:
- supports-color
@@ -10617,73 +10920,72 @@ snapshots:
escape-string-regexp: 5.0.0
lodash.deburr: 4.1.0
- '@stylelint-types/stylelint-order@6.0.4(stylelint-define-config@1.3.0(stylelint@16.5.0(typescript@5.4.5)))(stylelint@16.5.0(typescript@5.4.5))':
+ '@stylelint-types/stylelint-order@6.0.4(stylelint-define-config@1.5.0(stylelint@16.6.0(typescript@5.4.5)))(stylelint@16.6.0(typescript@5.4.5))':
dependencies:
- stylelint-define-config: 1.3.0(stylelint@16.5.0(typescript@5.4.5))
+ stylelint-define-config: 1.5.0(stylelint@16.6.0(typescript@5.4.5))
optionalDependencies:
- stylelint: 16.5.0(typescript@5.4.5)
+ stylelint: 16.6.0(typescript@5.4.5)
- '@stylelint-types/stylelint-scss@6.1.0(stylelint-define-config@1.3.0(stylelint@16.5.0(typescript@5.4.5)))(stylelint@16.5.0(typescript@5.4.5))':
+ '@stylelint-types/stylelint-scss@6.1.0(stylelint-define-config@1.5.0(stylelint@16.6.0(typescript@5.4.5)))(stylelint@16.6.0(typescript@5.4.5))':
dependencies:
- stylelint-define-config: 1.3.0(stylelint@16.5.0(typescript@5.4.5))
+ stylelint-define-config: 1.5.0(stylelint@16.6.0(typescript@5.4.5))
optionalDependencies:
- stylelint: 16.5.0(typescript@5.4.5)
+ stylelint: 16.6.0(typescript@5.4.5)
- '@stylelint-types/stylelint-stylistic@2.1.0(stylelint-define-config@1.3.0(stylelint@16.5.0(typescript@5.4.5)))(stylelint@16.5.0(typescript@5.4.5))':
+ '@stylelint-types/stylelint-stylistic@2.1.0(stylelint-define-config@1.5.0(stylelint@16.6.0(typescript@5.4.5)))(stylelint@16.6.0(typescript@5.4.5))':
dependencies:
- stylelint-define-config: 1.3.0(stylelint@16.5.0(typescript@5.4.5))
+ stylelint-define-config: 1.5.0(stylelint@16.6.0(typescript@5.4.5))
optionalDependencies:
- stylelint: 16.5.0(typescript@5.4.5)
+ stylelint: 16.6.0(typescript@5.4.5)
- '@stylistic/eslint-plugin-js@1.7.2(eslint@9.2.0)':
+ '@stylistic/eslint-plugin-js@2.1.0(eslint@9.3.0)':
dependencies:
- '@types/eslint': 8.56.9
+ '@types/eslint': 8.56.10
acorn: 8.11.3
- escape-string-regexp: 4.0.0
- eslint: 9.2.0
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
+ eslint: 9.3.0
+ eslint-visitor-keys: 4.0.0
+ espree: 10.0.1
- '@stylistic/eslint-plugin-jsx@1.7.2(eslint@9.2.0)':
+ '@stylistic/eslint-plugin-jsx@2.1.0(eslint@9.3.0)':
dependencies:
- '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.2.0)
- '@types/eslint': 8.56.9
- eslint: 9.2.0
+ '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.3.0)
+ '@types/eslint': 8.56.10
+ eslint: 9.3.0
estraverse: 5.3.0
picomatch: 4.0.2
- '@stylistic/eslint-plugin-plus@1.7.2(eslint@9.2.0)(typescript@5.4.5)':
+ '@stylistic/eslint-plugin-plus@2.1.0(eslint@9.3.0)(typescript@5.4.5)':
dependencies:
- '@types/eslint': 8.56.9
- '@typescript-eslint/utils': 6.21.0(eslint@9.2.0)(typescript@5.4.5)
- eslint: 9.2.0
+ '@types/eslint': 8.56.10
+ '@typescript-eslint/utils': 7.9.0(eslint@9.3.0)(typescript@5.4.5)
+ eslint: 9.3.0
transitivePeerDependencies:
- supports-color
- typescript
- '@stylistic/eslint-plugin-ts@1.7.2(eslint@9.2.0)(typescript@5.4.5)':
+ '@stylistic/eslint-plugin-ts@2.1.0(eslint@9.3.0)(typescript@5.4.5)':
dependencies:
- '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.2.0)
- '@types/eslint': 8.56.9
- '@typescript-eslint/utils': 6.21.0(eslint@9.2.0)(typescript@5.4.5)
- eslint: 9.2.0
+ '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.3.0)
+ '@types/eslint': 8.56.10
+ '@typescript-eslint/utils': 7.9.0(eslint@9.3.0)(typescript@5.4.5)
+ eslint: 9.3.0
transitivePeerDependencies:
- supports-color
- typescript
- '@stylistic/eslint-plugin@1.7.2(eslint@9.2.0)(typescript@5.4.5)':
+ '@stylistic/eslint-plugin@2.1.0(eslint@9.3.0)(typescript@5.4.5)':
dependencies:
- '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.2.0)
- '@stylistic/eslint-plugin-jsx': 1.7.2(eslint@9.2.0)
- '@stylistic/eslint-plugin-plus': 1.7.2(eslint@9.2.0)(typescript@5.4.5)
- '@stylistic/eslint-plugin-ts': 1.7.2(eslint@9.2.0)(typescript@5.4.5)
- '@types/eslint': 8.56.9
- eslint: 9.2.0
+ '@stylistic/eslint-plugin-js': 2.1.0(eslint@9.3.0)
+ '@stylistic/eslint-plugin-jsx': 2.1.0(eslint@9.3.0)
+ '@stylistic/eslint-plugin-plus': 2.1.0(eslint@9.3.0)(typescript@5.4.5)
+ '@stylistic/eslint-plugin-ts': 2.1.0(eslint@9.3.0)(typescript@5.4.5)
+ '@types/eslint': 8.56.10
+ eslint: 9.3.0
transitivePeerDependencies:
- supports-color
- typescript
- '@stylistic/stylelint-plugin@2.1.1(stylelint@16.5.0(typescript@5.4.5))':
+ '@stylistic/stylelint-plugin@2.1.2(stylelint@16.6.0(typescript@5.4.5))':
dependencies:
'@csstools/css-parser-algorithms': 2.6.1(@csstools/css-tokenizer@2.2.4)
'@csstools/css-tokenizer': 2.2.4
@@ -10692,7 +10994,7 @@ snapshots:
postcss-selector-parser: 6.0.16
postcss-value-parser: 4.2.0
style-search: 0.1.0
- stylelint: 16.5.0(typescript@5.4.5)
+ stylelint: 16.6.0(typescript@5.4.5)
'@szmarczak/http-timer@5.0.1':
dependencies:
@@ -10713,15 +11015,15 @@ snapshots:
'@types/body-parser@1.19.5':
dependencies:
'@types/connect': 3.4.38
- '@types/node': 20.12.11
+ '@types/node': 20.12.12
'@types/connect@3.4.38':
dependencies:
- '@types/node': 20.12.11
+ '@types/node': 20.12.12
'@types/conventional-commits-parser@5.0.0':
dependencies:
- '@types/node': 20.12.11
+ '@types/node': 20.12.12
'@types/d3-scale-chromatic@3.0.3': {}
@@ -10735,6 +11037,11 @@ snapshots:
dependencies:
'@types/ms': 0.7.31
+ '@types/eslint@8.56.10':
+ dependencies:
+ '@types/estree': 1.0.5
+ '@types/json-schema': 7.0.15
+
'@types/eslint@8.56.9':
dependencies:
'@types/estree': 1.0.5
@@ -10744,7 +11051,7 @@ snapshots:
'@types/express-serve-static-core@4.17.43':
dependencies:
- '@types/node': 20.12.11
+ '@types/node': 20.12.12
'@types/qs': 6.9.12
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
@@ -10759,7 +11066,7 @@ snapshots:
'@types/fs-extra@11.0.4':
dependencies:
'@types/jsonfile': 6.1.1
- '@types/node': 20.12.11
+ '@types/node': 20.12.12
'@types/hash-sum@1.0.2': {}
@@ -10773,7 +11080,7 @@ snapshots:
'@types/http-proxy@1.17.9':
dependencies:
- '@types/node': 20.12.11
+ '@types/node': 20.12.12
'@types/istanbul-lib-coverage@2.0.4': {}
@@ -10789,12 +11096,10 @@ snapshots:
'@types/jsonfile@6.1.1':
dependencies:
- '@types/node': 20.12.11
+ '@types/node': 20.12.12
'@types/katex@0.16.7': {}
- '@types/linkify-it@3.0.2': {}
-
'@types/linkify-it@5.0.0': {}
'@types/lodash.merge@4.6.9':
@@ -10803,15 +11108,10 @@ snapshots:
'@types/lodash@4.14.182': {}
- '@types/markdown-it-emoji@2.0.4':
+ '@types/markdown-it-emoji@3.0.1':
dependencies:
'@types/markdown-it': 14.1.1
- '@types/markdown-it@13.0.7':
- dependencies:
- '@types/linkify-it': 3.0.2
- '@types/mdurl': 1.0.2
-
'@types/markdown-it@14.1.1':
dependencies:
'@types/linkify-it': 5.0.0
@@ -10825,8 +11125,6 @@ snapshots:
dependencies:
'@types/unist': 3.0.2
- '@types/mdurl@1.0.2': {}
-
'@types/mdurl@2.0.0': {}
'@types/mime@1.3.5': {}
@@ -10843,7 +11141,7 @@ snapshots:
dependencies:
undici-types: 5.26.5
- '@types/node@20.12.11':
+ '@types/node@20.12.12':
dependencies:
undici-types: 5.26.5
@@ -10859,20 +11157,20 @@ snapshots:
'@types/sax@1.2.4':
dependencies:
- '@types/node': 20.12.11
+ '@types/node': 20.12.12
'@types/semver@7.5.8': {}
'@types/send@0.17.4':
dependencies:
'@types/mime': 1.3.5
- '@types/node': 20.12.11
+ '@types/node': 20.12.12
'@types/serve-static@1.15.5':
dependencies:
'@types/http-errors': 2.0.4
'@types/mime': 3.0.4
- '@types/node': 20.12.11
+ '@types/node': 20.12.12
'@types/trusted-types@2.0.2': {}
@@ -10892,63 +11190,56 @@ snapshots:
'@types/yauzl@2.10.0':
dependencies:
- '@types/node': 20.12.11
+ '@types/node': 20.12.12
optional: true
- '@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5)':
+ '@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5)':
dependencies:
'@eslint-community/regexpp': 4.10.0
- '@typescript-eslint/parser': 7.7.1(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/scope-manager': 7.7.1
- '@typescript-eslint/type-utils': 7.7.1(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/utils': 7.7.1(eslint@9.2.0)(typescript@5.4.5)
- '@typescript-eslint/visitor-keys': 7.7.1
- debug: 4.3.4(supports-color@9.2.2)
- eslint: 9.2.0
+ '@typescript-eslint/parser': 7.9.0(eslint@9.3.0)(typescript@5.4.5)
+ '@typescript-eslint/scope-manager': 7.9.0
+ '@typescript-eslint/type-utils': 7.9.0(eslint@9.3.0)(typescript@5.4.5)
+ '@typescript-eslint/utils': 7.9.0(eslint@9.3.0)(typescript@5.4.5)
+ '@typescript-eslint/visitor-keys': 7.9.0
+ eslint: 9.3.0
graphemer: 1.4.0
ignore: 5.3.1
natural-compare: 1.4.0
- semver: 7.6.0
ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5)':
+ '@typescript-eslint/parser@7.9.0(eslint@9.3.0)(typescript@5.4.5)':
dependencies:
- '@typescript-eslint/scope-manager': 7.7.1
- '@typescript-eslint/types': 7.7.1
- '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5)
- '@typescript-eslint/visitor-keys': 7.7.1
+ '@typescript-eslint/scope-manager': 7.9.0
+ '@typescript-eslint/types': 7.9.0
+ '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
+ '@typescript-eslint/visitor-keys': 7.9.0
debug: 4.3.4(supports-color@9.2.2)
- eslint: 9.2.0
+ eslint: 9.3.0
optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@6.21.0':
- dependencies:
- '@typescript-eslint/types': 6.21.0
- '@typescript-eslint/visitor-keys': 6.21.0
-
- '@typescript-eslint/scope-manager@7.7.0':
- dependencies:
- '@typescript-eslint/types': 7.7.0
- '@typescript-eslint/visitor-keys': 7.7.0
-
'@typescript-eslint/scope-manager@7.7.1':
dependencies:
'@typescript-eslint/types': 7.7.1
'@typescript-eslint/visitor-keys': 7.7.1
- '@typescript-eslint/type-utils@7.7.1(eslint@9.2.0)(typescript@5.4.5)':
+ '@typescript-eslint/scope-manager@7.9.0':
dependencies:
- '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5)
- '@typescript-eslint/utils': 7.7.1(eslint@9.2.0)(typescript@5.4.5)
+ '@typescript-eslint/types': 7.9.0
+ '@typescript-eslint/visitor-keys': 7.9.0
+
+ '@typescript-eslint/type-utils@7.9.0(eslint@9.3.0)(typescript@5.4.5)':
+ dependencies:
+ '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
+ '@typescript-eslint/utils': 7.9.0(eslint@9.3.0)(typescript@5.4.5)
debug: 4.3.4(supports-color@9.2.2)
- eslint: 9.2.0
+ eslint: 9.3.0
ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies:
typescript: 5.4.5
@@ -10957,12 +11248,10 @@ snapshots:
'@typescript-eslint/types@5.59.11': {}
- '@typescript-eslint/types@6.21.0': {}
-
- '@typescript-eslint/types@7.7.0': {}
-
'@typescript-eslint/types@7.7.1': {}
+ '@typescript-eslint/types@7.9.0': {}
+
'@typescript-eslint/typescript-estree@5.59.11(supports-color@9.2.2)(typescript@5.4.5)':
dependencies:
'@typescript-eslint/types': 5.59.11
@@ -10970,43 +11259,13 @@ snapshots:
debug: 4.3.4(supports-color@9.2.2)
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.6.0
+ semver: 7.6.2
tsutils: 3.21.0(typescript@5.4.5)
optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)':
- dependencies:
- '@typescript-eslint/types': 6.21.0
- '@typescript-eslint/visitor-keys': 6.21.0
- debug: 4.3.4(supports-color@9.2.2)
- globby: 11.1.0
- is-glob: 4.0.3
- minimatch: 9.0.3
- semver: 7.6.0
- ts-api-utils: 1.3.0(typescript@5.4.5)
- optionalDependencies:
- typescript: 5.4.5
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/typescript-estree@7.7.0(typescript@5.4.5)':
- dependencies:
- '@typescript-eslint/types': 7.7.0
- '@typescript-eslint/visitor-keys': 7.7.0
- debug: 4.3.4(supports-color@9.2.2)
- globby: 11.1.0
- is-glob: 4.0.3
- minimatch: 9.0.4
- semver: 7.6.0
- ts-api-utils: 1.3.0(typescript@5.4.5)
- optionalDependencies:
- typescript: 5.4.5
- transitivePeerDependencies:
- - supports-color
-
'@typescript-eslint/typescript-estree@7.7.1(typescript@5.4.5)':
dependencies:
'@typescript-eslint/types': 7.7.1
@@ -11015,51 +11274,49 @@ snapshots:
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.4
- semver: 7.6.0
+ semver: 7.6.2
ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@6.21.0(eslint@9.2.0)(typescript@5.4.5)':
+ '@typescript-eslint/typescript-estree@7.9.0(typescript@5.4.5)':
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- '@types/json-schema': 7.0.15
- '@types/semver': 7.5.8
- '@typescript-eslint/scope-manager': 6.21.0
- '@typescript-eslint/types': 6.21.0
- '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5)
- eslint: 9.2.0
- semver: 7.6.0
+ '@typescript-eslint/types': 7.9.0
+ '@typescript-eslint/visitor-keys': 7.9.0
+ debug: 4.3.4(supports-color@9.2.2)
+ globby: 11.1.0
+ is-glob: 4.0.3
+ minimatch: 9.0.4
+ semver: 7.6.2
+ ts-api-utils: 1.3.0(typescript@5.4.5)
+ optionalDependencies:
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- - typescript
- '@typescript-eslint/utils@7.7.0(eslint@9.2.0)(typescript@5.4.5)':
+ '@typescript-eslint/utils@7.7.1(eslint@9.3.0)(typescript@5.4.5)':
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- '@types/json-schema': 7.0.15
- '@types/semver': 7.5.8
- '@typescript-eslint/scope-manager': 7.7.0
- '@typescript-eslint/types': 7.7.0
- '@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.5)
- eslint: 9.2.0
- semver: 7.6.0
- transitivePeerDependencies:
- - supports-color
- - typescript
-
- '@typescript-eslint/utils@7.7.1(eslint@9.2.0)(typescript@5.4.5)':
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0)
'@types/json-schema': 7.0.15
'@types/semver': 7.5.8
'@typescript-eslint/scope-manager': 7.7.1
'@typescript-eslint/types': 7.7.1
'@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5)
- eslint: 9.2.0
- semver: 7.6.0
+ eslint: 9.3.0
+ semver: 7.6.2
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ '@typescript-eslint/utils@7.9.0(eslint@9.3.0)(typescript@5.4.5)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0)
+ '@typescript-eslint/scope-manager': 7.9.0
+ '@typescript-eslint/types': 7.9.0
+ '@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
+ eslint: 9.3.0
transitivePeerDependencies:
- supports-color
- typescript
@@ -11069,21 +11326,16 @@ snapshots:
'@typescript-eslint/types': 5.59.11
eslint-visitor-keys: 3.4.3
- '@typescript-eslint/visitor-keys@6.21.0':
- dependencies:
- '@typescript-eslint/types': 6.21.0
- eslint-visitor-keys: 3.4.3
-
- '@typescript-eslint/visitor-keys@7.7.0':
- dependencies:
- '@typescript-eslint/types': 7.7.0
- eslint-visitor-keys: 3.4.3
-
'@typescript-eslint/visitor-keys@7.7.1':
dependencies:
'@typescript-eslint/types': 7.7.1
eslint-visitor-keys: 3.4.3
+ '@typescript-eslint/visitor-keys@7.9.0':
+ dependencies:
+ '@typescript-eslint/types': 7.9.0
+ eslint-visitor-keys: 3.4.3
+
'@typescript/vfs@1.5.0':
dependencies:
debug: 4.3.4(supports-color@9.2.2)
@@ -11109,12 +11361,12 @@ snapshots:
- encoding
- supports-color
- '@vercel/nft@0.26.2(supports-color@9.2.2)':
+ '@vercel/nft@0.27.1(supports-color@9.2.2)':
dependencies:
'@mapbox/node-pre-gyp': 1.0.9(supports-color@9.2.2)
'@rollup/pluginutils': 4.2.1
acorn: 8.11.3
- acorn-import-attributes: 1.9.2(acorn@8.11.3)
+ acorn-import-attributes: 1.9.5(acorn@8.11.3)
async-sema: 3.1.1
bindings: 1.5.0
estree-walker: 2.0.2
@@ -11127,15 +11379,15 @@ snapshots:
- encoding
- supports-color
- '@vitejs/plugin-vue@5.0.4(vite@5.2.2(@types/node@20.12.10)(sass@1.77.0))(vue@3.4.27(typescript@5.4.5))':
+ '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.10)(sass@1.77.2))(vue@3.4.27(typescript@5.4.5))':
dependencies:
- vite: 5.2.2(@types/node@20.12.10)(sass@1.77.0)
+ vite: 5.2.11(@types/node@20.12.10)(sass@1.77.2)
vue: 3.4.27(typescript@5.4.5)
optional: true
- '@vitejs/plugin-vue@5.0.4(vite@5.2.2(@types/node@20.12.11)(sass@1.77.0))(vue@3.4.27(typescript@5.4.5))':
+ '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2))(vue@3.4.27(typescript@5.4.5))':
dependencies:
- vite: 5.2.2(@types/node@20.12.11)(sass@1.77.0)
+ vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)
vue: 3.4.27(typescript@5.4.5)
'@volar/language-core@1.11.1':
@@ -11230,21 +11482,21 @@ snapshots:
'@vue/shared@3.4.27': {}
- '@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5)':
+ '@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5)':
dependencies:
- '@vitejs/plugin-vue': 5.0.4(vite@5.2.2(@types/node@20.12.10)(sass@1.77.0))(vue@3.4.27(typescript@5.4.5))
- '@vuepress/client': 2.0.0-rc.9(typescript@5.4.5)
- '@vuepress/core': 2.0.0-rc.9(typescript@5.4.5)
- '@vuepress/shared': 2.0.0-rc.9
- '@vuepress/utils': 2.0.0-rc.9
+ '@vitejs/plugin-vue': 5.0.4(vite@5.2.11(@types/node@20.12.10)(sass@1.77.2))(vue@3.4.27(typescript@5.4.5))
+ '@vuepress/client': 2.0.0-rc.12(typescript@5.4.5)
+ '@vuepress/core': 2.0.0-rc.12(typescript@5.4.5)
+ '@vuepress/shared': 2.0.0-rc.12
+ '@vuepress/utils': 2.0.0-rc.12
autoprefixer: 10.4.19(postcss@8.4.38)
connect-history-api-fallback: 2.0.0
postcss: 8.4.38
- postcss-load-config: 5.0.3(jiti@1.21.0)(postcss@8.4.38)
- rollup: 4.13.0
- vite: 5.2.2(@types/node@20.12.10)(sass@1.77.0)
+ postcss-load-config: 5.1.0(jiti@1.21.0)(postcss@8.4.38)
+ rollup: 4.18.0
+ vite: 5.2.11(@types/node@20.12.10)(sass@1.77.2)
vue: 3.4.27(typescript@5.4.5)
- vue-router: 4.3.0(vue@3.4.27(typescript@5.4.5))
+ vue-router: 4.3.2(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -11255,24 +11507,25 @@ snapshots:
- sugarss
- supports-color
- terser
+ - tsx
- typescript
optional: true
- '@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.11)(jiti@1.21.0)(sass@1.77.0)(typescript@5.4.5)':
+ '@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.12)(jiti@1.21.0)(sass@1.77.2)(typescript@5.4.5)':
dependencies:
- '@vitejs/plugin-vue': 5.0.4(vite@5.2.2(@types/node@20.12.11)(sass@1.77.0))(vue@3.4.27(typescript@5.4.5))
- '@vuepress/client': 2.0.0-rc.9(typescript@5.4.5)
- '@vuepress/core': 2.0.0-rc.9(typescript@5.4.5)
- '@vuepress/shared': 2.0.0-rc.9
- '@vuepress/utils': 2.0.0-rc.9
+ '@vitejs/plugin-vue': 5.0.4(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2))(vue@3.4.27(typescript@5.4.5))
+ '@vuepress/client': 2.0.0-rc.12(typescript@5.4.5)
+ '@vuepress/core': 2.0.0-rc.12(typescript@5.4.5)
+ '@vuepress/shared': 2.0.0-rc.12
+ '@vuepress/utils': 2.0.0-rc.12
autoprefixer: 10.4.19(postcss@8.4.38)
connect-history-api-fallback: 2.0.0
postcss: 8.4.38
- postcss-load-config: 5.0.3(jiti@1.21.0)(postcss@8.4.38)
- rollup: 4.13.0
- vite: 5.2.2(@types/node@20.12.11)(sass@1.77.0)
+ postcss-load-config: 5.1.0(jiti@1.21.0)(postcss@8.4.38)
+ rollup: 4.18.0
+ vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)
vue: 3.4.27(typescript@5.4.5)
- vue-router: 4.3.0(vue@3.4.27(typescript@5.4.5))
+ vue-router: 4.3.2(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -11283,108 +11536,102 @@ snapshots:
- sugarss
- supports-color
- terser
+ - tsx
- typescript
- '@vuepress/cli@2.0.0-rc.9(typescript@5.4.5)':
+ '@vuepress/cli@2.0.0-rc.12(typescript@5.4.5)':
dependencies:
- '@vuepress/core': 2.0.0-rc.9(typescript@5.4.5)
- '@vuepress/shared': 2.0.0-rc.9
- '@vuepress/utils': 2.0.0-rc.9
+ '@vuepress/core': 2.0.0-rc.12(typescript@5.4.5)
+ '@vuepress/shared': 2.0.0-rc.12
+ '@vuepress/utils': 2.0.0-rc.12
cac: 6.7.14
chokidar: 3.6.0
- envinfo: 7.11.1
+ envinfo: 7.13.0
esbuild: 0.20.2
transitivePeerDependencies:
- supports-color
- typescript
- '@vuepress/client@2.0.0-rc.9(typescript@5.4.5)':
+ '@vuepress/client@2.0.0-rc.12(typescript@5.4.5)':
dependencies:
'@vue/devtools-api': 6.6.1
- '@vuepress/shared': 2.0.0-rc.9
+ '@vuepress/shared': 2.0.0-rc.12
vue: 3.4.27(typescript@5.4.5)
vue-router: 4.3.2(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- typescript
- '@vuepress/core@2.0.0-rc.9(typescript@5.4.5)':
+ '@vuepress/core@2.0.0-rc.12(typescript@5.4.5)':
dependencies:
- '@vuepress/client': 2.0.0-rc.9(typescript@5.4.5)
- '@vuepress/markdown': 2.0.0-rc.9(patch_hash=f3on36z73gmvj4jugj25dg7wje)
- '@vuepress/shared': 2.0.0-rc.9
- '@vuepress/utils': 2.0.0-rc.9
+ '@vuepress/client': 2.0.0-rc.12(typescript@5.4.5)
+ '@vuepress/markdown': 2.0.0-rc.12
+ '@vuepress/shared': 2.0.0-rc.12
+ '@vuepress/utils': 2.0.0-rc.12
vue: 3.4.27(typescript@5.4.5)
transitivePeerDependencies:
- supports-color
- typescript
- '@vuepress/helper@2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/helper@2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
'@vue/shared': 3.4.27
cheerio: 1.0.0-rc.12
fflate: 0.8.2
gray-matter: 4.0.3
vue: 3.4.27(typescript@5.4.5)
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- typescript
- '@vuepress/markdown@2.0.0-rc.9(patch_hash=f3on36z73gmvj4jugj25dg7wje)':
+ '@vuepress/markdown@2.0.0-rc.12':
dependencies:
- '@mdit-vue/plugin-component': 2.0.0
- '@mdit-vue/plugin-frontmatter': 2.0.0
- '@mdit-vue/plugin-headers': 2.0.0
- '@mdit-vue/plugin-sfc': 2.0.0
- '@mdit-vue/plugin-title': 2.0.0
- '@mdit-vue/plugin-toc': 2.0.0
- '@mdit-vue/shared': 2.0.0
- '@mdit-vue/types': 2.0.0
- '@types/markdown-it': 13.0.7
- '@types/markdown-it-emoji': 2.0.4
- '@vuepress/shared': 2.0.0-rc.9
- '@vuepress/utils': 2.0.0-rc.9
+ '@mdit-vue/plugin-component': 2.1.3
+ '@mdit-vue/plugin-frontmatter': 2.1.3
+ '@mdit-vue/plugin-headers': 2.1.3
+ '@mdit-vue/plugin-sfc': 2.1.3
+ '@mdit-vue/plugin-title': 2.1.3
+ '@mdit-vue/plugin-toc': 2.1.3
+ '@mdit-vue/shared': 2.1.3
+ '@mdit-vue/types': 2.1.0
+ '@types/markdown-it': 14.1.1
+ '@types/markdown-it-emoji': 3.0.1
+ '@vuepress/shared': 2.0.0-rc.12
+ '@vuepress/utils': 2.0.0-rc.12
markdown-it: 14.1.0
- markdown-it-anchor: 8.6.7(@types/markdown-it@13.0.7)(markdown-it@14.1.0)
+ markdown-it-anchor: 9.0.1(@types/markdown-it@14.1.1)(markdown-it@14.1.0)
markdown-it-emoji: 3.0.0
mdurl: 2.0.0
transitivePeerDependencies:
- supports-color
- '@vuepress/plugin-active-header-links@2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/plugin-active-header-links@2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
'@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5))
vue: 3.4.27(typescript@5.4.5)
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- '@vue/composition-api'
- typescript
- '@vuepress/plugin-comment@2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/plugin-comment@2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
- '@vuepress/helper': 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ '@vuepress/helper': 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
giscus: 1.5.0
vue: 3.4.27(typescript@5.4.5)
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- typescript
- '@vuepress/plugin-container@2.0.0-rc.28(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
- dependencies:
- '@types/markdown-it': 14.1.1
- markdown-it: 14.1.0
- markdown-it-container: 4.0.0
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
-
- '@vuepress/plugin-docsearch@2.0.0-rc.28(@algolia/client-search@4.20.0)(search-insights@2.7.0)(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/plugin-docsearch@2.0.0-rc.31(@algolia/client-search@4.20.0)(search-insights@2.7.0)(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
'@docsearch/css': 3.6.0
'@docsearch/js': 3.6.0(@algolia/client-search@4.20.0)(search-insights@2.7.0)
'@docsearch/react': 3.6.0(@algolia/client-search@4.20.0)(search-insights@2.7.0)
- '@vuepress/helper': 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ '@vuepress/helper': 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5))
ts-debounce: 4.0.0
vue: 3.4.27(typescript@5.4.5)
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- '@algolia/client-search'
- '@types/react'
@@ -11394,112 +11641,98 @@ snapshots:
- search-insights
- typescript
- '@vuepress/plugin-external-link-icon@2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/plugin-git@2.0.0-rc.31(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
- vue: 3.4.27(typescript@5.4.5)
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
- transitivePeerDependencies:
- - typescript
+ execa: 9.1.0
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
- '@vuepress/plugin-git@2.0.0-rc.22(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/plugin-markdown-container@2.0.0-rc.31(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
- execa: 8.0.1
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ '@types/markdown-it': 14.1.1
+ markdown-it-container: 4.0.0
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
- '@vuepress/plugin-medium-zoom@2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/plugin-medium-zoom@2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
- '@vuepress/helper': 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ '@vuepress/helper': 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
medium-zoom: 1.1.0
vue: 3.4.27(typescript@5.4.5)
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- typescript
- '@vuepress/plugin-nprogress@2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/plugin-nprogress@2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
vue: 3.4.27(typescript@5.4.5)
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- typescript
- '@vuepress/plugin-palette@2.0.0-rc.21(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/plugin-reading-time@2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
- chokidar: 3.6.0
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
-
- '@vuepress/plugin-reading-time@2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
- dependencies:
- '@vuepress/helper': 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ '@vuepress/helper': 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
vue: 3.4.27(typescript@5.4.5)
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- typescript
- '@vuepress/plugin-sass-palette@2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/plugin-sass-palette@2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
- '@vuepress/helper': 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ '@vuepress/helper': 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
chokidar: 3.6.0
- sass: 1.77.0
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ sass: 1.77.2
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- typescript
- '@vuepress/plugin-seo@2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/plugin-seo@2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
- '@vuepress/helper': 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ '@vuepress/helper': 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- typescript
- '@vuepress/plugin-sitemap@2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/plugin-sitemap@2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
- '@vuepress/helper': 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
- sitemap: 7.1.1
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ '@vuepress/helper': 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ sitemap: 8.0.0
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- typescript
- '@vuepress/plugin-theme-data@2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/plugin-theme-data@2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
'@vue/devtools-api': 6.6.1
vue: 3.4.27(typescript@5.4.5)
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- typescript
- '@vuepress/plugin-toc@2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/plugin-watermark@2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
dependencies:
+ '@vuepress/helper': 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
vue: 3.4.27(typescript@5.4.5)
- vue-router: 4.3.2(vue@3.4.27(typescript@5.4.5))
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ watermark-js-plus: 1.5.0
transitivePeerDependencies:
- typescript
- '@vuepress/plugin-watermark@2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))':
+ '@vuepress/shared@2.0.0-rc.12':
dependencies:
- '@vuepress/helper': 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
- vue: 3.4.27(typescript@5.4.5)
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
- watermark-js-plus: 1.4.24
- transitivePeerDependencies:
- - typescript
+ '@mdit-vue/types': 2.1.0
- '@vuepress/shared@2.0.0-rc.9':
- dependencies:
- '@mdit-vue/types': 2.0.0
-
- '@vuepress/utils@2.0.0-rc.9':
+ '@vuepress/utils@2.0.0-rc.12':
dependencies:
'@types/debug': 4.1.12
'@types/fs-extra': 11.0.4
'@types/hash-sum': 1.0.2
- '@vuepress/shared': 2.0.0-rc.9
+ '@vuepress/shared': 2.0.0-rc.12
debug: 4.3.4(supports-color@9.2.2)
fs-extra: 11.2.0
globby: 14.0.1
hash-sum: 2.0.0
ora: 8.0.1
- picocolors: 1.0.0
+ picocolors: 1.0.1
upath: 2.0.1
transitivePeerDependencies:
- supports-color
@@ -11514,14 +11747,14 @@ snapshots:
- '@vue/composition-api'
- vue
- '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(jwt-decode@3.1.2)(vue@3.4.27(typescript@5.4.5))':
+ '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(jwt-decode@4.0.0)(vue@3.4.27(typescript@5.4.5))':
dependencies:
'@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5))
'@vueuse/shared': 10.9.0(vue@3.4.27(typescript@5.4.5))
vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5))
optionalDependencies:
focus-trap: 7.5.4
- jwt-decode: 3.1.2
+ jwt-decode: 4.0.0
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@@ -11606,7 +11839,7 @@ snapshots:
mime-types: 2.1.35
negotiator: 0.6.3
- acorn-import-attributes@1.9.2(acorn@8.11.3):
+ acorn-import-attributes@1.9.5(acorn@8.11.3):
dependencies:
acorn: 8.11.3
@@ -11647,6 +11880,10 @@ snapshots:
optionalDependencies:
ajv: 8.12.0
+ ajv-formats@3.0.1(ajv@8.12.0):
+ optionalDependencies:
+ ajv: 8.12.0
+
ajv@6.12.6:
dependencies:
fast-deep-equal: 3.1.3
@@ -11686,7 +11923,7 @@ snapshots:
global-cache-dir: 4.4.0
is-plain-obj: 4.1.0
path-exists: 5.0.0
- semver: 7.6.0
+ semver: 7.6.2
write-file-atomic: 4.0.1
ansi-align@3.0.1:
@@ -11705,6 +11942,10 @@ snapshots:
ansi-escapes@6.2.1: {}
+ ansi-escapes@7.0.0:
+ dependencies:
+ environment: 1.1.0
+
ansi-regex@3.0.1: {}
ansi-regex@4.1.1: {}
@@ -11748,24 +11989,25 @@ snapshots:
aproba@2.0.0: {}
- archiver-utils@4.0.1:
+ archiver-utils@5.0.2:
dependencies:
- glob: 8.0.3
+ glob: 10.3.10
graceful-fs: 4.2.11
+ is-stream: 2.0.1
lazystream: 1.0.1
lodash: 4.17.21
normalize-path: 3.0.0
- readable-stream: 3.6.0
+ readable-stream: 4.3.0
- archiver@6.0.1:
+ archiver@7.0.1:
dependencies:
- archiver-utils: 4.0.1
+ archiver-utils: 5.0.2
async: 3.2.4
- buffer-crc32: 0.2.13
- readable-stream: 3.6.0
+ buffer-crc32: 1.0.0
+ readable-stream: 4.3.0
readdir-glob: 1.1.2
tar-stream: 3.1.6
- zip-stream: 5.0.1
+ zip-stream: 6.0.1
archy@1.0.0: {}
@@ -11836,15 +12078,16 @@ snapshots:
caniuse-lite: 1.0.30001600
fraction.js: 4.3.7
normalize-range: 0.1.2
- picocolors: 1.0.0
+ picocolors: 1.0.1
postcss: 8.4.38
postcss-value-parser: 4.2.0
- avvio@8.2.0:
+ avvio@8.3.0:
dependencies:
+ '@fastify/error': 3.4.1
archy: 1.0.0
debug: 4.3.4(supports-color@9.2.2)
- fastq: 1.14.0
+ fastq: 1.17.1
transitivePeerDependencies:
- supports-color
@@ -11903,12 +12146,6 @@ snapshots:
inherits: 2.0.4
readable-stream: 3.6.0
- bl@5.1.0:
- dependencies:
- buffer: 6.0.3
- inherits: 2.0.4
- readable-stream: 3.6.0
-
blueimp-md5@2.19.0: {}
body-parser@1.20.2:
@@ -11969,6 +12206,10 @@ snapshots:
dependencies:
fill-range: 7.0.1
+ braces@3.0.3:
+ dependencies:
+ fill-range: 7.1.1
+
browserslist@4.23.0:
dependencies:
caniuse-lite: 1.0.30001600
@@ -11978,6 +12219,8 @@ snapshots:
buffer-crc32@0.2.13: {}
+ buffer-crc32@1.0.0: {}
+
buffer-equal-constant-time@1.0.1: {}
buffer-from@1.1.2: {}
@@ -11996,7 +12239,7 @@ snapshots:
builtins@5.0.1:
dependencies:
- semver: 7.6.0
+ semver: 7.6.2
bumpp@8.2.1:
dependencies:
@@ -12115,7 +12358,7 @@ snapshots:
chardet@0.7.0: {}
- chart.js@4.4.2:
+ chart.js@4.4.3:
dependencies:
'@kurkle/color': 0.3.2
@@ -12154,8 +12397,6 @@ snapshots:
chownr@2.0.0: {}
- ci-info@3.8.0: {}
-
ci-info@4.0.0: {}
citty@0.1.6:
@@ -12203,11 +12444,6 @@ snapshots:
cli-spinners@2.9.2: {}
- cli-truncate@3.1.0:
- dependencies:
- slice-ansi: 5.0.0
- string-width: 5.1.2
-
cli-truncate@4.0.0:
dependencies:
slice-ansi: 5.0.0
@@ -12298,7 +12534,7 @@ snapshots:
commander@10.0.1: {}
- commander@11.1.0: {}
+ commander@12.1.0: {}
commander@2.20.3: {}
@@ -12347,12 +12583,13 @@ snapshots:
component-emitter@1.3.0: {}
- compress-commons@5.0.1:
+ compress-commons@6.0.2:
dependencies:
crc-32: 1.2.2
- crc32-stream: 5.0.0
+ crc32-stream: 6.0.0
+ is-stream: 2.0.1
normalize-path: 3.0.0
- readable-stream: 3.6.0
+ readable-stream: 4.3.0
computeds@0.0.1: {}
@@ -12366,7 +12603,7 @@ snapshots:
js-string-escape: 1.0.1
lodash: 4.17.21
md5-hex: 3.0.1
- semver: 7.6.0
+ semver: 7.6.2
well-known-symbols: 2.0.0
concurrently@8.2.2:
@@ -12627,27 +12864,11 @@ snapshots:
cookie-signature@1.0.6: {}
- cookie@0.5.0: {}
-
cookie@0.6.0: {}
copy-descriptor@0.1.1: {}
- copy-template-dir@1.4.0:
- dependencies:
- end-of-stream: 1.4.4
- graceful-fs: 4.2.11
- maxstache: 1.0.7
- maxstache-stream: 1.0.4
- mkdirp: 0.5.6
- noop2: 2.0.0
- pump: 1.0.3
- readdirp: 2.2.1
- run-parallel: 1.2.0
- transitivePeerDependencies:
- - supports-color
-
- core-js-compat@3.35.0:
+ core-js-compat@3.37.1:
dependencies:
browserslist: 4.23.0
@@ -12717,10 +12938,10 @@ snapshots:
crc-32@1.2.2: {}
- crc32-stream@5.0.0:
+ crc32-stream@6.0.0:
dependencies:
crc-32: 1.2.2
- readable-stream: 3.6.0
+ readable-stream: 4.3.0
create-filter@1.0.1:
dependencies:
@@ -12730,7 +12951,7 @@ snapshots:
create-require@1.1.1: {}
- cron-parser@4.8.1:
+ cron-parser@4.9.0:
dependencies:
luxon: 3.3.0
@@ -12994,8 +13215,6 @@ snapshots:
dateformat@3.0.3: {}
- dayjs@1.11.10: {}
-
dayjs@1.11.11: {}
de-indent@1.0.2: {}
@@ -13187,7 +13406,9 @@ snapshots:
dependencies:
type-fest: 2.18.0
- dotenv@16.0.3: {}
+ dot-prop@9.0.0:
+ dependencies:
+ type-fest: 4.18.3
dotenv@16.4.5: {}
@@ -13237,9 +13458,9 @@ snapshots:
env-paths@3.0.0: {}
- envinfo@7.11.1: {}
+ envinfo@7.13.0: {}
- envinfo@7.8.1: {}
+ environment@1.1.0: {}
error-ex@1.3.2:
dependencies:
@@ -13305,31 +13526,57 @@ snapshots:
'@esbuild/win32-ia32': 0.20.2
'@esbuild/win32-x64': 0.20.2
- esbuild@0.21.1:
+ esbuild@0.21.2:
optionalDependencies:
- '@esbuild/aix-ppc64': 0.21.1
- '@esbuild/android-arm': 0.21.1
- '@esbuild/android-arm64': 0.21.1
- '@esbuild/android-x64': 0.21.1
- '@esbuild/darwin-arm64': 0.21.1
- '@esbuild/darwin-x64': 0.21.1
- '@esbuild/freebsd-arm64': 0.21.1
- '@esbuild/freebsd-x64': 0.21.1
- '@esbuild/linux-arm': 0.21.1
- '@esbuild/linux-arm64': 0.21.1
- '@esbuild/linux-ia32': 0.21.1
- '@esbuild/linux-loong64': 0.21.1
- '@esbuild/linux-mips64el': 0.21.1
- '@esbuild/linux-ppc64': 0.21.1
- '@esbuild/linux-riscv64': 0.21.1
- '@esbuild/linux-s390x': 0.21.1
- '@esbuild/linux-x64': 0.21.1
- '@esbuild/netbsd-x64': 0.21.1
- '@esbuild/openbsd-x64': 0.21.1
- '@esbuild/sunos-x64': 0.21.1
- '@esbuild/win32-arm64': 0.21.1
- '@esbuild/win32-ia32': 0.21.1
- '@esbuild/win32-x64': 0.21.1
+ '@esbuild/aix-ppc64': 0.21.2
+ '@esbuild/android-arm': 0.21.2
+ '@esbuild/android-arm64': 0.21.2
+ '@esbuild/android-x64': 0.21.2
+ '@esbuild/darwin-arm64': 0.21.2
+ '@esbuild/darwin-x64': 0.21.2
+ '@esbuild/freebsd-arm64': 0.21.2
+ '@esbuild/freebsd-x64': 0.21.2
+ '@esbuild/linux-arm': 0.21.2
+ '@esbuild/linux-arm64': 0.21.2
+ '@esbuild/linux-ia32': 0.21.2
+ '@esbuild/linux-loong64': 0.21.2
+ '@esbuild/linux-mips64el': 0.21.2
+ '@esbuild/linux-ppc64': 0.21.2
+ '@esbuild/linux-riscv64': 0.21.2
+ '@esbuild/linux-s390x': 0.21.2
+ '@esbuild/linux-x64': 0.21.2
+ '@esbuild/netbsd-x64': 0.21.2
+ '@esbuild/openbsd-x64': 0.21.2
+ '@esbuild/sunos-x64': 0.21.2
+ '@esbuild/win32-arm64': 0.21.2
+ '@esbuild/win32-ia32': 0.21.2
+ '@esbuild/win32-x64': 0.21.2
+
+ esbuild@0.21.4:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.21.4
+ '@esbuild/android-arm': 0.21.4
+ '@esbuild/android-arm64': 0.21.4
+ '@esbuild/android-x64': 0.21.4
+ '@esbuild/darwin-arm64': 0.21.4
+ '@esbuild/darwin-x64': 0.21.4
+ '@esbuild/freebsd-arm64': 0.21.4
+ '@esbuild/freebsd-x64': 0.21.4
+ '@esbuild/linux-arm': 0.21.4
+ '@esbuild/linux-arm64': 0.21.4
+ '@esbuild/linux-ia32': 0.21.4
+ '@esbuild/linux-loong64': 0.21.4
+ '@esbuild/linux-mips64el': 0.21.4
+ '@esbuild/linux-ppc64': 0.21.4
+ '@esbuild/linux-riscv64': 0.21.4
+ '@esbuild/linux-s390x': 0.21.4
+ '@esbuild/linux-x64': 0.21.4
+ '@esbuild/netbsd-x64': 0.21.4
+ '@esbuild/openbsd-x64': 0.21.4
+ '@esbuild/sunos-x64': 0.21.4
+ '@esbuild/win32-arm64': 0.21.4
+ '@esbuild/win32-ia32': 0.21.4
+ '@esbuild/win32-x64': 0.21.4
escalade@3.1.1: {}
@@ -13354,23 +13601,23 @@ snapshots:
optionalDependencies:
source-map: 0.6.1
- eslint-compat-utils@0.1.2(eslint@9.2.0):
+ eslint-compat-utils@0.1.2(eslint@9.3.0):
dependencies:
- eslint: 9.2.0
+ eslint: 9.3.0
- eslint-compat-utils@0.5.0(eslint@9.2.0):
+ eslint-compat-utils@0.5.0(eslint@9.3.0):
dependencies:
- eslint: 9.2.0
- semver: 7.6.0
+ eslint: 9.3.0
+ semver: 7.6.2
eslint-config-flat-gitignore@0.1.5:
dependencies:
find-up: 7.0.0
parse-gitignore: 2.0.0
- eslint-flat-config-utils@0.2.3:
+ eslint-flat-config-utils@0.2.5:
dependencies:
- '@types/eslint': 8.56.9
+ '@types/eslint': 8.56.10
pathe: 1.1.2
eslint-import-resolver-node@0.3.9:
@@ -13381,120 +13628,132 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-merge-processors@0.1.0(eslint@9.2.0):
+ eslint-merge-processors@0.1.0(eslint@9.3.0):
dependencies:
- eslint: 9.2.0
+ eslint: 9.3.0
- eslint-plugin-antfu@2.1.2(eslint@9.2.0):
+ eslint-plugin-antfu@2.2.0(eslint@9.3.0):
dependencies:
- eslint: 9.2.0
+ '@antfu/utils': 0.7.8
+ eslint: 9.3.0
- eslint-plugin-es-x@7.5.0(eslint@9.2.0):
+ eslint-plugin-es-x@7.5.0(eslint@9.3.0):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0)
'@eslint-community/regexpp': 4.10.0
- eslint: 9.2.0
- eslint-compat-utils: 0.1.2(eslint@9.2.0)
+ eslint: 9.3.0
+ eslint-compat-utils: 0.1.2(eslint@9.3.0)
- eslint-plugin-eslint-comments@3.2.0(eslint@9.2.0):
+ eslint-plugin-eslint-comments@3.2.0(eslint@9.3.0):
dependencies:
escape-string-regexp: 1.0.5
- eslint: 9.2.0
+ eslint: 9.3.0
ignore: 5.3.1
- eslint-plugin-import-x@0.5.0(eslint@9.2.0)(typescript@5.4.5):
+ eslint-plugin-import-x@0.5.0(eslint@9.3.0)(typescript@5.4.5):
dependencies:
- '@typescript-eslint/utils': 7.7.0(eslint@9.2.0)(typescript@5.4.5)
+ '@typescript-eslint/utils': 7.7.1(eslint@9.3.0)(typescript@5.4.5)
debug: 4.3.4(supports-color@9.2.2)
doctrine: 3.0.0
- eslint: 9.2.0
+ eslint: 9.3.0
eslint-import-resolver-node: 0.3.9
get-tsconfig: 4.7.3
is-glob: 4.0.3
minimatch: 9.0.4
- semver: 7.6.0
+ semver: 7.6.2
transitivePeerDependencies:
- supports-color
- typescript
- eslint-plugin-jsdoc@48.2.3(eslint@9.2.0):
+ eslint-plugin-jsdoc@48.2.5(eslint@9.3.0):
dependencies:
- '@es-joy/jsdoccomment': 0.42.0
+ '@es-joy/jsdoccomment': 0.43.0
are-docs-informative: 0.0.2
comment-parser: 1.4.1
debug: 4.3.4(supports-color@9.2.2)
escape-string-regexp: 4.0.0
- eslint: 9.2.0
+ eslint: 9.3.0
esquery: 1.5.0
is-builtin-module: 3.2.1
- semver: 7.6.0
+ semver: 7.6.2
spdx-expression-parse: 4.0.0
transitivePeerDependencies:
- supports-color
- eslint-plugin-jsonc@2.15.1(eslint@9.2.0):
+ eslint-plugin-jsonc@2.15.1(eslint@9.3.0):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- eslint: 9.2.0
- eslint-compat-utils: 0.5.0(eslint@9.2.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0)
+ eslint: 9.3.0
+ eslint-compat-utils: 0.5.0(eslint@9.3.0)
espree: 9.6.1
graphemer: 1.4.0
jsonc-eslint-parser: 2.4.0
natural-compare: 1.4.0
synckit: 0.6.2
- eslint-plugin-markdown@4.0.1(eslint@9.2.0):
+ eslint-plugin-markdown@5.0.0(eslint@9.3.0):
dependencies:
- eslint: 9.2.0
+ eslint: 9.3.0
mdast-util-from-markdown: 0.8.5
transitivePeerDependencies:
- supports-color
- eslint-plugin-n@17.2.1(eslint@9.2.0):
+ eslint-plugin-n@17.7.0(eslint@9.3.0):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0)
enhanced-resolve: 5.16.0
- eslint: 9.2.0
- eslint-plugin-es-x: 7.5.0(eslint@9.2.0)
+ eslint: 9.3.0
+ eslint-plugin-es-x: 7.5.0(eslint@9.3.0)
get-tsconfig: 4.7.3
- globals: 14.0.0
+ globals: 15.2.0
ignore: 5.3.1
minimatch: 9.0.4
- semver: 7.6.0
+ semver: 7.6.2
eslint-plugin-no-only-tests@3.1.0: {}
- eslint-plugin-perfectionist@2.9.0(eslint@9.2.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.2.0)):
+ eslint-plugin-perfectionist@2.10.0(eslint@9.3.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.3.0)):
dependencies:
- '@typescript-eslint/utils': 6.21.0(eslint@9.2.0)(typescript@5.4.5)
- eslint: 9.2.0
+ '@typescript-eslint/utils': 7.7.1(eslint@9.3.0)(typescript@5.4.5)
+ eslint: 9.3.0
minimatch: 9.0.4
natural-compare-lite: 1.4.0
optionalDependencies:
- vue-eslint-parser: 9.4.2(eslint@9.2.0)
+ vue-eslint-parser: 9.4.2(eslint@9.3.0)
transitivePeerDependencies:
- supports-color
- typescript
- eslint-plugin-toml@0.11.0(eslint@9.2.0):
+ eslint-plugin-regexp@2.5.0(eslint@9.3.0):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0)
+ '@eslint-community/regexpp': 4.10.0
+ comment-parser: 1.4.1
+ eslint: 9.3.0
+ jsdoc-type-pratt-parser: 4.0.0
+ refa: 0.12.1
+ regexp-ast-analysis: 0.7.1
+ scslre: 0.3.0
+
+ eslint-plugin-toml@0.11.0(eslint@9.3.0):
dependencies:
debug: 4.3.4(supports-color@9.2.2)
- eslint: 9.2.0
- eslint-compat-utils: 0.5.0(eslint@9.2.0)
+ eslint: 9.3.0
+ eslint-compat-utils: 0.5.0(eslint@9.3.0)
lodash: 4.17.21
toml-eslint-parser: 0.9.3
transitivePeerDependencies:
- supports-color
- eslint-plugin-unicorn@52.0.0(eslint@9.2.0):
+ eslint-plugin-unicorn@53.0.0(eslint@9.3.0):
dependencies:
- '@babel/helper-validator-identifier': 7.22.20
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- '@eslint/eslintrc': 2.1.4
+ '@babel/helper-validator-identifier': 7.24.5
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0)
+ '@eslint/eslintrc': 3.0.2
ci-info: 4.0.0
clean-regexp: 1.0.0
- core-js-compat: 3.35.0
- eslint: 9.2.0
+ core-js-compat: 3.37.1
+ eslint: 9.3.0
esquery: 1.5.0
indent-string: 4.0.0
is-builtin-module: 3.2.1
@@ -13503,57 +13762,57 @@ snapshots:
read-pkg-up: 7.0.1
regexp-tree: 0.1.27
regjsparser: 0.10.0
- semver: 7.6.0
+ semver: 7.6.2
strip-indent: 3.0.0
transitivePeerDependencies:
- supports-color
- eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0):
+ eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0):
dependencies:
- eslint: 9.2.0
+ eslint: 9.3.0
eslint-rule-composer: 0.3.0
optionalDependencies:
- '@typescript-eslint/eslint-plugin': 7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5)
+ '@typescript-eslint/eslint-plugin': 7.9.0(@typescript-eslint/parser@7.9.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5)
- eslint-plugin-vitest@0.5.3(@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5):
+ eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5):
dependencies:
- '@typescript-eslint/utils': 7.7.0(eslint@9.2.0)(typescript@5.4.5)
- eslint: 9.2.0
+ '@typescript-eslint/utils': 7.7.1(eslint@9.3.0)(typescript@5.4.5)
+ eslint: 9.3.0
optionalDependencies:
- '@typescript-eslint/eslint-plugin': 7.7.1(@typescript-eslint/parser@7.7.1(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5)
+ '@typescript-eslint/eslint-plugin': 7.9.0(@typescript-eslint/parser@7.9.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5)
transitivePeerDependencies:
- supports-color
- typescript
- eslint-plugin-vue@9.25.0(eslint@9.2.0):
+ eslint-plugin-vue@9.26.0(eslint@9.3.0):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
- eslint: 9.2.0
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0)
+ eslint: 9.3.0
globals: 13.24.0
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.0.16
- semver: 7.6.0
- vue-eslint-parser: 9.4.2(eslint@9.2.0)
+ semver: 7.6.2
+ vue-eslint-parser: 9.4.2(eslint@9.3.0)
xml-name-validator: 4.0.0
transitivePeerDependencies:
- supports-color
- eslint-plugin-yml@1.14.0(eslint@9.2.0):
+ eslint-plugin-yml@1.14.0(eslint@9.3.0):
dependencies:
debug: 4.3.4(supports-color@9.2.2)
- eslint: 9.2.0
- eslint-compat-utils: 0.5.0(eslint@9.2.0)
+ eslint: 9.3.0
+ eslint-compat-utils: 0.5.0(eslint@9.3.0)
lodash: 4.17.21
natural-compare: 1.4.0
yaml-eslint-parser: 1.2.2
transitivePeerDependencies:
- supports-color
- eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.2.0):
+ eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.27)(eslint@9.3.0):
dependencies:
'@vue/compiler-sfc': 3.4.27
- eslint: 9.2.0
+ eslint: 9.3.0
eslint-rule-composer@0.3.0: {}
@@ -13571,15 +13830,15 @@ snapshots:
eslint-visitor-keys@4.0.0: {}
- eslint@9.2.0:
+ eslint@9.3.0:
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0)
'@eslint-community/regexpp': 4.10.0
- '@eslint/eslintrc': 3.0.2
- '@eslint/js': 9.2.0
+ '@eslint/eslintrc': 3.1.0
+ '@eslint/js': 9.3.0
'@humanwhocodes/config-array': 0.13.0
'@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.2.3
+ '@humanwhocodes/retry': 0.3.0
'@nodelib/fs.walk': 1.2.8
ajv: 6.12.6
chalk: 4.1.2
@@ -13669,7 +13928,7 @@ snapshots:
human-signals: 3.0.1
is-stream: 3.0.0
merge-stream: 2.0.0
- npm-run-path: 5.1.0
+ npm-run-path: 5.3.0
onetime: 6.0.0
signal-exit: 3.0.7
strip-final-newline: 3.0.0
@@ -13681,12 +13940,12 @@ snapshots:
human-signals: 5.0.0
is-stream: 3.0.0
merge-stream: 2.0.0
- npm-run-path: 5.1.0
+ npm-run-path: 5.3.0
onetime: 6.0.0
signal-exit: 4.1.0
strip-final-newline: 3.0.0
- execa@9.0.1:
+ execa@9.1.0:
dependencies:
'@sindresorhus/merge-streams': 4.0.0
cross-spawn: 7.0.3
@@ -13806,7 +14065,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- fast-content-type-parse@1.0.0: {}
+ fast-content-type-parse@1.1.0: {}
fast-decode-uri-component@1.0.1: {}
@@ -13828,13 +14087,14 @@ snapshots:
fast-json-stable-stringify@2.1.0: {}
- fast-json-stringify@5.7.0:
+ fast-json-stringify@5.15.1:
dependencies:
- '@fastify/deepmerge': 1.3.0
+ '@fastify/merge-json-schemas': 0.1.1
ajv: 8.12.0
- ajv-formats: 2.1.1(ajv@8.12.0)
+ ajv-formats: 3.0.1(ajv@8.12.0)
fast-deep-equal: 3.1.3
fast-uri: 2.2.0
+ json-schema-ref-resolver: 1.0.1
rfdc: 1.3.0
fast-levenshtein@2.0.6: {}
@@ -13853,24 +14113,24 @@ snapshots:
fastify-plugin@4.5.0: {}
- fastify@4.17.0:
+ fastify@4.27.0:
dependencies:
'@fastify/ajv-compiler': 3.5.0
- '@fastify/error': 3.2.0
+ '@fastify/error': 3.4.1
'@fastify/fast-json-stringify-compiler': 4.3.0
abstract-logging: 2.0.1
- avvio: 8.2.0
- fast-content-type-parse: 1.0.0
- fast-json-stringify: 5.7.0
- find-my-way: 7.6.2
- light-my-request: 5.8.0
- pino: 8.8.0
- process-warning: 2.1.0
+ avvio: 8.3.0
+ fast-content-type-parse: 1.1.0
+ fast-json-stringify: 5.15.1
+ find-my-way: 8.2.0
+ light-my-request: 5.13.0
+ pino: 9.1.0
+ process-warning: 3.0.0
proxy-addr: 2.0.7
rfdc: 1.3.0
secure-json-parse: 2.7.0
- semver: 7.6.0
- tiny-lru: 11.0.1
+ semver: 7.6.2
+ toad-cache: 3.7.0
transitivePeerDependencies:
- supports-color
@@ -13878,6 +14138,10 @@ snapshots:
dependencies:
reusify: 1.0.4
+ fastq@1.17.1:
+ dependencies:
+ reusify: 1.0.4
+
fd-slicer@1.1.0:
dependencies:
pend: 1.2.0
@@ -13956,6 +14220,10 @@ snapshots:
dependencies:
to-regex-range: 5.0.1
+ fill-range@7.1.1:
+ dependencies:
+ to-regex-range: 5.0.1
+
filter-obj@3.0.0: {}
filter-obj@5.1.0: {}
@@ -13986,11 +14254,11 @@ snapshots:
find-index@0.1.1: {}
- find-my-way@7.6.2:
+ find-my-way@8.2.0:
dependencies:
fast-deep-equal: 3.1.3
fast-querystring: 1.1.0
- safe-regex2: 2.0.0
+ safe-regex2: 3.1.0
find-node-modules@2.1.3:
dependencies:
@@ -14037,7 +14305,7 @@ snapshots:
dependencies:
flatted: 3.2.9
keyv: 4.5.4
- rimraf: 5.0.5
+ rimraf: 5.0.7
flat@5.0.2: {}
@@ -14209,7 +14477,7 @@ snapshots:
dependencies:
'@xhmikosr/downloader': 13.0.1
node-fetch: 3.3.2
- semver: 7.6.0
+ semver: 7.6.2
giget@1.2.1:
dependencies:
@@ -14358,7 +14626,7 @@ snapshots:
globals@14.0.0: {}
- globals@15.0.0: {}
+ globals@15.2.0: {}
globby@11.1.0:
dependencies:
@@ -14381,7 +14649,7 @@ snapshots:
dependencies:
'@sindresorhus/merge-streams': 2.3.0
fast-glob: 3.3.2
- ignore: 5.3.0
+ ignore: 5.3.1
path-type: 5.0.0
slash: 5.1.0
unicorn-magic: 0.1.0
@@ -14474,8 +14742,6 @@ snapshots:
is-number: 3.0.0
kind-of: 4.0.0
- has-yarn@3.0.0: {}
-
has@1.0.3:
dependencies:
function-bind: 1.1.2
@@ -14632,8 +14898,6 @@ snapshots:
ignore@5.2.4: {}
- ignore@5.3.0: {}
-
ignore@5.3.1: {}
image-meta@0.2.0: {}
@@ -14804,10 +15068,6 @@ snapshots:
dependencies:
builtin-modules: 3.3.0
- is-ci@3.0.1:
- dependencies:
- ci-info: 3.8.0
-
is-core-module@2.13.1:
dependencies:
hasown: 2.0.0
@@ -14862,6 +15122,8 @@ snapshots:
is-hexadecimal@1.0.4: {}
+ is-in-ci@0.1.0: {}
+
is-inside-container@1.0.0:
dependencies:
is-docker: 3.0.0
@@ -14875,8 +15137,6 @@ snapshots:
is-interactive@2.0.0: {}
- is-node-process@1.2.0: {}
-
is-npm@6.0.0: {}
is-number@3.0.0:
@@ -14943,8 +15203,6 @@ snapshots:
dependencies:
is-inside-container: 1.0.0
- is-yarn-global@0.4.1: {}
-
is64bit@2.0.0:
dependencies:
system-architecture: 0.1.0
@@ -14955,6 +15213,8 @@ snapshots:
isexe@2.0.0: {}
+ isexe@3.1.1: {}
+
isobject@2.1.0:
dependencies:
isarray: 1.0.0
@@ -14984,7 +15244,7 @@ snapshots:
js-tokens@4.0.0: {}
- js-tokens@8.0.2: {}
+ js-tokens@9.0.0: {}
js-yaml@3.14.1:
dependencies:
@@ -15007,6 +15267,10 @@ snapshots:
json-parse-even-better-errors@2.3.1: {}
+ json-schema-ref-resolver@1.0.1:
+ dependencies:
+ fast-deep-equal: 3.1.3
+
json-schema-traverse@0.4.1: {}
json-schema-traverse@1.0.0: {}
@@ -15024,7 +15288,7 @@ snapshots:
acorn: 8.11.3
eslint-visitor-keys: 3.4.3
espree: 9.6.1
- semver: 7.6.0
+ semver: 7.6.2
jsonc-parser@3.2.0: {}
@@ -15049,7 +15313,7 @@ snapshots:
lodash.isstring: 4.0.1
lodash.once: 4.1.1
ms: 2.1.3
- semver: 7.6.0
+ semver: 7.6.2
junk@4.0.0: {}
@@ -15064,16 +15328,12 @@ snapshots:
jwa: 1.4.1
safe-buffer: 5.2.1
- jwt-decode@3.1.2: {}
+ jwt-decode@4.0.0: {}
katex@0.16.10:
dependencies:
commander: 8.3.0
- katex@0.16.9:
- dependencies:
- commander: 8.3.0
-
keep-func-props@4.0.1:
dependencies:
mimic-fn: 4.0.0
@@ -15102,13 +15362,13 @@ snapshots:
known-css-properties@0.29.0: {}
- known-css-properties@0.30.0: {}
+ known-css-properties@0.31.0: {}
kolorist@1.8.0: {}
kuler@2.0.0: {}
- lambda-local@2.1.2:
+ lambda-local@2.2.0:
dependencies:
commander: 10.0.1
dotenv: 16.4.5
@@ -15136,32 +15396,32 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
- light-my-request@5.8.0:
+ light-my-request@5.13.0:
dependencies:
- cookie: 0.5.0
- process-warning: 2.1.0
+ cookie: 0.6.0
+ process-warning: 3.0.0
set-cookie-parser: 2.5.1
- lilconfig@3.0.0: {}
+ lilconfig@3.1.1: {}
lines-and-columns@1.2.4: {}
linkify-it@5.0.0:
dependencies:
- uc.micro: 2.0.0
+ uc.micro: 2.1.0
- lint-staged@15.2.2:
+ lint-staged@15.2.5:
dependencies:
chalk: 5.3.0
- commander: 11.1.0
+ commander: 12.1.0
debug: 4.3.4(supports-color@9.2.2)
execa: 8.0.1
- lilconfig: 3.0.0
- listr2: 8.0.1
- micromatch: 4.0.5
+ lilconfig: 3.1.1
+ listr2: 8.2.1
+ micromatch: 4.0.7
pidtree: 0.6.0
string-argv: 0.3.2
- yaml: 2.3.4
+ yaml: 2.4.2
transitivePeerDependencies:
- supports-color
@@ -15188,22 +15448,13 @@ snapshots:
transitivePeerDependencies:
- uWebSockets.js
- listr2@7.0.2:
- dependencies:
- cli-truncate: 3.1.0
- colorette: 2.0.20
- eventemitter3: 5.0.1
- log-update: 5.0.1
- rfdc: 1.3.0
- wrap-ansi: 8.1.0
-
- listr2@8.0.1:
+ listr2@8.2.1:
dependencies:
cli-truncate: 4.0.0
colorette: 2.0.20
eventemitter3: 5.0.1
log-update: 6.0.0
- rfdc: 1.3.0
+ rfdc: 1.3.1
wrap-ansi: 9.0.0
lit-element@4.0.4:
@@ -15309,31 +15560,18 @@ snapshots:
jest-validate: 27.5.1
map-obj: 5.0.2
moize: 6.1.4
- semver: 7.6.0
+ semver: 7.6.2
log-symbols@4.1.0:
dependencies:
chalk: 4.1.2
is-unicode-supported: 0.1.0
- log-symbols@5.1.0:
- dependencies:
- chalk: 5.3.0
- is-unicode-supported: 1.3.0
-
log-symbols@6.0.0:
dependencies:
chalk: 5.3.0
is-unicode-supported: 1.3.0
- log-update@5.0.1:
- dependencies:
- ansi-escapes: 5.0.0
- cli-cursor: 4.0.0
- slice-ansi: 5.0.0
- strip-ansi: 7.1.0
- wrap-ansi: 8.1.0
-
log-update@6.0.0:
dependencies:
ansi-escapes: 6.2.1
@@ -15380,7 +15618,7 @@ snapshots:
make-dir@4.0.0:
dependencies:
- semver: 7.6.0
+ semver: 7.6.2
make-error@1.3.6: {}
@@ -15398,24 +15636,15 @@ snapshots:
mark.js@8.11.1: {}
- markdown-it-anchor@8.6.7(@types/markdown-it@13.0.7)(markdown-it@14.1.0):
+ markdown-it-anchor@9.0.1(@types/markdown-it@14.1.1)(markdown-it@14.1.0):
dependencies:
- '@types/markdown-it': 13.0.7
+ '@types/markdown-it': 14.1.1
markdown-it: 14.1.0
markdown-it-container@4.0.0: {}
markdown-it-emoji@3.0.0: {}
- markdown-it@14.0.0:
- dependencies:
- argparse: 2.0.1
- entities: 4.5.0
- linkify-it: 5.0.0
- mdurl: 2.0.0
- punycode.js: 2.3.1
- uc.micro: 2.0.0
-
markdown-it@14.1.0:
dependencies:
argparse: 2.0.1
@@ -15630,7 +15859,7 @@ snapshots:
merge@2.1.1: {}
- mermaid@10.9.0:
+ mermaid@10.9.1:
dependencies:
'@braintree/sanitize-url': 6.0.4
'@types/d3-scale': 4.0.8
@@ -15640,17 +15869,17 @@ snapshots:
d3: 7.9.0
d3-sankey: 0.12.3
dagre-d3-es: 7.0.10
- dayjs: 1.11.10
+ dayjs: 1.11.11
dompurify: 3.0.9
elkjs: 0.9.2
- katex: 0.16.9
+ katex: 0.16.10
khroma: 2.1.0
lodash-es: 4.17.21
mdast-util-from-markdown: 1.3.1
non-layered-tidy-tree-layout: 2.0.2
stylis: 4.3.1
ts-dedent: 2.2.0
- uuid: 9.0.0
+ uuid: 9.0.1
web-worker: 1.3.0
transitivePeerDependencies:
- supports-color
@@ -15957,6 +16186,11 @@ snapshots:
braces: 3.0.2
picomatch: 2.3.1
+ micromatch@4.0.7:
+ dependencies:
+ braces: 3.0.3
+ picomatch: 2.3.1
+
mime-db@1.52.0: {}
mime-types@2.1.35:
@@ -16118,21 +16352,21 @@ snapshots:
nested-error-stacks@2.1.1: {}
- netlify-cli@17.23.2(@types/express@4.17.21)(@types/node@20.12.11)(picomatch@2.3.1):
+ netlify-cli@17.23.8(@types/express@4.17.21)(@types/node@20.12.12)(picomatch@2.3.1):
dependencies:
- '@bugsnag/js': 7.22.7
- '@fastify/static': 6.12.0
+ '@bugsnag/js': 7.23.0
+ '@fastify/static': 7.0.4
'@netlify/blobs': 7.3.0
- '@netlify/build': 29.41.2(@opentelemetry/api@1.8.0)(@types/node@20.12.11)(picomatch@2.3.1)
+ '@netlify/build': 29.42.2(@opentelemetry/api@1.8.0)(@types/node@20.12.12)(picomatch@2.3.1)
'@netlify/build-info': 7.13.2
- '@netlify/config': 20.12.3
- '@netlify/edge-bundler': 12.0.0(supports-color@9.2.2)
- '@netlify/edge-functions': 2.5.1
+ '@netlify/config': 20.12.6
+ '@netlify/edge-bundler': 12.0.1(supports-color@9.2.2)
+ '@netlify/edge-functions': 2.8.1
'@netlify/local-functions-proxy': 1.1.1
- '@netlify/zip-it-and-ship-it': 9.32.1(@opentelemetry/api@1.8.0)(supports-color@9.2.2)
- '@octokit/rest': 19.0.13
+ '@netlify/zip-it-and-ship-it': 9.33.0(@opentelemetry/api@1.8.0)(supports-color@9.2.2)
+ '@octokit/rest': 20.1.1
'@opentelemetry/api': 1.8.0
- ansi-escapes: 6.2.1
+ ansi-escapes: 7.0.0
ansi-styles: 6.2.1
ansi-to-html: 0.7.2
ascii-table: 0.0.9
@@ -16141,30 +16375,29 @@ snapshots:
boxen: 7.1.1
chalk: 5.3.0
chokidar: 3.6.0
- ci-info: 3.8.0
+ ci-info: 4.0.0
clean-deep: 3.4.0
commander: 10.0.1
comment-json: 4.2.3
concordance: 5.0.4
configstore: 6.0.0
content-type: 1.0.5
- cookie: 0.5.0
- copy-template-dir: 1.4.0
- cron-parser: 4.8.1
+ cookie: 0.6.0
+ cron-parser: 4.9.0
debug: 4.3.4(supports-color@9.2.2)
decache: 4.6.2
- dot-prop: 7.2.0
- dotenv: 16.0.3
+ dot-prop: 9.0.0
+ dotenv: 16.4.5
env-paths: 3.0.0
- envinfo: 7.8.1
+ envinfo: 7.13.0
etag: 1.8.1
execa: 5.1.1
express: 4.19.2
express-logging: 1.1.1
extract-zip: 2.0.1
fastest-levenshtein: 1.0.16
- fastify: 4.17.0
- find-up: 6.3.0
+ fastify: 4.27.0
+ find-up: 7.0.0
flush-write-stream: 2.0.0
folder-walker: 3.2.0
from2-array: 0.0.4
@@ -16182,28 +16415,30 @@ snapshots:
inquirer-autocomplete-prompt: 1.4.0(inquirer@6.5.2)
ipx: 2.1.0(@netlify/blobs@7.3.0)
is-docker: 3.0.0
- is-stream: 3.0.0
- is-wsl: 2.2.0
- isexe: 2.0.0
+ is-stream: 4.0.1
+ is-wsl: 3.1.0
+ isexe: 3.1.1
js-yaml: 4.1.0
jsonwebtoken: 9.0.2
- jwt-decode: 3.1.2
- lambda-local: 2.1.2
- listr2: 7.0.2
+ jwt-decode: 4.0.0
+ lambda-local: 2.2.0
+ listr2: 8.2.1
locate-path: 7.2.0
lodash: 4.17.21
- log-symbols: 5.1.0
- log-update: 5.0.1
+ log-symbols: 6.0.0
+ log-update: 6.0.0
+ maxstache: 1.0.7
+ maxstache-stream: 1.0.4
multiparty: 4.2.3
- netlify: 13.1.15
+ netlify: 13.1.16
netlify-headers-parser: 7.1.4
- netlify-redirect-parser: 14.2.2
+ netlify-redirect-parser: 14.3.0
netlify-redirector: 0.5.0
- node-fetch: 2.6.12
+ node-fetch: 3.3.2
node-version-alias: 3.4.1
- ora: 6.3.1
- p-filter: 3.0.0
- p-map: 5.5.0
+ ora: 8.0.1
+ p-filter: 4.1.0
+ p-map: 7.0.2
p-wait-for: 5.0.2
parallel-transform: 1.2.0
parse-github-url: 1.0.2
@@ -16213,25 +16448,26 @@ snapshots:
pump: 3.0.0
raw-body: 2.5.2
read-package-up: 11.0.0
- semver: 7.6.0
+ readdirp: 3.6.0
+ semver: 7.6.2
source-map-support: 0.5.21
strip-ansi-control-characters: 2.0.0
tabtab: 3.0.2
- tempy: 3.0.0
+ tempy: 3.1.0
terminal-link: 3.0.0
- through2-filter: 3.0.0
- through2-map: 3.0.0
+ through2-filter: 4.0.0
+ through2-map: 4.0.0
to-readable-stream: 3.0.0
toml: 3.0.0
tomlify-j0.4: 3.0.0
ulid: 2.3.0
unixify: 1.0.0
- update-notifier: 6.0.2
+ update-notifier: 7.0.0
uuid: 9.0.1
- wait-port: 1.0.4
+ wait-port: 1.1.0
write-file-atomic: 5.0.1
- ws: 8.14.2
- zod: 3.22.4
+ ws: 8.17.0
+ zod: 3.23.8
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -16265,7 +16501,7 @@ snapshots:
map-obj: 5.0.2
path-exists: 5.0.0
- netlify-redirect-parser@14.2.2:
+ netlify-redirect-parser@14.3.0:
dependencies:
'@iarna/toml': 2.2.5
fast-safe-stringify: 2.1.1
@@ -16275,7 +16511,7 @@ snapshots:
netlify-redirector@0.5.0: {}
- netlify@13.1.15:
+ netlify@13.1.16:
dependencies:
'@netlify/open-api': 2.30.0
lodash-es: 4.17.21
@@ -16287,7 +16523,7 @@ snapshots:
node-abi@3.51.0:
dependencies:
- semver: 7.6.0
+ semver: 7.6.2
node-addon-api@6.1.0: {}
@@ -16297,7 +16533,7 @@ snapshots:
node-fetch-native@1.6.1: {}
- node-fetch@2.6.12:
+ node-fetch@2.7.0:
dependencies:
whatwg-url: 5.0.0
@@ -16326,12 +16562,10 @@ snapshots:
is-plain-obj: 4.1.0
normalize-node-version: 12.4.0
path-exists: 5.0.0
- semver: 7.6.0
+ semver: 7.6.2
non-layered-tidy-tree-layout@2.0.2: {}
- noop2@2.0.0: {}
-
nopt@5.0.0:
dependencies:
abbrev: 1.1.1
@@ -16340,7 +16574,7 @@ snapshots:
dependencies:
all-node-versions: 11.3.0
filter-obj: 5.1.0
- semver: 7.6.0
+ semver: 7.6.2
normalize-package-data@2.5.0:
dependencies:
@@ -16377,10 +16611,6 @@ snapshots:
dependencies:
path-key: 3.1.1
- npm-run-path@5.1.0:
- dependencies:
- path-key: 4.0.0
-
npm-run-path@5.3.0:
dependencies:
path-key: 4.0.0
@@ -16499,18 +16729,6 @@ snapshots:
strip-ansi: 6.0.1
wcwidth: 1.0.1
- ora@6.3.1:
- dependencies:
- chalk: 5.3.0
- cli-cursor: 4.0.0
- cli-spinners: 2.9.2
- is-interactive: 2.0.0
- is-unicode-supported: 1.3.0
- log-symbols: 5.1.0
- stdin-discarder: 0.1.0
- strip-ansi: 7.1.0
- wcwidth: 1.0.1
-
ora@8.0.1:
dependencies:
chalk: 5.3.0
@@ -16530,8 +16748,6 @@ snapshots:
os-tmpdir@1.0.2: {}
- outvariant@1.4.2: {}
-
p-cancelable@3.0.0: {}
p-event@4.2.0:
@@ -16550,6 +16766,10 @@ snapshots:
dependencies:
p-map: 5.5.0
+ p-filter@4.1.0:
+ dependencies:
+ p-map: 7.0.2
+
p-finally@1.0.0: {}
p-limit@1.3.0:
@@ -16626,7 +16846,7 @@ snapshots:
got: 12.6.1
registry-auth-token: 5.0.1
registry-url: 6.0.1
- semver: 7.6.0
+ semver: 7.6.2
parallel-transform@1.2.0:
dependencies:
@@ -16731,6 +16951,8 @@ snapshots:
picocolors@1.0.0: {}
+ picocolors@1.0.1: {}
+
picomatch@2.3.1: {}
picomatch@4.0.2: {}
@@ -16741,26 +16963,26 @@ snapshots:
pify@3.0.0: {}
- pino-abstract-transport@1.0.0:
+ pino-abstract-transport@1.2.0:
dependencies:
readable-stream: 4.3.0
split2: 4.1.0
- pino-std-serializers@6.1.0: {}
+ pino-std-serializers@7.0.0: {}
- pino@8.8.0:
+ pino@9.1.0:
dependencies:
atomic-sleep: 1.0.0
fast-redact: 3.1.2
on-exit-leak-free: 2.1.0
- pino-abstract-transport: 1.0.0
- pino-std-serializers: 6.1.0
- process-warning: 2.1.0
+ pino-abstract-transport: 1.2.0
+ pino-std-serializers: 7.0.0
+ process-warning: 3.0.0
quick-format-unescaped: 4.0.4
real-require: 0.2.0
safe-stable-stringify: 2.3.1
- sonic-boom: 3.2.1
- thread-stream: 2.3.0
+ sonic-boom: 4.0.1
+ thread-stream: 3.0.0
pkg-dir@7.0.0:
dependencies:
@@ -16784,17 +17006,17 @@ snapshots:
posix-character-classes@0.1.1: {}
- postcss-html@1.6.0:
+ postcss-html@1.7.0:
dependencies:
htmlparser2: 8.0.1
- js-tokens: 8.0.2
+ js-tokens: 9.0.0
postcss: 8.4.38
postcss-safe-parser: 6.0.0(postcss@8.4.38)
- postcss-load-config@5.0.3(jiti@1.21.0)(postcss@8.4.38):
+ postcss-load-config@5.1.0(jiti@1.21.0)(postcss@8.4.38):
dependencies:
- lilconfig: 3.0.0
- yaml: 2.3.4
+ lilconfig: 3.1.1
+ yaml: 2.4.2
optionalDependencies:
jiti: 1.21.0
postcss: 8.4.38
@@ -16820,6 +17042,11 @@ snapshots:
cssesc: 3.0.0
util-deprecate: 1.0.2
+ postcss-selector-parser@6.1.0:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
postcss-sorting@8.0.2(postcss@8.4.38):
dependencies:
postcss: 8.4.38
@@ -16900,7 +17127,7 @@ snapshots:
process-nextick-args@2.0.1: {}
- process-warning@2.1.0: {}
+ process-warning@3.0.0: {}
process@0.11.10: {}
@@ -17003,12 +17230,6 @@ snapshots:
read-pkg: 5.2.0
type-fest: 0.8.1
- read-pkg-up@9.1.0:
- dependencies:
- find-up: 6.3.0
- read-pkg: 7.1.0
- type-fest: 2.18.0
-
read-pkg@3.0.0:
dependencies:
load-json-file: 4.0.0
@@ -17068,14 +17289,6 @@ snapshots:
dependencies:
minimatch: 5.1.2
- readdirp@2.2.1:
- dependencies:
- graceful-fs: 4.2.11
- micromatch: 3.1.10
- readable-stream: 2.3.7
- transitivePeerDependencies:
- - supports-color
-
readdirp@3.6.0:
dependencies:
picomatch: 2.3.1
@@ -17093,6 +17306,10 @@ snapshots:
dependencies:
redis-errors: 1.2.0
+ refa@0.12.1:
+ dependencies:
+ '@eslint-community/regexpp': 4.10.0
+
regenerator-runtime@0.13.11: {}
regex-not@1.0.2:
@@ -17100,6 +17317,11 @@ snapshots:
extend-shallow: 3.0.2
safe-regex: 1.1.0
+ regexp-ast-analysis@0.7.1:
+ dependencies:
+ '@eslint-community/regexpp': 4.10.0
+ refa: 0.12.1
+
regexp-tree@0.1.27: {}
registry-auth-token@5.0.1:
@@ -17178,7 +17400,7 @@ snapshots:
ret@0.1.15: {}
- ret@0.2.2: {}
+ ret@0.4.3: {}
retry@0.13.1: {}
@@ -17186,11 +17408,13 @@ snapshots:
rfdc@1.3.0: {}
+ rfdc@1.3.1: {}
+
rimraf@3.0.2:
dependencies:
glob: 7.2.3
- rimraf@5.0.5:
+ rimraf@5.0.7:
dependencies:
glob: 10.3.10
@@ -17215,6 +17439,28 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.13.0
fsevents: 2.3.3
+ rollup@4.18.0:
+ dependencies:
+ '@types/estree': 1.0.5
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.18.0
+ '@rollup/rollup-android-arm64': 4.18.0
+ '@rollup/rollup-darwin-arm64': 4.18.0
+ '@rollup/rollup-darwin-x64': 4.18.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.18.0
+ '@rollup/rollup-linux-arm-musleabihf': 4.18.0
+ '@rollup/rollup-linux-arm64-gnu': 4.18.0
+ '@rollup/rollup-linux-arm64-musl': 4.18.0
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.18.0
+ '@rollup/rollup-linux-s390x-gnu': 4.18.0
+ '@rollup/rollup-linux-x64-gnu': 4.18.0
+ '@rollup/rollup-linux-x64-musl': 4.18.0
+ '@rollup/rollup-win32-arm64-msvc': 4.18.0
+ '@rollup/rollup-win32-ia32-msvc': 4.18.0
+ '@rollup/rollup-win32-x64-msvc': 4.18.0
+ fsevents: 2.3.3
+
run-async@2.4.1: {}
run-parallel@1.2.0:
@@ -17245,9 +17491,9 @@ snapshots:
safe-json-stringify@1.2.0: {}
- safe-regex2@2.0.0:
+ safe-regex2@3.1.0:
dependencies:
- ret: 0.2.2
+ ret: 0.4.3
safe-regex@1.1.0:
dependencies:
@@ -17257,7 +17503,7 @@ snapshots:
safer-buffer@2.1.2: {}
- sass@1.77.0:
+ sass@1.77.2:
dependencies:
chokidar: 3.6.0
immutable: 4.1.0
@@ -17265,6 +17511,12 @@ snapshots:
sax@1.2.4: {}
+ scslre@0.3.0:
+ dependencies:
+ '@eslint-community/regexpp': 4.10.0
+ refa: 0.12.1
+ regexp-ast-analysis: 0.7.1
+
search-insights@2.7.0: {}
section-matter@1.0.0:
@@ -17280,7 +17532,7 @@ snapshots:
semver-diff@4.0.0:
dependencies:
- semver: 7.6.0
+ semver: 7.6.2
semver@5.7.1: {}
@@ -17356,7 +17608,7 @@ snapshots:
detect-libc: 2.0.2
node-addon-api: 6.1.0
prebuild-install: 7.1.1
- semver: 7.6.0
+ semver: 7.6.2
simple-get: 4.0.1
tar-fs: 3.0.4
tunnel-agent: 0.6.0
@@ -17369,9 +17621,9 @@ snapshots:
shell-quote@1.8.1: {}
- shiki@1.5.1:
+ shiki@1.6.0:
dependencies:
- '@shikijs/core': 1.5.1
+ '@shikijs/core': 1.6.0
side-channel@1.0.4:
dependencies:
@@ -17397,7 +17649,7 @@ snapshots:
sisteransi@1.0.5: {}
- sitemap@7.1.1:
+ sitemap@8.0.0:
dependencies:
'@types/node': 17.0.45
'@types/sax': 1.2.4
@@ -17449,7 +17701,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- sonic-boom@3.2.1:
+ sonic-boom@4.0.1:
dependencies:
atomic-sleep: 1.0.0
@@ -17544,10 +17796,6 @@ snapshots:
std-env@3.7.0: {}
- stdin-discarder@0.1.0:
- dependencies:
- bl: 5.1.0
-
stdin-discarder@0.2.2: {}
streamx@2.15.0:
@@ -17555,8 +17803,6 @@ snapshots:
fast-fifo: 1.3.0
queue-tick: 1.0.1
- strict-event-emitter@0.5.1: {}
-
string-argv@0.3.2: {}
string-width@2.1.1:
@@ -17642,64 +17888,64 @@ snapshots:
style-search@0.1.0: {}
- stylelint-config-html@1.1.0(postcss-html@1.6.0)(stylelint@16.5.0(typescript@5.4.5)):
+ stylelint-config-html@1.1.0(postcss-html@1.7.0)(stylelint@16.6.0(typescript@5.4.5)):
dependencies:
- postcss-html: 1.6.0
- stylelint: 16.5.0(typescript@5.4.5)
+ postcss-html: 1.7.0
+ stylelint: 16.6.0(typescript@5.4.5)
- stylelint-config-recommended-scss@14.0.0(postcss@8.4.38)(stylelint@16.5.0(typescript@5.4.5)):
+ stylelint-config-recommended-scss@14.0.0(postcss@8.4.38)(stylelint@16.6.0(typescript@5.4.5)):
dependencies:
postcss-scss: 4.0.9(postcss@8.4.38)
- stylelint: 16.5.0(typescript@5.4.5)
- stylelint-config-recommended: 14.0.0(stylelint@16.5.0(typescript@5.4.5))
- stylelint-scss: 6.0.0(stylelint@16.5.0(typescript@5.4.5))
+ stylelint: 16.6.0(typescript@5.4.5)
+ stylelint-config-recommended: 14.0.0(stylelint@16.6.0(typescript@5.4.5))
+ stylelint-scss: 6.0.0(stylelint@16.6.0(typescript@5.4.5))
optionalDependencies:
postcss: 8.4.38
- stylelint-config-recommended@14.0.0(stylelint@16.5.0(typescript@5.4.5)):
+ stylelint-config-recommended@14.0.0(stylelint@16.6.0(typescript@5.4.5)):
dependencies:
- stylelint: 16.5.0(typescript@5.4.5)
+ stylelint: 16.6.0(typescript@5.4.5)
- stylelint-config-standard-scss@13.1.0(postcss@8.4.38)(stylelint@16.5.0(typescript@5.4.5)):
+ stylelint-config-standard-scss@13.1.0(postcss@8.4.38)(stylelint@16.6.0(typescript@5.4.5)):
dependencies:
- stylelint: 16.5.0(typescript@5.4.5)
- stylelint-config-recommended-scss: 14.0.0(postcss@8.4.38)(stylelint@16.5.0(typescript@5.4.5))
- stylelint-config-standard: 36.0.0(stylelint@16.5.0(typescript@5.4.5))
+ stylelint: 16.6.0(typescript@5.4.5)
+ stylelint-config-recommended-scss: 14.0.0(postcss@8.4.38)(stylelint@16.6.0(typescript@5.4.5))
+ stylelint-config-standard: 36.0.0(stylelint@16.6.0(typescript@5.4.5))
optionalDependencies:
postcss: 8.4.38
- stylelint-config-standard@36.0.0(stylelint@16.5.0(typescript@5.4.5)):
+ stylelint-config-standard@36.0.0(stylelint@16.6.0(typescript@5.4.5)):
dependencies:
- stylelint: 16.5.0(typescript@5.4.5)
- stylelint-config-recommended: 14.0.0(stylelint@16.5.0(typescript@5.4.5))
+ stylelint: 16.6.0(typescript@5.4.5)
+ stylelint-config-recommended: 14.0.0(stylelint@16.6.0(typescript@5.4.5))
- stylelint-define-config@1.3.0(stylelint@16.5.0(typescript@5.4.5)):
+ stylelint-define-config@1.5.0(stylelint@16.6.0(typescript@5.4.5)):
dependencies:
csstype: 3.1.3
- stylelint: 16.5.0(typescript@5.4.5)
+ stylelint: 16.6.0(typescript@5.4.5)
- stylelint-order@6.0.4(stylelint@16.5.0(typescript@5.4.5)):
+ stylelint-order@6.0.4(stylelint@16.6.0(typescript@5.4.5)):
dependencies:
postcss: 8.4.38
postcss-sorting: 8.0.2(postcss@8.4.38)
- stylelint: 16.5.0(typescript@5.4.5)
+ stylelint: 16.6.0(typescript@5.4.5)
- stylelint-scss@6.0.0(stylelint@16.5.0(typescript@5.4.5)):
+ stylelint-scss@6.0.0(stylelint@16.6.0(typescript@5.4.5)):
dependencies:
known-css-properties: 0.29.0
postcss-media-query-parser: 0.2.3
postcss-resolve-nested-selector: 0.1.1
postcss-selector-parser: 6.0.16
postcss-value-parser: 4.2.0
- stylelint: 16.5.0(typescript@5.4.5)
+ stylelint: 16.6.0(typescript@5.4.5)
- stylelint@16.5.0(typescript@5.4.5):
+ stylelint@16.6.0(typescript@5.4.5):
dependencies:
- '@csstools/css-parser-algorithms': 2.6.1(@csstools/css-tokenizer@2.2.4)
- '@csstools/css-tokenizer': 2.2.4
- '@csstools/media-query-list-parser': 2.1.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
- '@csstools/selector-specificity': 3.0.3(postcss-selector-parser@6.0.16)
- '@dual-bundle/import-meta-resolve': 4.0.0
+ '@csstools/css-parser-algorithms': 2.6.3(@csstools/css-tokenizer@2.3.1)
+ '@csstools/css-tokenizer': 2.3.1
+ '@csstools/media-query-list-parser': 2.1.11(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
+ '@csstools/selector-specificity': 3.1.1(postcss-selector-parser@6.1.0)
+ '@dual-bundle/import-meta-resolve': 4.1.0
balanced-match: 2.0.0
colord: 2.9.3
cosmiconfig: 9.0.0(typescript@5.4.5)
@@ -17716,16 +17962,16 @@ snapshots:
ignore: 5.3.1
imurmurhash: 0.1.4
is-plain-object: 5.0.0
- known-css-properties: 0.30.0
+ known-css-properties: 0.31.0
mathml-tag-names: 2.1.3
meow: 13.2.0
micromatch: 4.0.5
normalize-path: 3.0.0
- picocolors: 1.0.0
+ picocolors: 1.0.1
postcss: 8.4.38
postcss-resolve-nested-selector: 0.1.1
postcss-safe-parser: 7.0.0(postcss@8.4.38)
- postcss-selector-parser: 6.0.16
+ postcss-selector-parser: 6.1.0
postcss-value-parser: 4.2.0
resolve-from: 5.0.0
string-width: 4.2.3
@@ -17780,7 +18026,7 @@ snapshots:
css-tree: 2.3.1
css-what: 6.1.0
csso: 5.0.5
- picocolors: 1.0.0
+ picocolors: 1.0.1
synckit@0.6.2:
dependencies:
@@ -17860,10 +18106,10 @@ snapshots:
dependencies:
temp-dir: 3.0.0
- tempy@3.0.0:
+ tempy@3.1.0:
dependencies:
is-stream: 3.0.0
- temp-dir: 2.0.0
+ temp-dir: 3.0.0
type-fest: 2.18.0
unique-string: 3.0.0
@@ -17880,19 +18126,17 @@ snapshots:
text-table@0.2.0: {}
- thread-stream@2.3.0:
+ thread-stream@3.0.0:
dependencies:
real-require: 0.2.0
- through2-filter@3.0.0:
+ through2-filter@4.0.0:
dependencies:
- through2: 2.0.5
- xtend: 4.0.2
+ through2: 4.0.2
- through2-map@3.0.0:
+ through2-map@4.0.0:
dependencies:
- through2: 2.0.5
- xtend: 4.0.2
+ through2: 4.0.2
through2@2.0.5:
dependencies:
@@ -17907,11 +18151,9 @@ snapshots:
time-zone@1.0.0: {}
- tiny-lru@11.0.1: {}
+ tm-grammars@1.12.4: {}
- tm-grammars@1.11.1: {}
-
- tm-themes@1.4.1: {}
+ tm-themes@1.4.3: {}
tmp-promise@3.0.3:
dependencies:
@@ -17949,6 +18191,8 @@ snapshots:
regex-not: 1.0.2
safe-regex: 1.1.0
+ toad-cache@3.7.0: {}
+
toidentifier@1.0.1: {}
token-types@5.0.1:
@@ -17986,14 +18230,14 @@ snapshots:
ts-dedent@2.2.0: {}
- ts-node@10.9.2(@types/node@20.12.11)(typescript@5.4.5):
+ ts-node@10.9.2(@types/node@20.12.12)(typescript@5.4.5):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.9
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.3
- '@types/node': 20.12.11
+ '@types/node': 20.12.12
acorn: 8.11.3
acorn-walk: 8.2.0
arg: 4.1.3
@@ -18068,6 +18312,8 @@ snapshots:
type-fest@4.12.0: {}
+ type-fest@4.18.3: {}
+
type-is@1.6.18:
dependencies:
media-typer: 0.3.0
@@ -18079,8 +18325,6 @@ snapshots:
typescript@5.4.5: {}
- uc.micro@2.0.0: {}
-
uc.micro@2.1.0: {}
ufo@1.3.1: {}
@@ -18215,20 +18459,18 @@ snapshots:
escalade: 3.1.1
picocolors: 1.0.0
- update-notifier@6.0.2:
+ update-notifier@7.0.0:
dependencies:
boxen: 7.1.1
chalk: 5.3.0
configstore: 6.0.0
- has-yarn: 3.0.0
import-lazy: 4.0.0
- is-ci: 3.0.1
+ is-in-ci: 0.1.0
is-installed-globally: 0.4.0
is-npm: 6.0.0
- is-yarn-global: 0.4.1
latest-version: 7.0.0
pupa: 3.1.0
- semver: 7.6.0
+ semver: 7.6.2
semver-diff: 4.0.0
xdg-basedir: 5.1.0
@@ -18250,8 +18492,6 @@ snapshots:
uuid@3.4.0: {}
- uuid@9.0.0: {}
-
uuid@9.0.1: {}
uvu@0.5.6:
@@ -18285,7 +18525,7 @@ snapshots:
unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
- vite@5.2.11(@types/node@20.12.10)(sass@1.77.0):
+ vite@5.2.11(@types/node@20.12.10)(sass@1.77.2):
dependencies:
esbuild: 0.20.2
postcss: 8.4.38
@@ -18293,43 +18533,32 @@ snapshots:
optionalDependencies:
'@types/node': 20.12.10
fsevents: 2.3.3
- sass: 1.77.0
+ sass: 1.77.2
- vite@5.2.2(@types/node@20.12.10)(sass@1.77.0):
+ vite@5.2.11(@types/node@20.12.12)(sass@1.77.2):
dependencies:
esbuild: 0.20.2
postcss: 8.4.38
rollup: 4.13.0
optionalDependencies:
- '@types/node': 20.12.10
+ '@types/node': 20.12.12
fsevents: 2.3.3
- sass: 1.77.0
- optional: true
-
- vite@5.2.2(@types/node@20.12.11)(sass@1.77.0):
- dependencies:
- esbuild: 0.20.2
- postcss: 8.4.38
- rollup: 4.13.0
- optionalDependencies:
- '@types/node': 20.12.11
- fsevents: 2.3.3
- sass: 1.77.0
+ sass: 1.77.2
vue-demi@0.14.7(vue@3.4.27(typescript@5.4.5)):
dependencies:
vue: 3.4.27(typescript@5.4.5)
- vue-eslint-parser@9.4.2(eslint@9.2.0):
+ vue-eslint-parser@9.4.2(eslint@9.3.0):
dependencies:
debug: 4.3.4(supports-color@9.2.2)
- eslint: 9.2.0
+ eslint: 9.3.0
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1
esquery: 1.5.0
lodash: 4.17.21
- semver: 7.6.0
+ semver: 7.6.2
transitivePeerDependencies:
- supports-color
@@ -18337,11 +18566,6 @@ snapshots:
dependencies:
vue: 3.4.27(typescript@5.4.5)
- vue-router@4.3.0(vue@3.4.27(typescript@5.4.5)):
- dependencies:
- '@vue/devtools-api': 6.6.1
- vue: 3.4.27(typescript@5.4.5)
-
vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)):
dependencies:
'@vue/devtools-api': 6.6.1
@@ -18362,98 +18586,98 @@ snapshots:
optionalDependencies:
typescript: 5.4.5
- vuepress-plugin-md-enhance@2.0.0-rc.39(chart.js@4.4.2)(echarts@5.5.0)(flowchart.ts@3.0.0)(katex@0.16.10)(markdown-it@14.1.0)(mermaid@10.9.0)(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))):
+ vuepress-plugin-md-enhance@2.0.0-rc.44(chart.js@4.4.3)(echarts@5.5.0)(flowchart.ts@3.0.0)(katex@0.16.10)(markdown-it@14.1.0)(mermaid@10.9.1)(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))):
dependencies:
- '@mdit/plugin-alert': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-align': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-attrs': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-container': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-demo': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-figure': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-footnote': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-img-lazyload': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-img-mark': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-img-size': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-include': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-katex-slim': 0.10.1(katex@0.16.10)(markdown-it@14.1.0)
- '@mdit/plugin-mark': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-mathjax-slim': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-plantuml': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-spoiler': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-stylize': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-sub': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-sup': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-tab': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-tasklist': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-tex': 0.10.1(markdown-it@14.1.0)
- '@mdit/plugin-uml': 0.10.1(markdown-it@14.1.0)
+ '@mdit/plugin-alert': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-align': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-attrs': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-container': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-demo': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-figure': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-footnote': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-img-lazyload': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-img-mark': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-img-size': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-include': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-katex-slim': 0.12.0(katex@0.16.10)(markdown-it@14.1.0)
+ '@mdit/plugin-mark': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-mathjax-slim': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-plantuml': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-spoiler': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-stylize': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-sub': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-sup': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-tab': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-tasklist': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-tex': 0.12.0(markdown-it@14.1.0)
+ '@mdit/plugin-uml': 0.12.0(markdown-it@14.1.0)
'@types/markdown-it': 14.1.1
- '@vuepress/helper': 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
- '@vuepress/plugin-sass-palette': 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ '@vuepress/helper': 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ '@vuepress/plugin-sass-palette': 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5))
balloon-css: 1.2.0
js-yaml: 4.1.0
vue: 3.4.27(typescript@5.4.5)
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
- vuepress-shared: 2.0.0-rc.39(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ vuepress-shared: 2.0.0-rc.44(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
optionalDependencies:
- chart.js: 4.4.2
+ chart.js: 4.4.3
echarts: 5.5.0
flowchart.ts: 3.0.0
katex: 0.16.10
- mermaid: 10.9.0
+ mermaid: 10.9.1
transitivePeerDependencies:
- '@vue/composition-api'
- markdown-it
- typescript
- vuepress-shared@2.0.0-rc.39(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))):
+ vuepress-shared@2.0.0-rc.44(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))):
dependencies:
- '@vuepress/helper': 2.0.0-rc.28(typescript@5.4.5)(vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
+ '@vuepress/helper': 2.0.0-rc.31(typescript@5.4.5)(vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
'@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5))
cheerio: 1.0.0-rc.12
dayjs: 1.11.11
- execa: 9.0.1
+ execa: 9.1.0
fflate: 0.8.2
gray-matter: 4.0.3
semver: 7.6.2
vue: 3.4.27(typescript@5.4.5)
- vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ vuepress: 2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- '@vue/composition-api'
- typescript
- vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)):
+ vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)):
dependencies:
- '@vuepress/cli': 2.0.0-rc.9(typescript@5.4.5)
- '@vuepress/client': 2.0.0-rc.9(typescript@5.4.5)
- '@vuepress/core': 2.0.0-rc.9(typescript@5.4.5)
- '@vuepress/markdown': 2.0.0-rc.9(patch_hash=f3on36z73gmvj4jugj25dg7wje)
- '@vuepress/shared': 2.0.0-rc.9
- '@vuepress/utils': 2.0.0-rc.9
+ '@vuepress/cli': 2.0.0-rc.12(typescript@5.4.5)
+ '@vuepress/client': 2.0.0-rc.12(typescript@5.4.5)
+ '@vuepress/core': 2.0.0-rc.12(typescript@5.4.5)
+ '@vuepress/markdown': 2.0.0-rc.12
+ '@vuepress/shared': 2.0.0-rc.12
+ '@vuepress/utils': 2.0.0-rc.12
vue: 3.4.27(typescript@5.4.5)
optionalDependencies:
- '@vuepress/bundler-vite': 2.0.0-rc.9(@types/node@20.12.10)(sass@1.77.0)(typescript@5.4.5)
+ '@vuepress/bundler-vite': 2.0.0-rc.12(@types/node@20.12.10)(sass@1.77.2)(typescript@5.4.5)
transitivePeerDependencies:
- supports-color
- typescript
- vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9(@types/node@20.12.11)(sass@1.77.0)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)):
+ vuepress@2.0.0-rc.12(@vuepress/bundler-vite@2.0.0-rc.12(@types/node@20.12.12)(sass@1.77.2)(typescript@5.4.5))(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)):
dependencies:
- '@vuepress/cli': 2.0.0-rc.9(typescript@5.4.5)
- '@vuepress/client': 2.0.0-rc.9(typescript@5.4.5)
- '@vuepress/core': 2.0.0-rc.9(typescript@5.4.5)
- '@vuepress/markdown': 2.0.0-rc.9(patch_hash=f3on36z73gmvj4jugj25dg7wje)
- '@vuepress/shared': 2.0.0-rc.9
- '@vuepress/utils': 2.0.0-rc.9
+ '@vuepress/cli': 2.0.0-rc.12(typescript@5.4.5)
+ '@vuepress/client': 2.0.0-rc.12(typescript@5.4.5)
+ '@vuepress/core': 2.0.0-rc.12(typescript@5.4.5)
+ '@vuepress/markdown': 2.0.0-rc.12
+ '@vuepress/shared': 2.0.0-rc.12
+ '@vuepress/utils': 2.0.0-rc.12
vue: 3.4.27(typescript@5.4.5)
optionalDependencies:
- '@vuepress/bundler-vite': 2.0.0-rc.9(@types/node@20.12.11)(jiti@1.21.0)(sass@1.77.0)(typescript@5.4.5)
+ '@vuepress/bundler-vite': 2.0.0-rc.12(@types/node@20.12.12)(jiti@1.21.0)(sass@1.77.2)(typescript@5.4.5)
transitivePeerDependencies:
- supports-color
- typescript
- wait-port@1.0.4:
+ wait-port@1.1.0:
dependencies:
chalk: 4.1.2
commander: 9.5.0
@@ -18461,7 +18685,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- watermark-js-plus@1.4.24: {}
+ watermark-js-plus@1.5.0: {}
wcwidth@1.0.1:
dependencies:
@@ -18561,7 +18785,7 @@ snapshots:
imurmurhash: 0.1.4
signal-exit: 4.1.0
- ws@8.14.2: {}
+ ws@8.17.0: {}
xdg-basedir@5.1.0: {}
@@ -18586,6 +18810,8 @@ snapshots:
yaml@2.3.4: {}
+ yaml@2.4.2: {}
+
yargs-parser@20.2.9: {}
yargs-parser@21.1.1: {}
@@ -18623,13 +18849,13 @@ snapshots:
yoctocolors@2.0.0: {}
- zip-stream@5.0.1:
+ zip-stream@6.0.1:
dependencies:
- archiver-utils: 4.0.1
- compress-commons: 5.0.1
- readable-stream: 3.6.0
+ archiver-utils: 5.0.2
+ compress-commons: 6.0.2
+ readable-stream: 4.3.0
- zod@3.22.4: {}
+ zod@3.23.8: {}
zrender@5.5.0:
dependencies:
diff --git a/theme/package.json b/theme/package.json
index f6aee601..e6b1a859 100644
--- a/theme/package.json
+++ b/theme/package.json
@@ -63,7 +63,7 @@
"ts:watch": "tsc -b tsconfig.build.json --watch"
},
"peerDependencies": {
- "vuepress": "2.0.0-rc.9"
+ "vuepress": "2.0.0-rc.12"
},
"dependencies": {
"@pengzhanbo/utils": "^1.1.2",
@@ -76,22 +76,19 @@
"@vuepress-plume/plugin-notes-data": "workspace:*",
"@vuepress-plume/plugin-search": "workspace:*",
"@vuepress-plume/plugin-shikiji": "workspace:*",
- "@vuepress/helper": "2.0.0-rc.28",
- "@vuepress/plugin-active-header-links": "2.0.0-rc.28",
- "@vuepress/plugin-comment": "2.0.0-rc.28",
- "@vuepress/plugin-container": "2.0.0-rc.28",
- "@vuepress/plugin-docsearch": "2.0.0-rc.28",
- "@vuepress/plugin-external-link-icon": "2.0.0-rc.28",
- "@vuepress/plugin-git": "2.0.0-rc.22",
- "@vuepress/plugin-medium-zoom": "2.0.0-rc.28",
- "@vuepress/plugin-nprogress": "2.0.0-rc.28",
- "@vuepress/plugin-palette": "2.0.0-rc.21",
- "@vuepress/plugin-reading-time": "2.0.0-rc.28",
- "@vuepress/plugin-seo": "2.0.0-rc.28",
- "@vuepress/plugin-sitemap": "2.0.0-rc.28",
- "@vuepress/plugin-theme-data": "2.0.0-rc.28",
- "@vuepress/plugin-toc": "2.0.0-rc.28",
- "@vuepress/plugin-watermark": "2.0.0-rc.28",
+ "@vuepress/helper": "2.0.0-rc.31",
+ "@vuepress/plugin-active-header-links": "2.0.0-rc.31",
+ "@vuepress/plugin-comment": "2.0.0-rc.31",
+ "@vuepress/plugin-docsearch": "2.0.0-rc.31",
+ "@vuepress/plugin-git": "2.0.0-rc.31",
+ "@vuepress/plugin-markdown-container": "2.0.0-rc.31",
+ "@vuepress/plugin-medium-zoom": "2.0.0-rc.31",
+ "@vuepress/plugin-nprogress": "2.0.0-rc.31",
+ "@vuepress/plugin-reading-time": "2.0.0-rc.31",
+ "@vuepress/plugin-seo": "2.0.0-rc.31",
+ "@vuepress/plugin-sitemap": "2.0.0-rc.31",
+ "@vuepress/plugin-theme-data": "2.0.0-rc.31",
+ "@vuepress/plugin-watermark": "2.0.0-rc.31",
"@vueuse/core": "^10.9.0",
"bcrypt-ts": "^5.0.2",
"date-fns": "^3.6.0",
@@ -100,7 +97,7 @@
"nanoid": "^5.0.7",
"vue": "^3.4.27",
"vue-router": "^4.3.2",
- "vuepress-plugin-md-enhance": "^2.0.0-rc.39",
+ "vuepress-plugin-md-enhance": "^2.0.0-rc.44",
"vuepress-plugin-md-power": "workspace:*"
}
}
diff --git a/theme/src/client/components/AutoLink.vue b/theme/src/client/components/AutoLink.vue
index 4d586bae..9527108f 100644
--- a/theme/src/client/components/AutoLink.vue
+++ b/theme/src/client/components/AutoLink.vue
@@ -1,7 +1,7 @@
@@ -22,7 +21,7 @@ const emit = defineEmits<{ change: [value: number] }>()
:disabled="isFirstPage"
@click="() => emit('change', page - 1)"
>
- {{ pagination?.prevPageText || 'Prev' }}
+ {{ theme.prevPageLabel || 'Prev' }}
diff --git a/theme/src/client/components/Blog/PostList.vue b/theme/src/client/components/Blog/PostList.vue
index 0ed5c047..3d961c36 100644
--- a/theme/src/client/components/Blog/PostList.vue
+++ b/theme/src/client/components/Blog/PostList.vue
@@ -5,7 +5,6 @@ import PostItem from './PostItem.vue'
import Pagination from './Pagination.vue'
const {
- pagination,
postList,
page,
totalPage,
@@ -29,7 +28,6 @@ const {
()
const editNavLink = useEditNavLink()
const list = computed(() => matter.value.list || [])
+const groups = computed(() => matter.value.groups || [])
@@ -28,6 +30,8 @@ const list = computed(() => matter.value.list || [])
/>
+
+
matter.value.list || [])
margin-bottom: 1rem;
font-size: 24px;
font-weight: 700;
- color: var(--vp-c-brand-1);
+ color: var(--vp-c-text-1);
outline: none;
}
@@ -87,9 +91,8 @@ const list = computed(() => matter.value.list || [])
@media (min-width: 640px) {
.friends-wrapper .title,
- .friends-wrapper .description,
- .edit-link {
- padding-left: 0;
+ .friends-wrapper .description {
+ padding-left: 16px;
}
.friends-list {
@@ -104,6 +107,12 @@ const list = computed(() => matter.value.list || [])
padding-top: 0;
}
+ .friends-wrapper .title,
+ .friends-wrapper .description,
+ .edit-link {
+ padding-left: 0;
+ }
+
.friends-list {
padding: 0;
}
diff --git a/theme/src/client/components/FriendsGroup.vue b/theme/src/client/components/FriendsGroup.vue
new file mode 100644
index 00000000..d76d080f
--- /dev/null
+++ b/theme/src/client/components/FriendsGroup.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
+ {{ group.title || 'My Friends' }}
+
+
+ {{ group.desc }}
+
+
+
+
+
+
+
+
diff --git a/theme/src/client/components/FriendsItem.vue b/theme/src/client/components/FriendsItem.vue
index 2cc487ca..daade80a 100644
--- a/theme/src/client/components/FriendsItem.vue
+++ b/theme/src/client/components/FriendsItem.vue
@@ -1,14 +1,35 @@
-
+
-import { useSidebar } from '../composables/index.js'
+import { computed } from 'vue'
+import { useData, useSidebar } from '../composables/index.js'
const props = defineProps<{
isNotFound?: boolean
}>()
const { hasSidebar } = useSidebar()
+const { theme, frontmatter } = useData()
+
+const enabledExternalIcon = computed(() => {
+ return frontmatter.value.externalLink ?? theme.value.externalLinkIcon ?? true
+})
diff --git a/theme/src/client/components/Page.vue b/theme/src/client/components/Page.vue
index 72f67dbc..66fa9944 100644
--- a/theme/src/client/components/Page.vue
+++ b/theme/src/client/components/Page.vue
@@ -1,10 +1,8 @@
diff --git a/theme/src/client/components/TransitionDrop.vue b/theme/src/client/components/TransitionDrop.vue
index 83d86774..414cb33e 100644
--- a/theme/src/client/components/TransitionDrop.vue
+++ b/theme/src/client/components/TransitionDrop.vue
@@ -20,8 +20,8 @@ function setStyle(item: Element) {
const el = item as HTMLElement
if (!_transition) {
- const value = typeof window !== 'undefined' && window.getComputedStyle ? window.getComputedStyle(el).transition : ''
- _transition = value && !value.includes('all') ? `${value}, ` : ' '
+ const value = typeof window !== 'undefined' ? window.getComputedStyle?.(el).transition : ''
+ _transition = value && !value.includes('all') ? `${value || ''}, ` : ' '
}
el.style.transition = `${_transition}transform ${props.duration}s ease-in-out ${props.delay}s, opacity ${props.duration}s ease-in-out ${props.delay}s`
diff --git a/theme/src/client/composables/blog.ts b/theme/src/client/composables/blog.ts
index 94a45759..53927909 100644
--- a/theme/src/client/composables/blog.ts
+++ b/theme/src/client/composables/blog.ts
@@ -3,7 +3,7 @@ import { useExtraBlogData as _useExtraBlogData, useBlogPostData } from '@vuepres
import { type Ref, computed } from 'vue'
import { useMediaQuery } from '@vueuse/core'
import type { PlumeThemeBlogPostItem } from '../../shared/index.js'
-import { useLocaleLink, useRouteQuery, useThemeLocaleData } from '../composables/index.js'
+import { useData, useLocaleLink, useRouteQuery } from '../composables/index.js'
import { toArray } from '../utils/index.js'
export const useExtraBlogData = _useExtraBlogData as () => Ref<{
@@ -20,11 +20,10 @@ export function useLocalePostList() {
}
export function usePostListControl() {
- const themeData = useThemeLocaleData()
+ const { theme } = useData()
const list = useLocalePostList()
- const blog = computed(() => themeData.value.blog || {})
- const pagination = computed(() => blog.value.pagination || {})
+ const blog = computed(() => theme.value.blog || {})
const is960 = useMediaQuery('(max-width: 960px)')
const postList = computed(() => {
@@ -128,7 +127,6 @@ export function usePostListControl() {
}
return {
- pagination,
postList: finalList,
page,
totalPage,
@@ -147,14 +145,15 @@ const extractLocales: Record = {
}
export function useBlogExtract() {
- const theme = useThemeLocaleData()
+ const { theme } = useData()
const locale = usePageLang()
const postList = useLocalePostList()
const { tags: tagsList } = useTags()
+ const blog = computed(() => theme.value.blog || {})
- const hasBlogExtract = computed(() => theme.value.blog?.archives !== false || theme.value.blog?.tags !== false)
- const tagsLink = useLocaleLink('blog/tags/')
- const archiveLink = useLocaleLink('blog/archives/')
+ const hasBlogExtract = computed(() => blog.value.archives !== false || blog.value.tags !== false)
+ const tagsLink = useLocaleLink(blog.value.tagsLink || 'blog/tags/')
+ const archiveLink = useLocaleLink(blog.value.archivesLink || 'blog/archives/')
const tags = computed(() => ({
link: tagsLink.value,
diff --git a/theme/src/client/composables/darkMode.ts b/theme/src/client/composables/darkMode.ts
index fd3e37f9..a6fcda8c 100644
--- a/theme/src/client/composables/darkMode.ts
+++ b/theme/src/client/composables/darkMode.ts
@@ -1,39 +1,45 @@
-import { inject, onMounted, ref } from 'vue'
+import { useDark } from '@vueuse/core'
+import { inject, ref } from 'vue'
import type { App, InjectionKey, Ref } from 'vue'
+import { useThemeData } from './themeData.js'
-export type DarkModeRef = Ref
+type DarkModeRef = Ref
export const darkModeSymbol: InjectionKey = Symbol(
__VUEPRESS_DEV__ ? 'darkMode' : '',
)
-/**
- * Inject dark mode global computed
- */
-export function useDarkMode(): DarkModeRef {
- const isDark = inject(darkModeSymbol)
- if (isDark === undefined)
- throw new Error('useDarkMode() is called without provider.')
+export function setupDarkMode(app: App): void {
+ const themeLocale = useThemeData()
- return isDark
-}
+ const appearance = themeLocale.value.appearance
+ const isDark
+ = appearance === 'force-dark'
+ ? ref(true)
+ : appearance
+ ? useDark({
+ storageKey: 'vuepress-theme-appearance',
+ disableTransition: false,
+ initialValue: () =>
+ typeof appearance === 'string' ? appearance : 'auto',
+ ...(typeof appearance === 'object' ? appearance : {}),
+ })
+ : ref(false)
-/**
- * Create dark mode ref and provide as global computed in setup
- */
-export function setupDarkMode(): void {
- const isDark = useDarkMode()
- onMounted(() => {
- if (document.documentElement.classList.contains('dark'))
- isDark.value = true
- })
-}
-
-export function injectDarkMode(app: App): void {
- const isDark = ref(false)
app.provide(darkModeSymbol, isDark)
Object.defineProperty(app.config.globalProperties, '$isDark', {
get: () => isDark,
})
}
+
+/**
+ * Inject dark mode global computed
+ */
+export function useDarkMode(): DarkModeRef {
+ const isDarkMode = inject(darkModeSymbol)
+ if (!isDarkMode)
+ throw new Error('useDarkMode() is called without provider.')
+
+ return isDarkMode
+}
diff --git a/theme/src/client/composables/data.ts b/theme/src/client/composables/data.ts
new file mode 100644
index 00000000..4236c2bc
--- /dev/null
+++ b/theme/src/client/composables/data.ts
@@ -0,0 +1,46 @@
+import type { Ref } from 'vue'
+import type { ThemeLocaleDataRef } from '@vuepress/plugin-theme-data/client'
+import {
+ usePageData,
+ usePageFrontmatter,
+ useSiteLocaleData,
+} from 'vuepress/client'
+import type {
+ PageDataRef,
+ PageFrontmatterRef,
+ SiteLocaleDataRef,
+} from 'vuepress/client'
+import type {
+ PlumeThemeLocaleData,
+ PlumeThemePageData,
+ PlumeThemePageFrontmatter,
+ PlumeThemePostFrontmatter,
+} from '../../shared/index.js'
+import { useThemeLocaleData } from './themeData.js'
+import { hashRef } from './hash.js'
+import { useDarkMode } from './darkMode.js'
+
+type FrontmatterType = 'post' | 'page'
+
+type Frontmatter = T extends 'post'
+ ? PlumeThemePostFrontmatter
+ : PlumeThemePageFrontmatter
+
+export interface Data {
+ theme: ThemeLocaleDataRef
+ page: PageDataRef
+ frontmatter: PageFrontmatterRef>
+ hash: Ref
+ site: SiteLocaleDataRef
+ isDark: Ref
+}
+
+export function useData(): Data {
+ const theme = useThemeLocaleData()
+ const page = usePageData()
+ const frontmatter = usePageFrontmatter>()
+ const site = useSiteLocaleData()
+ const isDark = useDarkMode()
+
+ return { theme, page, frontmatter, hash: hashRef, site, isDark }
+}
diff --git a/theme/src/client/composables/encrypt.ts b/theme/src/client/composables/encrypt.ts
index e52cfb28..b4333371 100644
--- a/theme/src/client/composables/encrypt.ts
+++ b/theme/src/client/composables/encrypt.ts
@@ -1,8 +1,8 @@
import { compareSync, genSaltSync } from 'bcrypt-ts/browser'
import { type Ref, computed } from 'vue'
import { hasOwn, useSessionStorage } from '@vueuse/core'
-import { usePageData, useRoute } from 'vuepress/client'
-import type { PlumeThemePageData } from '../../shared/index.js'
+import { useRoute } from 'vuepress/client'
+import { useData } from './data.js'
declare const __PLUME_ENCRYPT_GLOBAL__: boolean
declare const __PLUME_ENCRYPT_SEPARATOR__: string
@@ -88,7 +88,7 @@ export function useGlobalEncrypt(): {
}
export function usePageEncrypt() {
- const page = usePageData()
+ const { page } = useData()
const route = useRoute()
const hasPageEncrypt = computed(() => ruleList.length ? matches.some(toMatch) : false)
diff --git a/theme/src/client/composables/index.ts b/theme/src/client/composables/index.ts
index e21a3eec..21de7149 100644
--- a/theme/src/client/composables/index.ts
+++ b/theme/src/client/composables/index.ts
@@ -9,3 +9,4 @@ export * from './blog.js'
export * from './locale.js'
export * from './useRouteQuery.js'
export * from './watermark.js'
+export * from './data.js'
diff --git a/theme/src/client/composables/page.ts b/theme/src/client/composables/page.ts
index 249dde84..6117fa72 100644
--- a/theme/src/client/composables/page.ts
+++ b/theme/src/client/composables/page.ts
@@ -25,8 +25,7 @@ export function useEditNavLink(): ComputedRef {
return null
const {
- repo,
- docsRepo = repo,
+ docsRepo,
docsBranch = 'main',
docsDir = '',
editLinkText,
diff --git a/theme/src/client/composables/sidebar.ts b/theme/src/client/composables/sidebar.ts
index 52e3dc1f..40f4cac0 100644
--- a/theme/src/client/composables/sidebar.ts
+++ b/theme/src/client/composables/sidebar.ts
@@ -10,7 +10,6 @@ import type { ComputedRef, Ref } from 'vue'
import { computed, onMounted, onUnmounted, ref, watch, watchEffect } from 'vue'
import type { PlumeThemePageData } from '../../shared/index.js'
import { isActive } from '../utils/index.js'
-import { useThemeLocaleData } from './themeData.js'
import { hashRef } from './hash.js'
export { useNotesData }
@@ -58,7 +57,6 @@ export function getSidebarFirstLink(sidebar: NotesSidebarItem[]) {
export function useSidebar() {
const route = useRoute()
const notesData = useNotesData()
- const theme = useThemeLocaleData()
const frontmatter = usePageFrontmatter()
const page = usePageData()
@@ -74,7 +72,7 @@ export function useSidebar() {
})
const sidebar = computed(() => {
- return theme.value.notes ? getSidebarList(route.path, notesData.value) : []
+ return getSidebarList(route.path, notesData.value)
})
const hasSidebar = computed(() => {
return (
diff --git a/theme/src/client/config.ts b/theme/src/client/config.ts
index 4feb3d30..4637c6bf 100644
--- a/theme/src/client/config.ts
+++ b/theme/src/client/config.ts
@@ -4,23 +4,17 @@ import { defineClientConfig } from 'vuepress/client'
import type { ClientConfig } from 'vuepress/client'
import { h } from 'vue'
import Badge from './components/global/Badge.vue'
-import ExternalLinkIcon from './components/global/ExternalLinkIcon.vue'
-import { injectDarkMode, setupDarkMode, setupWatermark, useScrollPromise } from './composables/index.js'
+import { setupDarkMode, setupWatermark, useScrollPromise } from './composables/index.js'
import Layout from './layouts/Layout.vue'
import NotFound from './layouts/NotFound.vue'
import HomeBox from './components/Home/HomeBox.vue'
export default defineClientConfig({
enhance({ app, router }) {
- injectDarkMode(app)
-
+ setupDarkMode(app)
// global component
app.component('Badge', Badge)
- if (app._context.components.ExternalLinkIcon)
- delete app._context.components.ExternalLinkIcon
- app.component('ExternalLinkIcon', ExternalLinkIcon)
-
app.component('DocSearch', () => {
const SearchComponent
= app.component('Docsearch') || app.component('SearchBox')
@@ -56,7 +50,6 @@ export default defineClientConfig({
}
},
setup() {
- setupDarkMode()
setupWatermark()
},
layouts: {
diff --git a/theme/src/client/styles/code.scss b/theme/src/client/styles/code.scss
index 583dd30f..1dd0a439 100644
--- a/theme/src/client/styles/code.scss
+++ b/theme/src/client/styles/code.scss
@@ -242,6 +242,7 @@ div[class*="language-"] {
margin: 0 -24px;
transition: background-color 0.5s;
+ /* stylelint-disable-next-line no-descending-specificity */
&::before {
position: absolute;
left: 10px;
@@ -281,3 +282,78 @@ div[class*="language-"] {
filter: blur(0);
opacity: 1;
}
+
+[class*="language-"] button.copy {
+ position: absolute;
+ top: 12px;
+
+ /* rtl:ignore */
+ right: 12px;
+ z-index: 3;
+ width: 40px;
+ height: 40px;
+ cursor: pointer;
+ background-color: var(--vp-code-copy-code-bg);
+ background-image: var(--vp-icon-copy);
+ background-repeat: no-repeat;
+ background-position: 50%;
+ background-size: 20px;
+ border: 1px solid var(--vp-code-copy-code-border-color);
+ border-radius: 4px;
+ opacity: 0;
+ transition:
+ border-color 0.25s,
+ background-color 0.25s,
+ opacity 0.25s;
+
+ /* rtl:ignore */
+ direction: ltr;
+}
+
+[class*="language-"]:hover > button.copy,
+[class*="language-"] > button.copy:focus,
+[class*="language-"] > button.copy.copied {
+ opacity: 1;
+}
+
+[class*="language-"] > button.copy:hover,
+[class*="language-"] > button.copy.copied {
+ background-color: var(--vp-code-copy-code-hover-bg);
+ border-color: var(--vp-code-copy-code-hover-border-color);
+}
+
+[class*="language-"] > button.copy.copied,
+[class*="language-"] > button.copy:hover.copied {
+ background-color: var(--vp-code-copy-code-hover-bg);
+ background-image: var(--vp-icon-copied);
+
+ /* rtl:ignore */
+ border-radius: 0 4px 4px 0;
+}
+
+[class*="language-"] > button.copy.copied::before,
+[class*="language-"] > button.copy:hover.copied::before {
+ position: relative;
+ top: -1px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: fit-content;
+ height: 40px;
+ padding: 0 10px;
+ font-size: 12px;
+ font-weight: 500;
+ color: var(--vp-code-copy-code-active-text);
+ text-align: center;
+ white-space: nowrap;
+ content: attr(data-copied);
+ background-color: var(--vp-code-copy-code-hover-bg);
+ border: 1px solid var(--vp-code-copy-code-hover-border-color);
+
+ /* rtl:ignore */
+ border-right: 0;
+ border-radius: 4px 0 0 4px;
+
+ /* rtl:ignore */
+ transform: translateX(calc(-100% - 1px));
+}
diff --git a/theme/src/client/styles/content.scss b/theme/src/client/styles/content.scss
index 771fa5fd..869c8abf 100644
--- a/theme/src/client/styles/content.scss
+++ b/theme/src/client/styles/content.scss
@@ -268,3 +268,31 @@
.plume-content a:hover > code {
color: var(--vp-code-link-hover-color);
}
+
+/**
+ * External links
+ * -------------------------------------------------------------------------- */
+:is(.vp-external-link-icon, .plume-content a[href*='://'], .plume-content a[target='_blank']):not(.no-icon)::after {
+ --icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");
+
+ display: inline-block;
+ flex-shrink: 0;
+ width: 11px;
+ height: 11px;
+ margin-top: -1px;
+ margin-left: 4px;
+ color: var(--vp-c-text-3);
+ background: currentcolor;
+ -webkit-mask-image: var(--icon);
+ mask-image: var(--icon);
+}
+
+.vp-external-link-icon::after {
+ content: "";
+}
+
+/* prettier-ignore */
+.external-link-icon-enabled :is(.plume-content a[href*='://'], .plume-content a[target='_blank'])::after {
+ color: currentcolor;
+ content: "";
+}
diff --git a/theme/src/client/styles/index.scss b/theme/src/client/styles/index.scss
index 9c4dfcb8..724130f9 100644
--- a/theme/src/client/styles/index.scss
+++ b/theme/src/client/styles/index.scss
@@ -1,5 +1,3 @@
-@import "@vuepress/plugin-palette/palette";
-
@import "vars";
@import "fonts";
@import "normalize";
@@ -13,5 +11,3 @@
@import "twoslash";
@import "md-enhance";
@import "search";
-
-@import "@vuepress/plugin-palette/style";
diff --git a/theme/src/client/styles/twoslash.scss b/theme/src/client/styles/twoslash.scss
index 7c46df32..2aa31e7c 100644
--- a/theme/src/client/styles/twoslash.scss
+++ b/theme/src/client/styles/twoslash.scss
@@ -20,28 +20,6 @@
--twoslash-tag-annotate-bg: var(--vp-c-green-soft);
}
-div[class*="language-"].line-numbers-mode:has(> .twoslash) {
- .line-numbers {
- display: none;
- }
-
- pre {
- padding-left: 1.5rem;
- margin-left: 0;
- }
-}
-
-@supports not selector(:has(a)) {
- div[class*="language-"] .twoslash + .line-numbers {
- display: none;
- }
-
- div[class*="language-"] pre.twoslash {
- padding-left: 1.5rem;
- margin-left: 0;
- }
-}
-
/* Respect people's wishes to not have animations */
@media (prefers-reduced-motion: reduce) {
.twoslash * {
diff --git a/theme/src/client/styles/vars.scss b/theme/src/client/styles/vars.scss
index e91a6e30..5dfadab6 100644
--- a/theme/src/client/styles/vars.scss
+++ b/theme/src/client/styles/vars.scss
@@ -355,12 +355,14 @@
--vp-code-line-warning-color: var(--vp-c-yellow-soft);
--vp-code-line-error-color: var(--vp-c-red-soft);
+ --vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");
+ --vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E");
+
--vp-code-copy-code-border-color: var(--vp-c-divider);
--vp-code-copy-code-bg: var(--vp-c-bg-soft);
--vp-code-copy-code-hover-border-color: var(--vp-c-divider);
--vp-code-copy-code-hover-bg: var(--vp-c-bg);
--vp-code-copy-code-active-text: var(--vp-c-text-2);
- --vp-code-copy-copied-text-content: "Copied";
--vp-code-tab-divider: var(--vp-code-block-divider-color);
--vp-code-tab-text-color: var(--vp-c-text-2);
@@ -370,10 +372,6 @@
--vp-code-tab-active-bar-color: var(--vp-c-brand-1);
}
-html[lang="zh-CN"] {
- --vp-code-copy-copied-text-content: "已复制";
-}
-
/**
* Component: Button
* -------------------------------------------------------------------------- */
@@ -527,7 +525,7 @@ html[lang="zh-CN"] {
:root {
--vp-friends-text-color: var(--vp-c-text-1);
--vp-friends-bg-color: var(--vp-c-bg);
- --vp-friends-link-color: var(--vp-c-brand-1);
+ --vp-friends-name-color: var(--vp-c-brand-1);
--vp-friends-border-color: var(--vp-c-border);
}
diff --git a/theme/src/client/utils/shared.ts b/theme/src/client/utils/shared.ts
index abf5e99d..060c9832 100644
--- a/theme/src/client/utils/shared.ts
+++ b/theme/src/client/utils/shared.ts
@@ -1,6 +1,5 @@
export const EXTERNAL_URL_RE = /^[a-z]+:/i
export const PATHNAME_PROTOCOL_RE = /^pathname:\/\//
-export const APPEARANCE_KEY = 'vuepress-theme-appearance'
export const HASH_RE = /#.*$/
export const EXT_RE = /(index)?\.(md|html)$/
diff --git a/theme/src/node/autoFrontmatter.ts b/theme/src/node/autoFrontmatter.ts
deleted file mode 100644
index a585bdd6..00000000
--- a/theme/src/node/autoFrontmatter.ts
+++ /dev/null
@@ -1,190 +0,0 @@
-import { path } from 'vuepress/utils'
-import type { App } from 'vuepress/core'
-import { resolveLocalePath } from 'vuepress/shared'
-import type {
- AutoFrontmatterOptions,
- FrontmatterArray,
- FrontmatterObject,
-} from '@vuepress-plume/plugin-auto-frontmatter'
-import { format } from 'date-fns'
-import { uniq } from '@pengzhanbo/utils'
-import type {
- PlumeThemeLocaleOptions,
- PlumeThemePluginOptions,
-} from '../shared/index.js'
-import { getCurrentDirname, getPackage, nanoid, pathJoin } from './utils.js'
-import { resolveLinkBySidebar, resolveNotesList } from './resolveNotesList.js'
-import { resolveLocaleOptions } from './resolveLocaleOptions.js'
-
-export default function autoFrontmatter(
- app: App,
- options: PlumeThemePluginOptions,
- localeOption: PlumeThemeLocaleOptions,
-): AutoFrontmatterOptions {
- const sourceDir = app.dir.source()
- const pkg = getPackage()
- const { locales = {}, article: articlePrefix = '/article/' } = localeOption
- const { frontmatter } = options
- const avatar = resolveLocaleOptions(localeOption, 'avatar')
- const notesList = resolveNotesList(localeOption)
- const localesNotesDirs = notesList
- .map(({ notes, dir }) => {
- const _dir = dir?.replace(/^\//, '')
- return notes.map(note => pathJoin(_dir, note.dir || ''))
- })
- .flat()
- .filter(Boolean)
-
- const baseFrontmatter: FrontmatterObject = {
- author(author: string, _, data: any) {
- if (author)
- return author
- if (data.friends)
- return
- return avatar?.name || pkg.author || ''
- },
- createTime(formatTime: string, { createTime }, data: any) {
- if (formatTime)
- return formatTime
- if (data.friends)
- return
- return format(new Date(createTime), 'yyyy/MM/dd HH:mm:ss')
- },
- }
-
- const resolveLocale = (filepath: string) => {
- const file = pathJoin('/', path.relative(sourceDir, filepath))
-
- return resolveLocalePath(localeOption.locales!, file)
- }
- const notesByLocale = (locale: string) => {
- const notes = resolveLocaleOptions(localeOption, 'notes', locale)
- if (notes === false)
- return undefined
- return notes
- }
-
- const findNote = (filepath: string) => {
- const file = pathJoin('/', path.relative(sourceDir, filepath))
- const locale = resolveLocalePath(locales, file)
- const notes = notesByLocale(locale)
- if (!notes)
- return undefined
- const notesList = notes?.notes || []
- const notesDir = notes?.dir || ''
- return notesList.find(note =>
- file.startsWith(path.join(locale, notesDir, note.dir)),
- )
- }
-
- return {
- include: frontmatter?.include ?? ['**/*.md'],
- exclude: uniq(['.vuepress/**/*', 'node_modules', ...(frontmatter?.exclude ?? [])]),
-
- frontmatter: [
- localesNotesDirs.length
- ? {
- // note 首页链接
- include: localesNotesDirs.map(dir => pathJoin(dir, '/{readme,README,index}.md')),
- frontmatter: {
- title(title: string, { filepath }) {
- if (title)
- return title
- const note = findNote(filepath)
- if (note?.text)
- return note.text
- return getCurrentDirname(note?.dir, filepath) || ''
- },
- ...baseFrontmatter,
- permalink(permalink: string, { filepath }, data: any) {
- if (permalink)
- return permalink
- if (data.friends)
- return
- const locale = resolveLocale(filepath)
- const notes = notesByLocale(locale)
- const note = findNote(filepath)
- return pathJoin(
- locale,
- notes?.link || '',
- note?.link || getCurrentDirname(note?.dir, filepath),
- '/',
- )
- },
- },
- }
- : '',
- localesNotesDirs.length
- ? {
- include: localesNotesDirs.map(dir => pathJoin(dir, '**/**.md')),
- frontmatter: {
- title(title: string, { filepath }) {
- if (title)
- return title
-
- const note = findNote(filepath)
-
- let basename = path.basename(filepath, '.md')
- if (note?.sidebar === 'auto')
- basename = basename.replace(/^\d+\./, '')
-
- return basename
- },
- ...baseFrontmatter,
- permalink(permalink: string, { filepath }, data: any) {
- if (permalink)
- return permalink
- if (data.friends)
- return
- const locale = resolveLocale(filepath)
- const notes = notesByLocale(locale)
- const note = findNote(filepath)
- const args: string[] = [
- locale,
- notes?.link || '',
- note?.link || getCurrentDirname(note?.dir, filepath),
- ]
- const sidebar = note?.sidebar
-
- if (sidebar && sidebar !== 'auto') {
- const res = resolveLinkBySidebar(sidebar, pathJoin(notes?.dir || '', note?.dir || ''))
- const file = pathJoin('/', path.relative(sourceDir, filepath))
- res[file] && args.push(res[file])
- }
-
- return pathJoin(...args, nanoid(), '/')
- },
- },
- }
- : '',
- {
- include: '**/{readme,README,index}.md',
- frontmatter: {},
- },
- {
- include: '*',
- frontmatter: {
- title(title: string, { filepath }) {
- if (title)
- return title
- const basename = path.basename(filepath, '.md')
- return basename
- },
- ...baseFrontmatter,
- permalink(permalink: string, { filepath }) {
- if (permalink)
- return permalink
- const locale = resolveLocale(filepath)
- const prefix = resolveLocaleOptions(localeOption, 'article', locale, false)
- const args: string[] = []
- prefix
- ? args.push(prefix)
- : args.push(locale, articlePrefix)
-
- return pathJoin(...args, nanoid(), '/')
- },
- },
- },
- ].filter(Boolean) as FrontmatterArray,
- }
-}
diff --git a/theme/src/node/config/index.ts b/theme/src/node/config/index.ts
new file mode 100644
index 00000000..99c2e188
--- /dev/null
+++ b/theme/src/node/config/index.ts
@@ -0,0 +1,6 @@
+export * from './resolveLocaleOptions.js'
+export * from './resolveThemeData.js'
+export * from './resolveSearchOptions.js'
+export * from './resolvePageHead.js'
+export * from './resolveEncrypt.js'
+export * from './resolveNotesOptions.js'
diff --git a/theme/src/node/resolveEncrypt.ts b/theme/src/node/config/resolveEncrypt.ts
similarity index 95%
rename from theme/src/node/resolveEncrypt.ts
rename to theme/src/node/config/resolveEncrypt.ts
index 10b9ce9d..d2af5472 100644
--- a/theme/src/node/resolveEncrypt.ts
+++ b/theme/src/node/config/resolveEncrypt.ts
@@ -1,7 +1,7 @@
import { genSaltSync, hashSync } from 'bcrypt-ts'
import { isNumber, isString, random, toArray } from '@pengzhanbo/utils'
import type { Page } from 'vuepress/core'
-import type { PlumeThemeEncrypt, PlumeThemePageData } from '../shared/index.js'
+import type { PlumeThemeEncrypt, PlumeThemePageData } from '../../shared/index.js'
const isStringLike = (value: unknown): boolean => isString(value) || isNumber(value)
const separator = ':'
diff --git a/theme/src/node/config/resolveLocaleOptions.ts b/theme/src/node/config/resolveLocaleOptions.ts
new file mode 100644
index 00000000..d95f6d3d
--- /dev/null
+++ b/theme/src/node/config/resolveLocaleOptions.ts
@@ -0,0 +1,41 @@
+import { entries, fromEntries, getLocaleConfig } from '@vuepress/helper'
+import type { App } from 'vuepress'
+import { LOCALE_OPTIONS } from '../locales/index.js'
+import type { PlumeThemeLocaleData, PlumeThemeLocaleOptions } from '../../shared/index.js'
+import { THEME_NAME } from '../utils.js'
+
+const FALLBACK_OPTIONS: PlumeThemeLocaleData = {
+ appearance: true,
+
+ blog: { link: '/blog/', pagination: { perPage: 15 }, tags: true, archives: true, tagsLink: '/blog/tags/', archivesLink: '/blog/archives/' },
+ article: '/article/',
+ notes: { link: '/', dir: '/notes/', notes: [] },
+ navbarSocialInclude: ['github', 'twitter', 'discord', 'facebook'],
+
+ // page meta
+ editLink: true,
+ contributors: true,
+
+}
+
+export function resolveLocaleOptions(app: App, { locales, ...options }: PlumeThemeLocaleOptions): PlumeThemeLocaleOptions {
+ const resolvedOptions: PlumeThemeLocaleOptions = {
+ ...FALLBACK_OPTIONS,
+ ...options,
+ locales: getLocaleConfig({
+ app,
+ name: THEME_NAME,
+ default: LOCALE_OPTIONS,
+ config: fromEntries(
+ entries({
+ '/': {},
+ ...locales,
+ }).map(([locale, opt]) => [
+ locale,
+ { ...options, ...opt },
+ ]),
+ ),
+ }),
+ }
+ return resolvedOptions
+}
diff --git a/theme/src/node/config/resolveNotesOptions.ts b/theme/src/node/config/resolveNotesOptions.ts
new file mode 100644
index 00000000..0ba6f979
--- /dev/null
+++ b/theme/src/node/config/resolveNotesOptions.ts
@@ -0,0 +1,37 @@
+import type { NotesDataOptions, NotesSidebar } from '@vuepress-plume/plugin-notes-data'
+import { entries } from '@vuepress/helper'
+import { uniq } from '@pengzhanbo/utils'
+import type { PlumeThemeLocaleOptions } from '../..//shared/index.js'
+import { withBase } from '../utils.js'
+
+export function resolveNotesLinkList(localeOptions: PlumeThemeLocaleOptions) {
+ const locales = localeOptions.locales || {}
+ const notesLinks: string[] = []
+ for (const [locale, opt] of entries(locales)) {
+ const config = locale === '/' ? (opt.notes || localeOptions.notes) : opt.notes
+ if (config && config.notes?.length) {
+ const prefix = config.link || ''
+ notesLinks.push(
+ ...config.notes.map(
+ note => withBase(`${prefix}/${note.link || ''}`, locale),
+ ),
+ )
+ }
+ }
+
+ return uniq(notesLinks)
+}
+
+export function resolveNotesOptions(localeOptions: PlumeThemeLocaleOptions): NotesDataOptions[] {
+ const locales = localeOptions.locales || {}
+ const notesOptionsList: NotesDataOptions[] = []
+ for (const [locale, opt] of entries(locales)) {
+ const options = locale === '/' ? (opt.notes || localeOptions.notes) : opt.notes
+ if (options) {
+ options.dir = withBase(options.dir, locale)
+ notesOptionsList.push(options)
+ }
+ }
+
+ return notesOptionsList
+}
diff --git a/theme/src/node/resolvePageHead.ts b/theme/src/node/config/resolvePageHead.ts
similarity index 94%
rename from theme/src/node/resolvePageHead.ts
rename to theme/src/node/config/resolvePageHead.ts
index b7a48fd8..9cedae9b 100644
--- a/theme/src/node/resolvePageHead.ts
+++ b/theme/src/node/config/resolvePageHead.ts
@@ -1,5 +1,5 @@
import type { Page } from 'vuepress'
-import type { PlumeThemeLocaleOptions } from '../shared/index.js'
+import type { PlumeThemeLocaleOptions } from '../../shared/index.js'
export function resolvePageHead(page: Page, localeOptions: PlumeThemeLocaleOptions) {
page.frontmatter.head ??= []
diff --git a/theme/src/node/config/resolveSearchOptions.ts b/theme/src/node/config/resolveSearchOptions.ts
new file mode 100644
index 00000000..7b07faaf
--- /dev/null
+++ b/theme/src/node/config/resolveSearchOptions.ts
@@ -0,0 +1,27 @@
+import { getLocaleConfig } from '@vuepress/helper'
+import type { App } from 'vuepress'
+import type { DocsearchPluginOptions } from '@vuepress/plugin-docsearch'
+import type { SearchPluginOptions } from '@vuepress-plume/plugin-search'
+import { DOCSEARCH_LOCALES, SEARCH_LOCALES } from '../locales/index.js'
+
+export function resolveSearchOptions(app: App, { locales, ...options }: SearchPluginOptions = {}): SearchPluginOptions {
+ return {
+ ...options,
+ locales: getLocaleConfig({
+ app,
+ default: SEARCH_LOCALES,
+ config: locales,
+ }),
+ }
+}
+
+export function resolveDocsearchOptions(app: App, { locales, ...options }: DocsearchPluginOptions = {}): DocsearchPluginOptions {
+ return {
+ ...options,
+ locales: getLocaleConfig({
+ app,
+ default: DOCSEARCH_LOCALES,
+ config: locales,
+ }),
+ }
+}
diff --git a/theme/src/node/config/resolveThemeData.ts b/theme/src/node/config/resolveThemeData.ts
new file mode 100644
index 00000000..69a87186
--- /dev/null
+++ b/theme/src/node/config/resolveThemeData.ts
@@ -0,0 +1,61 @@
+import { entries, getRootLangPath } from '@vuepress/helper'
+import type { App } from 'vuepress'
+import type { NavItem, PlumeThemeLocaleOptions } from '../../shared/index.js'
+import { PRESET_LOCALES } from '../locales/index.js'
+import { withBase } from '../utils.js'
+
+const EXCLUDE_LIST = ['locales', 'sidebar', 'navbar', 'notes', 'article']
+// 过滤不需要出现在多语言配置中的字段
+const EXCLUDE_LOCALE_LIST = [...EXCLUDE_LIST, 'blog', 'appearance']
+
+export function resolveThemeData(app: App, options: PlumeThemeLocaleOptions): PlumeThemeLocaleOptions {
+ const themeData: PlumeThemeLocaleOptions = { locales: {} }
+ const root = getRootLangPath(app)
+
+ entries(options).forEach(([key, value]) => {
+ if (!EXCLUDE_LIST.includes(key))
+ themeData[key] = value
+ })
+
+ entries(options.locales || {}).forEach(([locale, opt]) => {
+ themeData.locales![locale] = {}
+ entries(opt).forEach(([key, value]) => {
+ if (!EXCLUDE_LOCALE_LIST.includes(key))
+ themeData.locales![locale][key] = value
+ })
+ })
+
+ const blog = options.blog || {}
+ const blogLink = blog.link || '/blog/'
+ entries(options.locales || {}).forEach(([locale, opt]) => {
+ // 注入预设 导航栏
+ // home | blog | tags | archives
+ if (opt.navbar !== false && opt.navbar?.length === 0) {
+ // fallback navbar option
+ const localePath = locale === '/' ? root : locale
+ const navbar: NavItem[] = [{
+ text: PRESET_LOCALES[localePath].home,
+ link: locale,
+ }]
+ navbar.push({
+ text: PRESET_LOCALES[localePath].blog,
+ link: withBase(blogLink, locale),
+ })
+ blog.tags !== false && navbar.push({
+ text: PRESET_LOCALES[locale].tag,
+ link: withBase(blog.tagsLink || `${blogLink}/tags/`, locale),
+ })
+ blog.archives !== false && navbar.push({
+ text: PRESET_LOCALES[locale].archive,
+ link: withBase(blog.archivesLink || `${blogLink}/archives/`, locale),
+ })
+
+ themeData.locales![locale].navbar = navbar
+ }
+ else {
+ themeData.locales![locale].navbar = opt.navbar
+ }
+ })
+
+ return themeData
+}
diff --git a/theme/src/node/defaultOptions.ts b/theme/src/node/defaultOptions.ts
deleted file mode 100644
index 389d0165..00000000
--- a/theme/src/node/defaultOptions.ts
+++ /dev/null
@@ -1,180 +0,0 @@
-import type { App } from 'vuepress/core'
-import { deepClone, deepMerge } from '@pengzhanbo/utils'
-import type { PlumeThemeLocaleOptions } from '../shared/index.js'
-import { pathJoin } from './utils.js'
-import { resolveLocaleOptions, resolvedAppLocales } from './resolveLocaleOptions.js'
-
-const defaultLocales: NonNullable = {
- 'en-US': {
- selectLanguageName: 'English',
- selectLanguageText: 'Languages',
- editLinkText: 'Edit this page',
- contributorsText: 'Contributors',
- appearanceText: 'Appearance',
-
- lastUpdated: {
- text: 'Last Updated',
- },
-
- encryptButtonText: 'Confirm',
- encryptPlaceholder: 'Enter password',
- encryptGlobalText: 'Only password can access this site',
- encryptPageText: 'Only password can access this page',
- },
- 'zh-CN': {
- selectLanguageName: '简体中文',
- selectLanguageText: '选择语言',
-
- blog: { pagination: { prevPageText: '上一页', nextPageText: '下一页' } },
-
- outlineLabel: '此页内容',
- returnToTopLabel: '返回顶部',
- editLinkText: '编辑此页',
- contributorsText: '贡献者',
- appearanceText: '外观',
- prevPageLabel: '上一页',
- nextPageLabel: '下一页',
-
- lastUpdated: {
- text: '最后更新于',
- },
-
- notFound: {
- code: '404',
- title: '页面未找到',
- quote: '但是,如果你不改变方向,并且一直寻找,最终可能会到达你要去的地方。',
- linkText: '返回首页',
- },
-
- encryptButtonText: '确认',
- encryptPlaceholder: '请输入密码',
- encryptGlobalText: '本站只允许密码访问',
- encryptPageText: '本页面只允许密码访问',
- },
-}
-
-export const fallbackLocaleOption: Partial = {
- article: '/article/',
- notes: { link: '/', dir: 'notes', notes: [] },
- appearance: true,
- navbarSocialInclude: ['github', 'twitter', 'discord', 'facebook'],
- // page meta
- editLink: true,
- contributors: true,
- footer: {
- message:
- 'Power by VuePress & vuepress-theme-plume',
- },
-}
-
-interface PresetLocale {
- home: string
- blog: string
- tag: string
- archive: string
-}
-
-const presetLocales: Record = {
- 'zh-CN': {
- home: '首页',
- blog: '博客',
- tag: '标签',
- archive: '归档',
- },
- 'en-US': {
- home: 'Home',
- blog: 'Blog',
- tag: 'Tags',
- archive: 'Archives',
- },
-}
-
-export function mergeLocaleOptions(app: App, options: PlumeThemeLocaleOptions) {
- options.locales ??= {}
-
- if (options.notes) {
- options.notes = {
- ...fallbackLocaleOption.notes,
- ...(options.notes ?? {}),
- }
- }
-
- if (options.footer) {
- options.footer = {
- ...fallbackLocaleOption.footer,
- ...options.footer,
- }
- }
-
- const { locales, ...otherOptions } = options
- locales['/'] ??= {}
-
- Object.assign(options, {
- ...fallbackLocaleOption,
- ...options,
- })
-
- Object.assign(locales['/'], {
- ...deepClone(otherOptions),
- ...locales['/'],
- })
-
- const langs: Record = {}
- const siteLocales = resolvedAppLocales(app)
- Object.keys(siteLocales).forEach((locale) => {
- const lang = siteLocales[locale]?.lang || 'en-US'
- langs[locale] = lang
- if (defaultLocales[lang]) {
- locales[locale] = deepMerge(
- {},
- defaultLocales[lang],
- locales[locale] || {},
- )
- }
- })
-
- const base = app.siteData.base || '/'
- const defaultLang = app.siteData.lang || 'en-US'
- const defaultBlog = resolveLocaleOptions(options, 'blog')
- Object.keys(locales).forEach((locale) => {
- const option = locales[locale]
- const lang = langs[locale] || defaultLang
-
- // 当用户未配置导航栏时,生成默认导航栏
- if (!option.navbar || !option.navbar.length) {
- option.navbar = [{
- link: pathJoin(base, locale),
- text: presetLocales[lang]?.home || presetLocales[defaultLang].home,
- icon: 'material-symbols:home-outline',
- }]
- const blog = option.blog
- const link = blog?.link
- ? blog.link
- : pathJoin(base, locale, defaultBlog?.link || '/blog/')
- link && option.navbar.push({
- link,
- text: presetLocales[lang]?.blog || presetLocales[defaultLang].blog,
- icon: 'material-symbols:article-outline',
- })
- const avatar = resolveLocaleOptions(options, 'avatar')
- if (!avatar) {
- if (blog?.tags !== false || defaultBlog?.tags !== false) {
- option.navbar.push({
- link: pathJoin(link, 'tags/'),
- text: presetLocales[lang]?.tag || presetLocales[defaultLang].tag,
- icon: 'tabler:tag',
- })
- }
- if (blog?.archives !== false || defaultBlog?.archives !== false) {
- option.navbar.push({
- link: pathJoin(link, 'archives/'),
- text: presetLocales[lang]?.archive || presetLocales[defaultLang].archive,
- icon: 'ph:file-archive',
- })
- }
- }
- }
- })
-
- return options
-}
diff --git a/theme/src/node/locales/en.ts b/theme/src/node/locales/en.ts
new file mode 100644
index 00000000..a0da0045
--- /dev/null
+++ b/theme/src/node/locales/en.ts
@@ -0,0 +1,51 @@
+import type { SearchLocaleOptions } from '@vuepress-plume/plugin-search'
+import type { PlumeThemeLocaleData } from '../../shared/index.js'
+import type { PresetLocale } from '../types.js'
+
+export const enLocale: PlumeThemeLocaleData = {
+ selectLanguageName: 'English',
+ selectLanguageText: 'Languages',
+
+ appearanceText: 'Appearance',
+ lightModeSwitchTitle: 'Switch to light theme',
+ darkModeSwitchTitle: 'Switch to dark theme',
+
+ editLinkText: 'Edit this page',
+ contributorsText: 'Contributors',
+ lastUpdated: {
+ text: 'Last Updated',
+ },
+
+ encryptButtonText: 'Confirm',
+ encryptPlaceholder: 'Enter password',
+ encryptGlobalText: 'Only password can access this site',
+ encryptPageText: 'Only password can access this page',
+
+ footer: {
+ message:
+ 'Power by VuePress & vuepress-theme-plume',
+ },
+}
+
+export const enPresetLocale: PresetLocale = {
+ home: 'Home',
+ blog: 'Blog',
+ tag: 'Tags',
+ archive: 'Archives',
+}
+
+export const enSearchLocale: Partial = {
+ placeholder: 'Search',
+ resetButtonTitle: 'Reset search',
+ backButtonTitle: 'Close search',
+ noResultsText: 'No results for',
+ footer: {
+ selectText: 'to select',
+ selectKeyAriaLabel: 'enter',
+ navigateText: 'to navigate',
+ navigateUpKeyAriaLabel: 'up arrow',
+ navigateDownKeyAriaLabel: 'down arrow',
+ closeText: 'to close',
+ closeKeyAriaLabel: 'escape',
+ },
+}
diff --git a/theme/src/node/locales/index.ts b/theme/src/node/locales/index.ts
new file mode 100644
index 00000000..4467b5b0
--- /dev/null
+++ b/theme/src/node/locales/index.ts
@@ -0,0 +1,25 @@
+import type { DocsearchLocaleOptions } from '@vuepress/plugin-docsearch'
+import type { SearchLocaleOptions } from '@vuepress-plume/plugin-search'
+import type { PlumeThemeLocaleData } from '../../shared/index.js'
+import type { PresetLocale } from '../types.js'
+import { zhDocsearchLocale, zhLocale, zhPresetLocale, zhSearchLocale } from './zh.js'
+import { enLocale, enPresetLocale, enSearchLocale } from './en.js'
+
+export const LOCALE_OPTIONS: Record = {
+ '/zh/': zhLocale,
+ '/en/': enLocale,
+}
+
+export const PRESET_LOCALES: Record = {
+ '/zh/': zhPresetLocale,
+ '/en/': enPresetLocale,
+}
+
+export const DOCSEARCH_LOCALES: Record = {
+ '/zh/': zhDocsearchLocale,
+}
+
+export const SEARCH_LOCALES: Record> = {
+ '/zh/': zhSearchLocale,
+ '/en/': enSearchLocale,
+}
diff --git a/theme/src/node/locales/zh.ts b/theme/src/node/locales/zh.ts
new file mode 100644
index 00000000..df0d53dc
--- /dev/null
+++ b/theme/src/node/locales/zh.ts
@@ -0,0 +1,106 @@
+import type { DocsearchLocaleOptions } from '@vuepress/plugin-docsearch'
+import type { SearchLocaleOptions } from '@vuepress-plume/plugin-search'
+import type { PlumeThemeLocaleData } from '../../shared/index.js'
+import type { PresetLocale } from '../types.js'
+
+export const zhLocale: PlumeThemeLocaleData = {
+ selectLanguageName: '简体中文',
+ selectLanguageText: '选择语言',
+
+ appearanceText: '外观',
+ lightModeSwitchTitle: '切换为浅色主题',
+ darkModeSwitchTitle: '切换为深色主题',
+
+ outlineLabel: '此页内容',
+ returnToTopLabel: '返回顶部',
+ editLinkText: '编辑此页',
+ contributorsText: '贡献者',
+ prevPageLabel: '上一页',
+ nextPageLabel: '下一页',
+
+ lastUpdated: {
+ text: '最后更新于',
+ },
+
+ notFound: {
+ code: '404',
+ title: '页面未找到',
+ quote: '但是,如果你不改变方向,并且一直寻找,最终可能会到达你要去的地方。',
+ linkText: '返回首页',
+ },
+
+ encryptButtonText: '确认',
+ encryptPlaceholder: '请输入密码',
+ encryptGlobalText: '本站只允许密码访问',
+ encryptPageText: '本页面只允许密码访问',
+
+ footer: {
+ message:
+ 'Power by VuePress & vuepress-theme-plume',
+ },
+}
+
+export const zhPresetLocale: PresetLocale = {
+ home: '首页',
+ blog: '博客',
+ tag: '标签',
+ archive: '归档',
+}
+
+export const zhDocsearchLocale: DocsearchLocaleOptions = {
+ placeholder: '搜索文档',
+ translations: {
+ button: {
+ buttonText: '搜索文档',
+ buttonAriaLabel: '搜索文档',
+ },
+ modal: {
+ searchBox: {
+ resetButtonTitle: '清除查询条件',
+ resetButtonAriaLabel: '清除查询条件',
+ cancelButtonText: '取消',
+ cancelButtonAriaLabel: '取消',
+ },
+ startScreen: {
+ recentSearchesTitle: '搜索历史',
+ noRecentSearchesText: '没有搜索历史',
+ saveRecentSearchButtonTitle: '保存至搜索历史',
+ removeRecentSearchButtonTitle: '从搜索历史中移除',
+ favoriteSearchesTitle: '收藏',
+ removeFavoriteSearchButtonTitle: '从收藏中移除',
+ },
+ errorScreen: {
+ titleText: '无法获取结果',
+ helpText: '你可能需要检查你的网络连接',
+ },
+ footer: {
+ selectText: '选择',
+ navigateText: '切换',
+ closeText: '关闭',
+ searchByText: '搜索提供者',
+ },
+ noResultsScreen: {
+ noResultsText: '无法找到相关结果',
+ suggestedQueryText: '你可以尝试查询',
+ reportMissingResultsText: '你认为该查询应该有结果?',
+ reportMissingResultsLinkText: '点击反馈',
+ },
+ },
+ },
+}
+
+export const zhSearchLocale: Partial = {
+ placeholder: '搜索文档',
+ resetButtonTitle: '重置搜索',
+ backButtonTitle: '关闭',
+ noResultsText: '无搜索结果:',
+ footer: {
+ selectText: '选择',
+ selectKeyAriaLabel: '输入',
+ navigateText: '切换',
+ navigateUpKeyAriaLabel: '向上',
+ navigateDownKeyAriaLabel: '向下',
+ closeText: '关闭',
+ closeKeyAriaLabel: '退出',
+ },
+}
diff --git a/theme/src/node/plugins.ts b/theme/src/node/plugins.ts
deleted file mode 100644
index 8c39dfac..00000000
--- a/theme/src/node/plugins.ts
+++ /dev/null
@@ -1,244 +0,0 @@
-import type { App, PluginConfig } from 'vuepress/core'
-import { activeHeaderLinksPlugin } from '@vuepress/plugin-active-header-links'
-import { docsearchPlugin } from '@vuepress/plugin-docsearch'
-import { externalLinkIconPlugin } from '@vuepress/plugin-external-link-icon'
-import { gitPlugin } from '@vuepress/plugin-git'
-import { mediumZoomPlugin } from '@vuepress/plugin-medium-zoom'
-import { nprogressPlugin } from '@vuepress/plugin-nprogress'
-import { palettePlugin } from '@vuepress/plugin-palette'
-import { themeDataPlugin } from '@vuepress/plugin-theme-data'
-import { autoFrontmatterPlugin } from '@vuepress-plume/plugin-auto-frontmatter'
-import { baiduTongjiPlugin } from '@vuepress-plume/plugin-baidu-tongji'
-import { blogDataPlugin } from '@vuepress-plume/plugin-blog-data'
-import { copyCodePlugin } from '@vuepress-plume/plugin-copy-code'
-import { iconifyPlugin } from '@vuepress-plume/plugin-iconify'
-import { notesDataPlugin } from '@vuepress-plume/plugin-notes-data'
-import { shikiPlugin } from '@vuepress-plume/plugin-shikiji'
-import { commentPlugin } from '@vuepress/plugin-comment'
-import { type MarkdownEnhancePluginOptions, mdEnhancePlugin } from 'vuepress-plugin-md-enhance'
-import { readingTimePlugin } from '@vuepress/plugin-reading-time'
-import { seoPlugin } from '@vuepress/plugin-seo'
-import { sitemapPlugin } from '@vuepress/plugin-sitemap'
-import { contentUpdatePlugin } from '@vuepress-plume/plugin-content-update'
-import { searchPlugin } from '@vuepress-plume/plugin-search'
-import { markdownPowerPlugin } from 'vuepress-plugin-md-power'
-import { watermarkPlugin } from '@vuepress/plugin-watermark'
-import type {
- PlumeThemeEncrypt,
- PlumeThemeLocaleOptions,
- PlumeThemePluginOptions,
-} from '../shared/index.js'
-import autoFrontmatter from './autoFrontmatter.js'
-import { resolveLocaleOptions } from './resolveLocaleOptions.js'
-import { pathJoin } from './utils.js'
-import { resolveNotesList } from './resolveNotesList.js'
-import { resolvedDocsearchOption, resolvedSearchOptions } from './searchPluginOptions.js'
-import { customContainers } from './container.js'
-import { BLOG_TAGS_COLORS_PRESET, generateBlogTagsColors } from './blogTags.js'
-import { isEncryptPage } from './resolveEncrypt.js'
-
-export function setupPlugins(
- app: App,
- options: PlumeThemePluginOptions,
- localeOptions: PlumeThemeLocaleOptions,
- encrypt?: PlumeThemeEncrypt,
-): PluginConfig {
- const isProd = !app.env.isDev
-
- const notesList = resolveNotesList(localeOptions)
- const notesDirList = notesList
- .map(notes => notes.dir && pathJoin(notes.dir, '**').replace(/^\//, ''))
- .filter(Boolean)
-
- const blog = resolveLocaleOptions(localeOptions, 'blog')
-
- const plugins: PluginConfig = [
- palettePlugin({ preset: 'sass' }),
-
- themeDataPlugin({ themeData: localeOptions }),
-
- autoFrontmatterPlugin(autoFrontmatter(app, options, localeOptions)),
-
- blogDataPlugin({
- include: blog?.include ?? ['**/*.md'],
- exclude: [
- '**/{README,readme,index}.md',
- '.vuepress/',
- 'node_modules/',
- ...(blog?.exclude ?? []),
- ...notesDirList,
- ].filter(Boolean),
- sortBy: 'createTime',
- excerpt: true,
- pageFilter: (page: any) => page.frontmatter.article !== undefined
- ? !!page.frontmatter.article
- : true,
- extraBlogData(extra) {
- extra.tagsColorsPreset = BLOG_TAGS_COLORS_PRESET
- extra.tagsColors = {}
- },
- extendBlogData: (page: any, extra) => {
- const tags = page.frontmatter.tags
- generateBlogTagsColors(extra.tagsColors, tags)
- const data: Record = {
- categoryList: page.data.categoryList,
- tags,
- sticky: page.frontmatter.sticky,
- createTime: page.data.frontmatter.createTime,
- lang: page.lang,
- }
- isEncryptPage(page, encrypt) && (data.encrypt = true)
- return data
- },
- }),
-
- notesDataPlugin(notesList),
-
- iconifyPlugin(),
-
- contentUpdatePlugin(),
-
- activeHeaderLinksPlugin({
- headerLinkSelector: 'a.outline-link',
- headerAnchorSelector: '.header-anchor',
- delay: 200,
- offset: 20,
- }),
-
- ...customContainers,
- ]
-
- if (options.readingTime !== false) {
- plugins.push(readingTimePlugin({
- locales: {
- '/zh/': {
- word: '$word字',
- less1Minute: '小于1分钟',
- time: '约$time分钟',
- },
- },
- ...options.readingTime,
- }))
- }
-
- if (options.nprogress !== false)
- plugins.push(nprogressPlugin())
-
- if (options.git !== false) {
- plugins.push(gitPlugin({
- createdTime: false,
- updatedTime: resolveLocaleOptions(localeOptions, 'lastUpdated') !== false,
- contributors: resolveLocaleOptions(localeOptions, 'contributors') !== false,
- }))
- }
-
- if (options.mediumZoom !== false) {
- plugins.push(mediumZoomPlugin({
- selector: '.plume-content > img, .plume-content :not(a) > img',
- zoomOptions: { background: 'var(--vp-c-bg)' },
- delay: 300,
- }))
- }
-
- if (options.externalLinkIcon !== false) {
- plugins.push(externalLinkIconPlugin({
- locales: Object.entries(localeOptions.locales || {}).reduce(
- (result: Record, [key, value]) => {
- result[key] = {
- openInNewWindow:
- value.openInNewWindow ?? localeOptions.openInNewWindow,
- }
- return result
- },
- {},
- ),
- }))
- }
-
- if (options.docsearch) {
- if (options.docsearch.appId && options.docsearch.apiKey)
- plugins.push(docsearchPlugin(resolvedDocsearchOption(app, options.docsearch)))
-
- else
- console.error('docsearch plugin: appId and apiKey are both required')
- }
- else if (options.search !== false) {
- plugins.push(searchPlugin(resolvedSearchOptions(app, options.search)))
- }
-
- const shikiOption = options.shiki || options.shikiji
- let shikiTheme: any = { light: 'vitesse-light', dark: 'vitesse-dark' }
- if (shikiOption !== false) {
- shikiTheme = shikiOption?.theme ?? shikiTheme
- plugins.push(shikiPlugin({
- theme: shikiTheme,
- ...(shikiOption ?? {}),
- }))
- }
-
- if (options.copyCode !== false) {
- plugins.push(copyCodePlugin({
- selector: '.plume-content div[class*="language-"] pre',
- ...options.copyCode,
- }))
- }
-
- if (options.markdownEnhance !== false) {
- plugins.push(mdEnhancePlugin(
- Object.assign(
- {
- hint: true, // info note tip warning danger details
- codetabs: true,
- tabs: true,
- align: true,
- mark: true,
- tasklist: true,
- attrs: true,
- sup: true,
- sub: true,
- alert: true,
- footnote: true,
- katex: true,
- } as MarkdownEnhancePluginOptions,
- options.markdownEnhance || {},
- ),
- ))
- }
-
- if (options.markdownPower !== false) {
- plugins.push(markdownPowerPlugin({
- caniuse: options.caniuse,
- ...options.markdownPower || {},
- repl: options.markdownPower?.repl
- ? { theme: shikiTheme, ...options.markdownPower?.repl }
- : options.markdownPower?.repl,
- }))
- }
-
- if (options.watermark) {
- plugins.push(watermarkPlugin({
- delay: 300,
- enabled: true,
- ...typeof options.watermark === 'object' ? options.watermark : {},
- }))
- }
-
- if (options.comment)
- plugins.push(commentPlugin(options.comment))
-
- if (options.baiduTongji !== false && options.baiduTongji?.key && isProd)
- plugins.push(baiduTongjiPlugin(options.baiduTongji))
-
- const hostname = resolveLocaleOptions(localeOptions, 'hostname')
- if (options.sitemap !== false && hostname && isProd)
- plugins.push(sitemapPlugin({ hostname }))
-
- if (options.seo !== false && hostname && isProd) {
- plugins.push(seoPlugin({
- hostname,
- author: resolveLocaleOptions(localeOptions, 'avatar')?.name,
- }))
- }
-
- return plugins
-}
diff --git a/theme/src/node/blogTags.ts b/theme/src/node/plugins/blogTags.ts
similarity index 100%
rename from theme/src/node/blogTags.ts
rename to theme/src/node/plugins/blogTags.ts
diff --git a/theme/src/node/container.ts b/theme/src/node/plugins/containerPlugins.ts
similarity index 91%
rename from theme/src/node/container.ts
rename to theme/src/node/plugins/containerPlugins.ts
index 77410641..49743fb0 100644
--- a/theme/src/node/container.ts
+++ b/theme/src/node/plugins/containerPlugins.ts
@@ -1,7 +1,7 @@
-import { containerPlugin } from '@vuepress/plugin-container'
+import { markdownContainerPlugin as containerPlugin } from '@vuepress/plugin-markdown-container'
import type { Plugin } from 'vuepress/core'
-export const customContainers: Plugin[] = [
+export const customContainerPlugins: Plugin[] = [
/**
* :::demo-wrapper img no-padding title="xxx" height="100px"
* :::
diff --git a/theme/src/node/plugins/getPlugins.ts b/theme/src/node/plugins/getPlugins.ts
new file mode 100644
index 00000000..6da1dfa8
--- /dev/null
+++ b/theme/src/node/plugins/getPlugins.ts
@@ -0,0 +1,189 @@
+import type { App, PluginConfig } from 'vuepress/core'
+import { activeHeaderLinksPlugin } from '@vuepress/plugin-active-header-links'
+import { docsearchPlugin } from '@vuepress/plugin-docsearch'
+import { gitPlugin } from '@vuepress/plugin-git'
+import { mediumZoomPlugin } from '@vuepress/plugin-medium-zoom'
+import { nprogressPlugin } from '@vuepress/plugin-nprogress'
+import { themeDataPlugin } from '@vuepress/plugin-theme-data'
+import { autoFrontmatterPlugin } from '@vuepress-plume/plugin-auto-frontmatter'
+import { baiduTongjiPlugin } from '@vuepress-plume/plugin-baidu-tongji'
+import { blogDataPlugin } from '@vuepress-plume/plugin-blog-data'
+import { iconifyPlugin } from '@vuepress-plume/plugin-iconify'
+import { notesDataPlugin } from '@vuepress-plume/plugin-notes-data'
+import { shikiPlugin } from '@vuepress-plume/plugin-shikiji'
+import { commentPlugin } from '@vuepress/plugin-comment'
+import { type MarkdownEnhancePluginOptions, mdEnhancePlugin } from 'vuepress-plugin-md-enhance'
+import { readingTimePlugin } from '@vuepress/plugin-reading-time'
+import { seoPlugin } from '@vuepress/plugin-seo'
+import { sitemapPlugin } from '@vuepress/plugin-sitemap'
+import { contentUpdatePlugin } from '@vuepress-plume/plugin-content-update'
+import { searchPlugin } from '@vuepress-plume/plugin-search'
+import { markdownPowerPlugin } from 'vuepress-plugin-md-power'
+import { watermarkPlugin } from '@vuepress/plugin-watermark'
+import type {
+ PlumeThemeEncrypt,
+ PlumeThemeLocaleOptions,
+ PlumeThemePluginOptions,
+} from '../../shared/index.js'
+import {
+ resolveDocsearchOptions,
+ resolveNotesOptions,
+ resolveSearchOptions,
+ resolveThemeData,
+} from '../config/index.js'
+import { resolveAutoFrontmatterOptions } from './resolveAutoFrontmatterOptions.js'
+import { resolveBlogDataOptions } from './resolveBlogDataOptions.js'
+import { customContainerPlugins } from './containerPlugins.js'
+
+export interface SetupPluginOptions {
+ app: App
+ pluginOptions: PlumeThemePluginOptions
+ localeOptions: PlumeThemeLocaleOptions
+ encrypt?: PlumeThemeEncrypt
+ hostname?: string
+}
+
+export function getPlugins({
+ app,
+ pluginOptions,
+ localeOptions,
+ encrypt,
+ hostname,
+}: SetupPluginOptions): PluginConfig {
+ const isProd = !app.env.isDev
+
+ const plugins: PluginConfig = [
+
+ themeDataPlugin({ themeData: resolveThemeData(app, localeOptions) }),
+
+ autoFrontmatterPlugin(resolveAutoFrontmatterOptions(pluginOptions, localeOptions)),
+
+ blogDataPlugin(resolveBlogDataOptions(localeOptions, encrypt)),
+
+ notesDataPlugin(resolveNotesOptions(localeOptions)),
+
+ iconifyPlugin(),
+
+ contentUpdatePlugin(),
+
+ activeHeaderLinksPlugin({
+ headerLinkSelector: 'a.outline-link',
+ headerAnchorSelector: '.header-anchor',
+ delay: 200,
+ offset: 20,
+ }),
+
+ ...customContainerPlugins,
+ ]
+
+ if (pluginOptions.readingTime !== false) {
+ plugins.push(readingTimePlugin({
+ locales: {
+ '/zh/': {
+ word: '$word字',
+ less1Minute: '小于1分钟',
+ time: '约$time分钟',
+ },
+ },
+ ...pluginOptions.readingTime,
+ }))
+ }
+
+ if (pluginOptions.nprogress !== false)
+ plugins.push(nprogressPlugin())
+
+ if (pluginOptions.git ?? isProd) {
+ plugins.push(gitPlugin({
+ createdTime: false,
+ updatedTime: true,
+ contributors: true,
+ }))
+ }
+
+ if (pluginOptions.mediumZoom !== false) {
+ plugins.push(mediumZoomPlugin({
+ selector: '.plume-content > img, .plume-content :not(a) > img',
+ zoomOptions: { background: 'var(--vp-c-bg)' },
+ delay: 300,
+ }))
+ }
+
+ if (pluginOptions.docsearch) {
+ if (pluginOptions.docsearch.appId && pluginOptions.docsearch.apiKey)
+ plugins.push(docsearchPlugin(resolveDocsearchOptions(app, pluginOptions.docsearch)))
+
+ else
+ console.error('docsearch plugin: appId and apiKey are both required')
+ }
+ else if (pluginOptions.search !== false) {
+ plugins.push(searchPlugin(resolveSearchOptions(app, pluginOptions.search)))
+ }
+
+ const shikiOption = pluginOptions.shiki
+ let shikiTheme: any = { light: 'vitesse-light', dark: 'vitesse-dark' }
+ if (shikiOption !== false) {
+ shikiTheme = shikiOption?.theme ?? shikiTheme
+ plugins.push(shikiPlugin({
+ theme: shikiTheme,
+ ...(shikiOption ?? {}),
+ }))
+ }
+
+ if (pluginOptions.markdownEnhance !== false) {
+ plugins.push(mdEnhancePlugin(
+ Object.assign(
+ {
+ hint: true, // info note tip warning danger details
+ codetabs: true,
+ tabs: true,
+ align: true,
+ mark: true,
+ tasklist: true,
+ attrs: true,
+ sup: true,
+ sub: true,
+ alert: true,
+ footnote: true,
+ katex: true,
+ } as MarkdownEnhancePluginOptions,
+ pluginOptions.markdownEnhance || {},
+ ),
+ ))
+ }
+
+ if (pluginOptions.markdownPower !== false) {
+ plugins.push(markdownPowerPlugin({
+ caniuse: pluginOptions.caniuse,
+ ...pluginOptions.markdownPower || {},
+ repl: pluginOptions.markdownPower?.repl
+ ? { theme: shikiTheme, ...pluginOptions.markdownPower?.repl }
+ : pluginOptions.markdownPower?.repl,
+ }))
+ }
+
+ if (pluginOptions.watermark) {
+ plugins.push(watermarkPlugin({
+ delay: 300,
+ enabled: true,
+ ...typeof pluginOptions.watermark === 'object' ? pluginOptions.watermark : {},
+ }))
+ }
+
+ if (pluginOptions.comment)
+ plugins.push(commentPlugin(pluginOptions.comment))
+
+ if (pluginOptions.baiduTongji !== false && pluginOptions.baiduTongji?.key && isProd)
+ plugins.push(baiduTongjiPlugin(pluginOptions.baiduTongji))
+
+ if (pluginOptions.sitemap !== false && hostname && isProd)
+ plugins.push(sitemapPlugin({ hostname }))
+
+ if (pluginOptions.seo !== false && hostname && isProd) {
+ plugins.push(seoPlugin({
+ hostname,
+ author: localeOptions.locales?.['/'].avatar?.name || localeOptions.avatar?.name,
+ }))
+ }
+
+ return plugins
+}
diff --git a/theme/src/node/plugins/index.ts b/theme/src/node/plugins/index.ts
new file mode 100644
index 00000000..62d0b452
--- /dev/null
+++ b/theme/src/node/plugins/index.ts
@@ -0,0 +1 @@
+export * from './getPlugins.js'
diff --git a/theme/src/node/plugins/resolveAutoFrontmatterOptions.ts b/theme/src/node/plugins/resolveAutoFrontmatterOptions.ts
new file mode 100644
index 00000000..646890c4
--- /dev/null
+++ b/theme/src/node/plugins/resolveAutoFrontmatterOptions.ts
@@ -0,0 +1,244 @@
+import { path } from 'vuepress/utils'
+import { removeLeadingSlash, resolveLocalePath } from 'vuepress/shared'
+import { ensureLeadingSlash } from '@vuepress/helper'
+import type {
+ AutoFrontmatterOptions,
+ FrontmatterArray,
+ FrontmatterObject,
+} from '@vuepress-plume/plugin-auto-frontmatter'
+import { format } from 'date-fns'
+import { uniq } from '@pengzhanbo/utils'
+import type { NotesSidebar } from '@vuepress-plume/plugin-notes-data'
+import type {
+ PlumeThemeLocaleOptions,
+ PlumeThemePluginOptions,
+} from '../../shared/index.js'
+import {
+ getCurrentDirname,
+ getPackage,
+ nanoid,
+ normalizePath,
+ pathJoin,
+ withBase,
+} from '../utils.js'
+import { resolveNotesOptions } from '../config/index.js'
+
+export function resolveAutoFrontmatterOptions(
+ pluginOptions: PlumeThemePluginOptions,
+ localeOptions: PlumeThemeLocaleOptions,
+): AutoFrontmatterOptions {
+ const pkg = getPackage()
+ const { locales = {}, article: articlePrefix = '/article/' } = localeOptions
+ const { frontmatter } = pluginOptions
+
+ const resolveLocale = (relativeFilepath: string) => {
+ const file = ensureLeadingSlash(relativeFilepath)
+
+ return resolveLocalePath(localeOptions.locales!, file)
+ }
+
+ const resolveOptions = (relativeFilepath: string) => {
+ const locale = resolveLocale(relativeFilepath)
+ return locales[locale] || localeOptions
+ }
+
+ const notesList = resolveNotesOptions(localeOptions)
+ const localesNotesDirs = notesList
+ .flatMap(({ notes, dir }) => {
+ dir = removeLeadingSlash(dir || '')
+ return notes.map(note => normalizePath(`${dir}/${note.dir || ''}/`))
+ })
+ .filter(Boolean)
+
+ const baseFrontmatter: FrontmatterObject = {
+ author(author: string, { relativePath }, data: any) {
+ if (author)
+ return author
+ if (data.friends)
+ return
+ const avatar = resolveOptions(relativePath).avatar
+
+ return avatar?.name || pkg.author || ''
+ },
+ createTime(formatTime: string, { createTime }, data: any) {
+ if (formatTime)
+ return formatTime
+ if (data.friends)
+ return
+ return format(new Date(createTime), 'yyyy/MM/dd HH:mm:ss')
+ },
+ }
+
+ const notesByLocale = (locale: string) => {
+ const notes = localeOptions.locales?.[locale]?.notes
+ if (notes === false)
+ return undefined
+ return notes
+ }
+
+ const findNote = (relativeFilepath: string) => {
+ const locale = resolveLocale(relativeFilepath)
+ const filepath = ensureLeadingSlash(relativeFilepath)
+ const notes = notesByLocale(locale)
+ if (!notes)
+ return undefined
+ const notesList = notes?.notes || []
+ const notesDir = notes?.dir || ''
+ return notesList.find(note =>
+ filepath.startsWith(normalizePath(`${notesDir}/${note.dir}`)),
+ )
+ }
+
+ return {
+ include: frontmatter?.include ?? ['**/*.md'],
+ exclude: uniq(['.vuepress/**/*', 'node_modules', ...(frontmatter?.exclude ?? [])]),
+
+ frontmatter: [
+ localesNotesDirs.length
+ ? {
+ // note 首页链接
+ include: localesNotesDirs.map(dir => pathJoin(dir, '/{readme,README,index}.md')),
+ frontmatter: {
+ title(title: string, { relativePath }) {
+ if (title)
+ return title
+ const note = findNote(relativePath)
+ if (note?.text)
+ return note.text
+ return getCurrentDirname(note?.dir, relativePath) || ''
+ },
+ ...baseFrontmatter,
+ permalink(permalink: string, { relativePath }, data: any) {
+ if (permalink)
+ return permalink
+ if (data.friends)
+ return
+ const locale = resolveLocale(relativePath)
+
+ const prefix = notesByLocale(locale)?.link || ''
+ const note = findNote(relativePath)
+ return pathJoin(
+ locale,
+ prefix,
+ note?.link || getCurrentDirname(note?.dir, relativePath),
+ '/',
+ )
+ },
+ },
+ }
+ : '',
+ localesNotesDirs.length
+ ? {
+ include: localesNotesDirs.map(dir => `${dir}**/**.md`),
+ frontmatter: {
+ title(title: string, { relativePath }) {
+ if (title)
+ return title
+
+ const note = findNote(relativePath)
+ let basename = path.basename(relativePath, '.md')
+ if (note?.sidebar === 'auto')
+ basename = basename.replace(/^\d+\./, '')
+
+ return basename
+ },
+ ...baseFrontmatter,
+ permalink(permalink: string, { relativePath }, data: any) {
+ if (permalink)
+ return permalink
+ if (data.friends)
+ return
+ const locale = resolveLocale(relativePath)
+ const notes = notesByLocale(locale)
+ const note = findNote(relativePath)
+ const prefix = notes?.link || ''
+ const args: string[] = [
+ locale,
+ prefix,
+ note?.link || '',
+ ]
+ const sidebar = note?.sidebar
+
+ if (note && sidebar && sidebar !== 'auto') {
+ const res = resolveLinkBySidebar(sidebar, pathJoin(notes?.dir || '', note.dir || ''))
+ const file = ensureLeadingSlash(relativePath)
+ if (res[file])
+ args.push(res[file])
+ else
+ res[path.dirname(file)] && args.push(res[path.dirname(file)])
+ }
+
+ return pathJoin(...args, nanoid(), '/')
+ },
+ },
+ }
+ : '',
+ {
+ include: '**/{readme,README,index}.md',
+ frontmatter: {},
+ },
+ {
+ include: '*',
+ frontmatter: {
+ title(title: string, { relativePath }) {
+ if (title)
+ return title
+ const basename = path.basename(relativePath || '', '.md')
+ return basename
+ },
+ ...baseFrontmatter,
+ permalink(permalink: string, { relativePath }) {
+ if (permalink)
+ return permalink
+ const locale = resolveLocale(relativePath)
+ const prefix = withBase(articlePrefix, locale)
+
+ return normalizePath(`${prefix}/${nanoid()}/`)
+ },
+ },
+ },
+ ].filter(Boolean) as FrontmatterArray,
+ }
+}
+
+function resolveLinkBySidebar(
+ sidebar: NotesSidebar,
+ prefix: string,
+) {
+ const res: Record = {}
+
+ for (const item of sidebar) {
+ if (typeof item !== 'string') {
+ const { dir = '', link = '/', items, text = '' } = item
+ SidebarLink(items, link, text, pathJoin(prefix, dir), res)
+ }
+ }
+ return res
+}
+
+function SidebarLink(items: NotesSidebar | undefined, link: string, text: string, dir = '', res: Record = {}) {
+ if (!items) {
+ res[pathJoin(dir, `${text}.md`)] = link
+ return
+ }
+
+ for (const item of items) {
+ if (typeof item === 'string') {
+ if (!link)
+ continue
+ if (item) {
+ res[pathJoin(dir, `${item}.md`)] = link
+ }
+ else {
+ res[pathJoin(dir, 'README.md')] = link
+ res[pathJoin(dir, 'index.md')] = link
+ res[pathJoin(dir, 'readme.md')] = link
+ }
+ res[dir] = link
+ }
+ else {
+ const { dir: subDir = '', link: subLink = '/', items: subItems, text: subText = '' } = item
+ SidebarLink(subItems, pathJoin(link, subLink), subText, pathJoin(dir, subDir), res)
+ }
+ }
+}
diff --git a/theme/src/node/plugins/resolveBlogDataOptions.ts b/theme/src/node/plugins/resolveBlogDataOptions.ts
new file mode 100644
index 00000000..6dfbeb78
--- /dev/null
+++ b/theme/src/node/plugins/resolveBlogDataOptions.ts
@@ -0,0 +1,56 @@
+import type { BlogDataPluginOptions } from '@vuepress-plume/plugin-blog-data'
+import { removeLeadingSlash } from '@vuepress/helper'
+import {
+ isEncryptPage,
+ resolveNotesOptions,
+} from '../config/index.js'
+import { normalizePath } from '../utils.js'
+import type { PlumeThemeEncrypt, PlumeThemeLocaleOptions } from '../..//shared/index.js'
+import {
+ BLOG_TAGS_COLORS_PRESET,
+ generateBlogTagsColors,
+} from './blogTags.js'
+
+export function resolveBlogDataOptions(
+ localeOptions: PlumeThemeLocaleOptions,
+ encrypt?: PlumeThemeEncrypt,
+): BlogDataPluginOptions {
+ const blog = localeOptions.blog || {}
+ const notesList = resolveNotesOptions(localeOptions)
+ const notesDirList = notesList
+ .map(notes => removeLeadingSlash(normalizePath(`${notes.dir}/**`)))
+ .filter(Boolean)
+
+ return {
+ include: blog?.include ?? ['**/*.md'],
+ exclude: [
+ '**/{README,readme,index}.md',
+ '.vuepress/',
+ 'node_modules/',
+ ...(blog?.exclude ?? []),
+ ...notesDirList,
+ ].filter(Boolean),
+ sortBy: 'createTime',
+ excerpt: true,
+ pageFilter: (page: any) => page.frontmatter.article !== undefined
+ ? !!page.frontmatter.article
+ : true,
+ extraBlogData(extra) {
+ extra.tagsColorsPreset = BLOG_TAGS_COLORS_PRESET
+ extra.tagsColors = {}
+ },
+ extendBlogData: (page: any, extra) => {
+ const tags = page.frontmatter.tags
+ generateBlogTagsColors(extra.tagsColors, tags)
+ const data: Record = {
+ categoryList: page.data.categoryList,
+ tags,
+ sticky: page.frontmatter.sticky,
+ createTime: page.data.frontmatter.createTime,
+ lang: page.lang,
+ }
+ isEncryptPage(page, encrypt) && (data.encrypt = true)
+ return data
+ },
+ }
+}
diff --git a/theme/src/node/resolveLocaleOptions.ts b/theme/src/node/resolveLocaleOptions.ts
deleted file mode 100644
index a9da228a..00000000
--- a/theme/src/node/resolveLocaleOptions.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { isEmptyObject } from '@pengzhanbo/utils'
-import type { App } from 'vuepress/core'
-import type { PlumeThemeLocaleOptions } from '../shared/index.js'
-import { normalizePath } from './utils.js'
-
-export function resolveLocaleOptions<
- T extends PlumeThemeLocaleOptions = PlumeThemeLocaleOptions,
- K extends Exclude = Exclude,
->(options: T, key: K, locale = '', fallback = true): T[K] | undefined {
- const locales = options.locales
-
- if (!locales)
- return options[key]
-
- locale = !locale || locale === '/' ? '/' : normalizePath(`/${locale}/`)
-
- const localeOptions = locales[locale]
- const fallbackLocaleOptions = locales['/']
- if (!localeOptions)
- return fallback ? options[key] : undefined
-
- const _key = key as keyof typeof localeOptions
- const fallbackData = (fallbackLocaleOptions[_key] ?? options[key]) as T[K]
-
- const value = localeOptions[_key] as T[K]
-
- return value ?? (fallback ? fallbackData : undefined)
-}
-
-export function resolvedAppLocales(app: App): NonNullable {
- if (app.siteData.locales && !isEmptyObject(app.siteData.locales))
- return app.siteData.locales
-
- const defaultLang = app.siteData.lang || 'en-US'
- return { '/': { lang: defaultLang } }
-}
diff --git a/theme/src/node/resolveNotesList.ts b/theme/src/node/resolveNotesList.ts
deleted file mode 100644
index e1be3d15..00000000
--- a/theme/src/node/resolveNotesList.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import type { NotesDataOptions, NotesSidebar } from '@vuepress-plume/plugin-notes-data'
-import type { PlumeThemeLocaleOptions } from '../shared/index.js'
-import { resolveLocaleOptions } from './resolveLocaleOptions.js'
-import { normalizePath, pathJoin } from './utils.js'
-
-export function resolveNotesList(options: PlumeThemeLocaleOptions) {
- const locales = options.locales || {}
- const notesList: NotesDataOptions[] = []
-
- for (const locale of Object.keys(locales)) {
- const notes = resolveLocaleOptions(options, 'notes', locale, false)
- if (notes) {
- const dir = normalizePath(`/${notes.dir}`)
- if (!dir.startsWith(locale))
- notes.dir = pathJoin(locale, notes.dir).replace(/^\//, '')
-
- notesList.push(notes)
- }
- }
-
- return notesList
-}
-
-export function resolveLinkBySidebar(
- sidebar: NotesSidebar,
- prefix: string,
-) {
- const res: Record = {}
-
- for (const item of sidebar) {
- if (typeof item !== 'string') {
- const { dir = '', link = '/', items, text = '' } = item
- SidebarLink(items, link, text, pathJoin(prefix, dir), res)
- }
- }
- return res
-}
-
-function SidebarLink(items: NotesSidebar | undefined, link: string, text: string, dir = '', res: Record = {}) {
- if (!items) {
- res[pathJoin(dir, `${text}.md`)] = link
- return
- }
-
- for (const item of items) {
- if (typeof item === 'string') {
- if (!link)
- continue
- if (item) {
- res[pathJoin(dir, `${item}.md`)] = link
- }
- else {
- res[pathJoin(dir, 'README.md')] = link
- res[pathJoin(dir, 'index.md')] = link
- res[pathJoin(dir, 'readme.md')] = link
- }
- }
- else {
- const { dir: subDir = '', link: subLink = '/', items: subItems, text: subText = '' } = item
- SidebarLink(subItems, pathJoin(link, subLink), subText, pathJoin(dir, subDir), res)
- }
- }
-}
diff --git a/theme/src/node/searchPluginOptions.ts b/theme/src/node/searchPluginOptions.ts
deleted file mode 100644
index a4a887d1..00000000
--- a/theme/src/node/searchPluginOptions.ts
+++ /dev/null
@@ -1,118 +0,0 @@
-import type { DocsearchPluginOptions } from '@vuepress/plugin-docsearch'
-import type { SearchPluginOptions } from '@vuepress-plume/plugin-search'
-import type { App } from 'vuepress/core'
-import { deepMerge } from '@pengzhanbo/utils'
-import { resolvedAppLocales } from './resolveLocaleOptions.js'
-
-// `en-US` is used by default
-const defaultDocsearchLocales: NonNullable = {
- 'zh-CN': {
- placeholder: '搜索文档',
- translations: {
- button: {
- buttonText: '搜索文档',
- buttonAriaLabel: '搜索文档',
- },
- modal: {
- searchBox: {
- resetButtonTitle: '清除查询条件',
- resetButtonAriaLabel: '清除查询条件',
- cancelButtonText: '取消',
- cancelButtonAriaLabel: '取消',
- },
- startScreen: {
- recentSearchesTitle: '搜索历史',
- noRecentSearchesText: '没有搜索历史',
- saveRecentSearchButtonTitle: '保存至搜索历史',
- removeRecentSearchButtonTitle: '从搜索历史中移除',
- favoriteSearchesTitle: '收藏',
- removeFavoriteSearchButtonTitle: '从收藏中移除',
- },
- errorScreen: {
- titleText: '无法获取结果',
- helpText: '你可能需要检查你的网络连接',
- },
- footer: {
- selectText: '选择',
- navigateText: '切换',
- closeText: '关闭',
- searchByText: '搜索提供者',
- },
- noResultsScreen: {
- noResultsText: '无法找到相关结果',
- suggestedQueryText: '你可以尝试查询',
- reportMissingResultsText: '你认为该查询应该有结果?',
- reportMissingResultsLinkText: '点击反馈',
- },
- },
- },
- },
-}
-
-const defaultSearchLocales: NonNullable = {
- 'zh-CN': {
- placeholder: '搜索文档',
- resetButtonTitle: '重置搜索',
- backButtonTitle: '关闭',
- noResultsText: '无搜索结果:',
- footer: {
- selectText: '选择',
- selectKeyAriaLabel: '输入',
- navigateText: '切换',
- navigateUpKeyAriaLabel: '向上',
- navigateDownKeyAriaLabel: '向下',
- closeText: '关闭',
- closeKeyAriaLabel: '退出',
- },
- },
- 'en-US': {
- placeholder: 'Search',
- resetButtonTitle: 'Reset search',
- backButtonTitle: 'Close search',
- noResultsText: 'No results for',
- footer: {
- selectText: 'to select',
- selectKeyAriaLabel: 'enter',
- navigateText: 'to navigate',
- navigateUpKeyAriaLabel: 'up arrow',
- navigateDownKeyAriaLabel: 'down arrow',
- closeText: 'to close',
- closeKeyAriaLabel: 'escape',
- },
- },
-}
-
-export function resolvedDocsearchOption(app: App, options: DocsearchPluginOptions): DocsearchPluginOptions {
- options.locales ??= {}
-
- const locales = resolvedAppLocales(app)
- Object.keys(locales).forEach((locale) => {
- const lang = locales[locale]?.lang || 'en-US'
- if (defaultDocsearchLocales[lang]) {
- options.locales![locale] = deepMerge(
- {},
- defaultDocsearchLocales[lang],
- options.locales![locale] || {},
- )
- }
- })
-
- return options
-}
-
-export function resolvedSearchOptions(app: App, options: SearchPluginOptions = {}): SearchPluginOptions {
- options.locales ??= {}
- const locales = resolvedAppLocales(app)
- Object.keys(locales).forEach((locale) => {
- const lang = locales[locale]?.lang || 'en-US'
- if (defaultSearchLocales[lang]) {
- options.locales![locale] = deepMerge(
- {},
- defaultSearchLocales[lang],
- options.locales![locale] || {},
- )
- }
- })
-
- return options
-}
diff --git a/theme/src/node/setupPages.ts b/theme/src/node/setupPages.ts
index 4382e66b..50fd09bb 100644
--- a/theme/src/node/setupPages.ts
+++ b/theme/src/node/setupPages.ts
@@ -1,4 +1,8 @@
-import { path } from 'vuepress/utils'
+import {
+ ensureLeadingSlash,
+ getRootLang,
+ getRootLangPath,
+} from '@vuepress/helper'
import type { App, Page } from 'vuepress/core'
import { createPage } from 'vuepress/core'
import type {
@@ -6,53 +10,62 @@ import type {
PlumeThemeLocaleOptions,
PlumeThemePageData,
} from '../shared/index.js'
-import { pathJoin } from './utils.js'
-import { resolveLocaleOptions, resolvedAppLocales } from './resolveLocaleOptions.js'
+import { withBase } from './utils.js'
+import { PRESET_LOCALES } from './locales/index.js'
+import { resolveNotesLinkList } from './config/index.js'
export async function setupPage(
app: App,
localeOption: PlumeThemeLocaleOptions,
) {
- const locales = resolvedAppLocales(app)
- const defaultBlog = resolveLocaleOptions(localeOption, 'blog')
- for (const [, locale] of Object.keys(locales).entries()) {
- const blog = resolveLocaleOptions(localeOption, 'blog', locale, false)
- const lang = locales[locale].lang || app.siteData.lang
- const link = blog?.link
- ? blog.link
- : pathJoin('/', locale, defaultBlog?.link || '/blog/')
- const blogPage = await createPage(app, {
- path: link,
- frontmatter: { lang, type: 'blog' },
- })
- app.pages.push(blogPage)
+ const pageList: Promise[] = []
+ const locales = localeOption.locales || {}
+ const rootPath = getRootLangPath(app)
+ const rootLang = getRootLang(app)
- if (blog?.tags !== false || defaultBlog?.tags !== false) {
- const tagsPage = await createPage(app, {
- path: pathJoin(link, 'tags/'),
- frontmatter: { lang, type: 'blog-tags' },
- })
- app.pages.push(tagsPage)
- }
+ const blog = localeOption.blog || {}
+ const link = blog.link || '/blog/'
- if (blog?.archives !== false || defaultBlog?.archives !== false) {
- const archivesPage = await createPage(app, {
- path: pathJoin(link, 'archives/'),
- frontmatter: { lang, type: 'blog-archives' },
- })
- app.pages.push(archivesPage)
- }
+ const getTitle = (locale: string, key: string) => {
+ const opt = PRESET_LOCALES[locale] || PRESET_LOCALES[rootPath] || {}
+ return opt[key] || ''
}
+
+ for (const localePath of Object.keys(locales)) {
+ const lang = app.siteData.locales?.[localePath]?.lang || rootLang
+ const locale = localePath === '/' ? rootPath : localePath
+
+ // 添加 博客页面
+ pageList.push(createPage(app, {
+ path: withBase(link, localePath),
+ frontmatter: { lang, type: 'blog', title: getTitle(locale, 'blog') },
+ }))
+
+ // 添加 标签页
+ blog.tags !== false && pageList.push(createPage(app, {
+ path: withBase(blog.tagsLink || `${link}/tags/`, localePath),
+ frontmatter: { lang, type: 'blog-tags', title: getTitle(locale, 'tag') },
+ }))
+
+ // 添加归档页
+ blog.archives !== false && pageList.push(createPage(app, {
+ path: withBase(blog.archivesLink || `${link}/archives/`, localePath),
+ frontmatter: { lang, type: 'blog-archives', title: getTitle(locale, 'archive') },
+ }))
+ }
+ app.pages.push(...await Promise.all(pageList))
}
export function extendsPageData(
- app: App,
page: Page,
localeOptions: PlumeThemeLocaleOptions,
) {
page.data.filePathRelative = page.filePathRelative
page.routeMeta.title = page.title
+ if (page.frontmatter.icon)
+ page.routeMeta.icon = page.frontmatter.icon
+
if (page.frontmatter.friends) {
page.frontmatter.article = false
page.frontmatter.type = 'friends'
@@ -66,7 +79,7 @@ export function extendsPageData(
page.data.type = page.frontmatter.type as any
}
- autoCategory(app, page, localeOptions)
+ autoCategory(page, localeOptions)
pageContentRendered(page)
}
@@ -75,7 +88,6 @@ const cache: Record = {}
const RE_CATEGORY = /^(\d+)?(?:\.?)([^]+)$/
export function autoCategory(
- app: App,
page: Page,
options: PlumeThemeLocaleOptions,
) {
@@ -83,24 +95,15 @@ export function autoCategory(
if (page.frontmatter.type || !pagePath)
return
- const locales = Object.keys(resolvedAppLocales(app))
- const notesLinks: string[] = []
- for (const [, locale] of locales.entries()) {
- const config = options.locales?.[locale]?.notes
- if (config && config.notes) {
- notesLinks.push(
- ...config.notes.map(
- note => path.join(locale, config.link || '', note.link).replace(/\\+/g, '/'),
- ),
- )
- }
- }
+ const notesLinks = resolveNotesLinkList(options)
+
if (notesLinks.some(link => page.path.startsWith(link)))
return
+
const RE_LOCALE = new RegExp(
- `^(${locales.filter(l => l !== '/').join('|')})`,
+ `^(${Object.keys(options.locales || {}).filter(l => l !== '/').join('|')})`,
)
- const categoryList: PageCategoryData[] = `/${pagePath}`
+ const categoryList: PageCategoryData[] = ensureLeadingSlash(pagePath)
.replace(RE_LOCALE, '')
.replace(/^\//, '')
.split('/')
diff --git a/theme/src/node/theme.ts b/theme/src/node/theme.ts
index 93c16525..96c35364 100644
--- a/theme/src/node/theme.ts
+++ b/theme/src/node/theme.ts
@@ -1,26 +1,24 @@
import type { Page, Theme } from 'vuepress/core'
-import { logger, templateRenderer } from 'vuepress/utils'
-import { addViteConfig, isPlainObject } from '@vuepress/helper'
+import { templateRenderer } from 'vuepress/utils'
+import { isPlainObject } from '@vuepress/helper'
import type { PlumeThemeOptions, PlumeThemePageData } from '../shared/index.js'
-import { mergeLocaleOptions } from './defaultOptions.js'
-import { setupPlugins } from './plugins.js'
+import { getPlugins } from './plugins/index.js'
import { extendsPageData, setupPage } from './setupPages.js'
-import { getThemePackage, resolve, templates } from './utils.js'
-import { resolveEncrypt } from './resolveEncrypt.js'
-import { resolvePageHead } from './resolvePageHead.js'
-
-const THEME_NAME = 'vuepress-theme-plume'
+import { THEME_NAME, getThemePackage, logger, resolve, templates } from './utils.js'
+import { resolveEncrypt, resolveLocaleOptions, resolvePageHead } from './config/index.js'
export function plumeTheme({
themePlugins,
plugins,
encrypt,
+ hostname,
...localeOptions
}: PlumeThemeOptions = {}): Theme {
- const pluginsOptions = plugins ?? themePlugins ?? {}
+ const pluginOptions = plugins ?? themePlugins ?? {}
const pkg = getThemePackage()
- const watermarkFullPage = isPlainObject(pluginsOptions.watermark)
- ? pluginsOptions.watermark.fullPage !== false
+
+ const watermarkFullPage = isPlainObject(pluginOptions.watermark)
+ ? pluginOptions.watermark.fullPage !== false
: true
if (themePlugins) {
@@ -30,7 +28,7 @@ export function plumeTheme({
}
return (app) => {
- localeOptions = mergeLocaleOptions(app, localeOptions)
+ localeOptions = resolveLocaleOptions(app, localeOptions)
return {
name: THEME_NAME,
@@ -43,12 +41,12 @@ export function plumeTheme({
clientConfigFile: resolve('client/config.js'),
- plugins: setupPlugins(app, pluginsOptions, localeOptions, encrypt),
+ plugins: getPlugins({ app, pluginOptions, localeOptions, encrypt, hostname }),
- onInitialized: app => setupPage(app, localeOptions),
+ onInitialized: async app => await setupPage(app, localeOptions),
extendsPage: (page) => {
- extendsPageData(app, page as Page, localeOptions)
+ extendsPageData(page as Page, localeOptions)
resolvePageHead(page, localeOptions)
},
@@ -59,12 +57,6 @@ export function plumeTheme({
.replace(/\n/g, '')
return templateRenderer(template, context)
},
-
- extendsBundlerOptions: (options, app) => {
- addViteConfig(options, app, {
- server: { fs: { cachedChecks: false } },
- })
- },
}
}
}
diff --git a/theme/src/node/types.ts b/theme/src/node/types.ts
new file mode 100644
index 00000000..d461eb5f
--- /dev/null
+++ b/theme/src/node/types.ts
@@ -0,0 +1,6 @@
+export interface PresetLocale {
+ home: string
+ blog: string
+ tag: string
+ archive: string
+}
diff --git a/theme/src/node/utils.ts b/theme/src/node/utils.ts
index 24fd7ea5..cbd04915 100644
--- a/theme/src/node/utils.ts
+++ b/theme/src/node/utils.ts
@@ -1,6 +1,9 @@
import process from 'node:process'
import { customAlphabet } from 'nanoid'
import { fs, getDirname, path } from 'vuepress/utils'
+import { Logger, ensureEndingSlash, ensureLeadingSlash } from '@vuepress/helper'
+
+export const THEME_NAME = 'vuepress-theme-plume'
const __dirname = getDirname(import.meta.url)
@@ -9,6 +12,8 @@ export const templates = (url: string) => resolve('../templates', url)
export const nanoid = customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', 8)
+export const logger = new Logger(THEME_NAME)
+
export function getPackage() {
let pkg = {} as any
try {
@@ -30,8 +35,8 @@ export function getThemePackage() {
}
const RE_SLASH = /(\\|\/)+/g
-export function normalizePath(dir: string) {
- return dir.replace(RE_SLASH, '/')
+export function normalizePath(path: string) {
+ return path.replace(RE_SLASH, '/')
}
export function pathJoin(...args: string[]) {
@@ -45,3 +50,10 @@ export function getCurrentDirname(basePath: string | undefined, filepath: string
.split('/')
return dirList.length > 0 ? dirList[dirList.length - 1] : ''
}
+
+export function withBase(path = '', base = '/'): string {
+ path = ensureEndingSlash(ensureLeadingSlash(path))
+ if (path.startsWith(base))
+ return normalizePath(path)
+ return normalizePath(`${base}${path}`)
+}
diff --git a/theme/src/shared/base.ts b/theme/src/shared/base.ts
index 48b2527d..14703167 100644
--- a/theme/src/shared/base.ts
+++ b/theme/src/shared/base.ts
@@ -2,3 +2,35 @@ export type PlumeThemeImage =
| string
| { src: string, alt?: string }
| { dark: string, light: string, alt?: string }
+
+export interface SocialLink {
+ icon: SocialLinkIcon
+ link: string
+ ariaLabel?: string
+}
+
+export type SocialLinkIconUnion =
+ | 'discord'
+ | 'facebook'
+ | 'github'
+ | 'instagram'
+ | 'linkedin'
+ | 'mastodon'
+ | 'npm'
+ | 'slack'
+ | 'twitter'
+ | 'x'
+ | 'youtube'
+ | 'qq'
+ | 'weibo'
+ | 'bilibili'
+ | 'gitlab'
+ | 'docker'
+ | 'juejin'
+ | 'zhihu'
+ | 'douban'
+ | 'steam'
+ | 'stackoverflow'
+ | 'xbox'
+
+export type SocialLinkIcon = SocialLinkIconUnion | { svg: string }
diff --git a/theme/src/shared/blog.ts b/theme/src/shared/blog.ts
index 8439c230..adb55842 100644
--- a/theme/src/shared/blog.ts
+++ b/theme/src/shared/blog.ts
@@ -11,3 +11,65 @@ export interface PlumeThemeBlogPostItem extends BlogPostDataItem {
}
export type PlumeThemeBlogPostData = PlumeThemeBlogPostItem[]
+
+export interface PlumeThemeBlog {
+
+ /**
+ * blog list link
+ *
+ * @default '/blog/'
+ */
+ link?: string
+
+ /**
+ * 通过 glob string 配置包含文件
+ *
+ * @default - ['**\*.md']
+ */
+ include?: string[]
+
+ /**
+ * 通过 glob string 配置排除的文件
+ *
+ * _README.md 文件一般作为主页或者某个目录下的主页,不应该被读取为 blog文章_
+ *
+ * @default - ['.vuepress/', 'node_modules/', '{README,index}.md']
+ */
+ exclude?: string[]
+
+ /**
+ * 分页
+ */
+ pagination?: false | {
+ /**
+ * 每页显示的文章数量
+ * @default 20
+ */
+ perPage?: number
+ }
+
+ /**
+ * 是否启用标签页
+ * @default true
+ */
+ tags?: boolean
+
+ /**
+ * 自定义标签页链接
+ *
+ * @default '/blog/tags/'
+ */
+ tagsLink?: string
+ /**
+ * 是否启用归档页
+ * @default true
+ */
+ archives?: boolean
+
+ /**
+ * 自定义归档页链接
+ *
+ * @default '/blog/archives/'
+ */
+ archivesLink?: string
+}
diff --git a/theme/src/shared/frontmatter.ts b/theme/src/shared/frontmatter.ts
index ce3ea981..ecda00eb 100644
--- a/theme/src/shared/frontmatter.ts
+++ b/theme/src/shared/frontmatter.ts
@@ -142,6 +142,16 @@ export interface FriendsItem {
link: string
avatar?: string
desc?: string
+ backgroundColor?: string | { light: string, dark: string }
+ color?: string | { light: string, dark: string }
+ nameColor?: string | { light: string, dark: string }
+ borderColor?: string | { light: string, dark: string }
+}
+
+export interface FriendGroup {
+ title?: string
+ desc?: string
+ list?: FriendsItem[]
}
export interface PlumeThemeFriendsFrontmatter {
@@ -149,4 +159,5 @@ export interface PlumeThemeFriendsFrontmatter {
title?: string
description?: string
list?: FriendsItem[]
+ groups?: FriendGroup[]
}
diff --git a/theme/src/shared/options/encrypt.ts b/theme/src/shared/options/encrypt.ts
new file mode 100644
index 00000000..d3c73ad4
--- /dev/null
+++ b/theme/src/shared/options/encrypt.ts
@@ -0,0 +1,30 @@
+export interface PlumeThemeEncrypt {
+ /**
+ * 是否启用全站加密
+ * @default false
+ */
+ global?: boolean
+ /**
+ * 超级权限密码, 该密码可以解密全站,以及任意加密的文章
+ *
+ */
+ admin?: string | string[]
+
+ /**
+ * 文章密码, 可以通过 文章的 markdown 文件相对路径、页面访问路径、
+ * 目录路径 等,对 单个文章 或者 整个目录 进行 加密。
+ * 如果是以 `^` 开头,则被认为是类似于正则表达式进行匹配。
+ *
+ * @example
+ * ```json
+ * {
+ * "前端/基础/html.md": "123",
+ * "/article/23c44c/": ["456", "789"],
+ * "^/note/(note1|note2)/": "123"
+ * }
+ * ```
+ */
+ rules?: {
+ [key: string]: string | string[]
+ }
+}
diff --git a/theme/src/shared/options/index.ts b/theme/src/shared/options/index.ts
index 4e1582db..1fe7d903 100644
--- a/theme/src/shared/options/index.ts
+++ b/theme/src/shared/options/index.ts
@@ -1,6 +1,7 @@
import type { ThemeData } from '@vuepress/plugin-theme-data'
import type { PlumeThemeLocaleData } from './locale.js'
import type { PlumeThemePluginOptions } from './plugins.js'
+import type { PlumeThemeEncrypt } from './encrypt.js'
export interface PlumeThemeOptions extends PlumeThemeLocaleOptions {
/**
@@ -14,6 +15,18 @@ export interface PlumeThemeOptions extends PlumeThemeLocaleOptions {
*/
plugins?: PlumeThemePluginOptions
+ /**
+ * 部署站点域名。
+ * 用于生成 sitemap、 seo等。
+ *
+ */
+ hostname?: string
+
+ /**
+ * 加密
+ */
+ encrypt?: PlumeThemeEncrypt
+
}
export type PlumeThemeLocaleOptions = PlumeThemeData
@@ -23,3 +36,4 @@ export type PlumeThemeData = ThemeData
export * from './locale.js'
export * from './plugins.js'
export * from './navbar.js'
+export * from './encrypt.js'
diff --git a/theme/src/shared/options/locale.ts b/theme/src/shared/options/locale.ts
index 802de0f2..8acc37f2 100644
--- a/theme/src/shared/options/locale.ts
+++ b/theme/src/shared/options/locale.ts
@@ -1,175 +1,9 @@
import type { LocaleData } from 'vuepress/core'
import type { NotesDataOptions } from '@vuepress-plume/plugin-notes-data'
+import type { SocialLink, SocialLinkIconUnion } from '../base.js'
+import type { PlumeThemeBlog } from '../blog.js'
import type { NavItem } from './navbar.js'
-export interface PlumeThemeAvatar {
- /**
- * 头像链接
- */
- url?: string
- /**
- * 名称
- */
- name?: string
- /**
- * 描述
- */
- description?: string
- /**
- * 是否显示为圆形头像
- */
- circle?: boolean
-
- /**
- * 地理位置
- */
- location?: string
-
- /**
- * 组织,公司
- */
- organization?: string
-}
-
-export interface SocialLink {
- icon: SocialLinkIcon
- link: string
- ariaLabel?: string
-}
-
-export type SocialLinkIconUnion =
- | 'discord'
- | 'facebook'
- | 'github'
- | 'instagram'
- | 'linkedin'
- | 'mastodon'
- | 'npm'
- | 'slack'
- | 'twitter'
- | 'x'
- | 'youtube'
- | 'qq'
- | 'weibo'
- | 'bilibili'
- | 'gitlab'
- | 'docker'
- | 'juejin'
- | 'zhihu'
- | 'douban'
- | 'steam'
- | 'stackoverflow'
- | 'xbox'
-
-export type SocialLinkIcon = SocialLinkIconUnion | { svg: string }
-
-export interface PlumeThemeBlog {
-
- /**
- * blog list link
- *
- * @default '/blog/'
- */
- link?: string
-
- /**
- * 通过 glob string 配置包含文件
- *
- * @default - ['**\*.md']
- */
- include?: string[]
-
- /**
- * 通过 glob string 配置排除的文件
- *
- * _README.md 文件一般作为主页或者某个目录下的主页,不应该被读取为 blog文章_
- *
- * @default - ['.vuepress/', 'node_modules/', '{README,index}.md']
- */
- exclude?: string[]
-
- /**
- * 分页
- */
- pagination?: false | {
- /**
- * 每页显示的文章数量
- * @default 20
- */
- perPage?: number
- /**
- * 前一页的文本
- * @default 'Prev'
- */
- prevPageText?: string
- /**
- * 后一页的文本
- * @default 'Next'
- */
- nextPageText?: string
- }
-
- /**
- * 是否启用标签页
- * @default true
- */
- tags?: boolean
- /**
- * 是否启用归档页
- * @default true
- */
- archives?: boolean
-}
-
-export interface PlumeThemeEncrypt {
- /**
- * 是否启用全站加密
- * @default false
- */
- global?: boolean
- /**
- * 超级权限密码, 该密码可以解密全站,以及任意加密的文章
- *
- */
- admin?: string | string[]
-
- /**
- * 文章密码, 可以通过 文章的 markdown 文件相对路径、页面访问路径、
- * 目录路径 等,对 单个文章 或者 整个目录 进行 加密。
- * 如果是以 `^` 开头,则被认为是类似于正则表达式进行匹配。
- *
- * @example
- * ```json
- * {
- * "前端/基础/html.md": "123",
- * "/article/23c44c/": ["456", "789"],
- * "^/note/(note1|note2)/": "123"
- * }
- * ```
- */
- rules?: {
- [key: string]: string | string[]
- }
-}
-
-export interface LastUpdatedOptions {
- /**
- * Set custom last updated text.
- *
- * @default 'Last updated'
- */
- text?: string
-
- /**
- * Set options for last updated time formatting.
- * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat#using_options
- *
- * @default
- * { dateStyle: 'short', timeStyle: 'short' }
- */
- formatOptions?: Intl.DateTimeFormatOptions & { forceLocale?: boolean }
-}
-
export interface PlumeThemeLocaleData extends LocaleData {
/**
* 网站站点首页
@@ -193,12 +27,8 @@ export interface PlumeThemeLocaleData extends LocaleData {
*/
appearanceText?: string
- /**
- * 部署站点域名。
- * 用于生成 sitemap、 seo等。
- *
- */
- hostname?: string
+ lightModeSwitchTitle?: string
+ darkModeSwitchTitle?: string
/**
* 配置博主拥有者信息
@@ -212,6 +42,13 @@ export interface PlumeThemeLocaleData extends LocaleData {
*/
social?: SocialLink[]
+ /**
+ * Navbar config
+ *
+ * Set to `false` to disable navbar in current locale
+ */
+ navbar?: false | NavItem[]
+
/**
* 允许显示在导航栏的社交类型
* @default - ['github', 'twitter', 'discord', 'facebook']
@@ -226,7 +63,7 @@ export interface PlumeThemeLocaleData extends LocaleData {
/**
* 文章链接前缀
*
- * @default: /article/
+ * @default '/article/'
*/
article?: string
@@ -249,21 +86,7 @@ export interface PlumeThemeLocaleData extends LocaleData {
* language name
*/
selectLanguageName?: string
- /**
- * repository of navbar
- */
- repo?: null | string
- /**
- * repository text of navbar
- */
- repoLabel?: string
- /**
- * Navbar config
- *
- * Set to `false` to disable navbar in current locale
- */
- navbar?: false | NavItem[]
/**
* Page meta - edit link config
*
@@ -336,10 +159,6 @@ export interface PlumeThemeLocaleData extends LocaleData {
* The text to replace the default "Contributors"
*/
contributorsText?: string
- /**
- * 外部链接打开方式
- */
- openInNewWindow?: string | boolean
// backToHome?: string
@@ -353,12 +172,22 @@ export interface PlumeThemeLocaleData extends LocaleData {
*/
returnToTopLabel?: string
+ /**
+ * 侧边栏 outline 文本
+ *
+ * @default 'On this page'
+ */
outlineLabel?: string
prevPageLabel?: string
nextPageLabel?: string
+ /**
+ * 是否显示外部链接图标
+ */
+ externalLinkIcon?: string
+
footer?:
| false
| {
@@ -376,10 +205,6 @@ export interface PlumeThemeLocaleData extends LocaleData {
linkLabel?: string
linkText?: string
}
- /**
- * 加密
- */
- encrypt?: PlumeThemeEncrypt
/**
* 全站加密时的提示
@@ -401,3 +226,54 @@ export interface PlumeThemeLocaleData extends LocaleData {
*/
encryptPlaceholder?: string
}
+
+/** =========================== Avatar ================================ */
+
+export interface PlumeThemeAvatar {
+ /**
+ * 头像链接
+ */
+ url?: string
+ /**
+ * 名称
+ */
+ name?: string
+ /**
+ * 描述
+ */
+ description?: string
+ /**
+ * 是否显示为圆形头像
+ */
+ circle?: boolean
+
+ /**
+ * 地理位置
+ */
+ location?: string
+
+ /**
+ * 组织,公司
+ */
+ organization?: string
+}
+
+/** ========================== Page Meta ====================== */
+
+export interface LastUpdatedOptions {
+ /**
+ * Set custom last updated text.
+ *
+ * @default 'Last updated'
+ */
+ text?: string
+
+ /**
+ * Set options for last updated time formatting.
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat#using_options
+ *
+ * @default
+ * { dateStyle: 'short', timeStyle: 'short' }
+ */
+ formatOptions?: Intl.DateTimeFormatOptions & { forceLocale?: boolean }
+}
diff --git a/theme/src/shared/options/plugins.ts b/theme/src/shared/options/plugins.ts
index fedba272..d52e5ab9 100644
--- a/theme/src/shared/options/plugins.ts
+++ b/theme/src/shared/options/plugins.ts
@@ -2,7 +2,6 @@ import type { DocsearchOptions } from '@vuepress/plugin-docsearch'
import type { SearchPluginOptions } from '@vuepress-plume/plugin-search'
import type { AutoFrontmatterOptions } from '@vuepress-plume/plugin-auto-frontmatter'
import type { BaiduTongjiOptions } from '@vuepress-plume/plugin-baidu-tongji'
-import type { CopyCodeOptions } from '@vuepress-plume/plugin-copy-code'
import type { ShikiPluginOptions } from '@vuepress-plume/plugin-shikiji'
import type { CommentPluginOptions } from '@vuepress/plugin-comment'
import type { MarkdownEnhancePluginOptions } from 'vuepress-plugin-md-enhance'
@@ -18,11 +17,6 @@ export interface PlumeThemePluginOptions {
*/
caniuse?: false
- /**
- * 是否启用 external-link-icon 插件
- */
- externalLinkIcon?: false
-
/**
* plugin-search 配置
*/
@@ -37,7 +31,7 @@ export interface PlumeThemePluginOptions {
* @deprecated move to `shiki`
* 代码高亮 配置
*/
- shikiji?: false | ShikiPluginOptions
+ shikiji?: never
/**
* 代码高亮 配置
@@ -53,8 +47,6 @@ export interface PlumeThemePluginOptions {
mediumZoom?: false
- copyCode?: false | CopyCodeOptions
-
markdownEnhance?: false | MarkdownEnhancePluginOptions
markdownPower?: false | MarkdownPowerPluginOptions
diff --git a/tsconfig.json b/tsconfig.json
index 4befbc2d..a31da84e 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -25,7 +25,7 @@
"./plugins/plugin-md-power/src/node/index.ts"
]
},
- "types": ["webpack-env", "vite/client"]
+ "types": ["webpack-env", "vite/client", "vuepress/client-types"]
},
"include": [
"plugins/**/*",