diff --git a/.vscode/settings.json b/.vscode/settings.json index acbf31ef..a46c7cc3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -72,6 +72,7 @@ "taze", "Tongji", "tsbuildinfo", + "twoslash", "vite", "vuepress", "vueuse", diff --git a/docs/2.preview/主题效果预览.md b/docs/2.preview/主题效果预览.md index 8d1300da..f9f9de03 100644 --- a/docs/2.preview/主题效果预览.md +++ b/docs/2.preview/主题效果预览.md @@ -124,6 +124,56 @@ const obj = { } ``` +**Code Blocks TwoSlash** + +```ts twoslash +// @errors: 2339 +const welcome = "Tudo bem gente?" +const words = welcome.contains(" ") +``` + +```ts twoslash +import express from "express" +const app = express() +app.get("/", function (req, res) { + res.send +}) +app.listen(3000) +``` + +```ts twoslash +import { getHighlighterCore } from 'shikiji/core' + +const highlighter = await getHighlighterCore({}) +// @log: Custom log message +const a = 1 +// @error: Custom error message +const b = 1 +// @warn: Custom warning message +const c = 1 +// @annotate: Custom annotation message +``` + +```ts twoslash +// @errors: 2540 +interface Todo { + title: string +} + +const todo: Readonly = { + title: 'Delete inactive users'.toUpperCase(), +// ^? +} + +todo.title = 'Hello' + +Number.parseInt('123', 10) +// ^| + + // + // +``` + **代码分组** ::: code-tabs diff --git a/docs/package.json b/docs/package.json index 9ef03630..e0a53520 100644 --- a/docs/package.json +++ b/docs/package.json @@ -17,7 +17,7 @@ "anywhere": "^1.6.0", "sass": "^1.69.7", "sass-loader": "^13.3.3", - "vue": "^3.4.7", + "vue": "^3.4.10", "vuepress-theme-plume": "workspace:*" } } diff --git a/package.json b/package.json index b309dc4e..ff3d6e7b 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,11 @@ "typescript": "^5.3.3", "vite": "^5.0.11" }, + "pnpm": { + "patchedDependencies": { + "@vuepress/markdown@2.0.0-rc.0": "patches/@vuepress__markdown@2.0.0-rc.0.patch" + } + }, "lint-staged": { "*": "eslint --fix" }, diff --git a/patches/@vuepress__markdown@2.0.0-rc.0.patch b/patches/@vuepress__markdown@2.0.0-rc.0.patch new file mode 100644 index 00000000..c091b50e --- /dev/null +++ b/patches/@vuepress__markdown@2.0.0-rc.0.patch @@ -0,0 +1,13 @@ +diff --git a/dist/index.js b/dist/index.js +index 996b0d16dac39667cc25496e52adcc9dd2b2befa..a4c9f5ba3a20967d9a561fcc73178d9e84f48279 100644 +--- a/dist/index.js ++++ b/dist/index.js +@@ -245,7 +245,7 @@ var codePlugin = (md, { + const info = token.info ? md.utils.unescapeAll(token.info).trim() : ""; + const language = resolveLanguage(info); + const languageClass = `${options.langPrefix}${language.name}`; +- const code = options.highlight?.(token.content, language.name, "") || md.utils.escapeHtml(token.content); ++ const code = options.highlight?.(token.content, language.name, info || "") || md.utils.escapeHtml(token.content); + token.attrJoin("class", languageClass); + let result = code.startsWith("${code}`; + const useVPre = resolveVPre(info) ?? vPreBlock; diff --git a/plugins/plugin-blog-data/package.json b/plugins/plugin-blog-data/package.json index cf011b84..0a6c5646 100644 --- a/plugins/plugin-blog-data/package.json +++ b/plugins/plugin-blog-data/package.json @@ -42,7 +42,7 @@ "@vuepress/utils": "2.0.0-rc.0", "chokidar": "^3.5.3", "create-filter": "^1.0.1", - "vue": "^3.4.7" + "vue": "^3.4.10" }, "publishConfig": { "access": "public" diff --git a/plugins/plugin-content-update/package.json b/plugins/plugin-content-update/package.json index 8fd5dfdf..39e88287 100644 --- a/plugins/plugin-content-update/package.json +++ b/plugins/plugin-content-update/package.json @@ -39,7 +39,7 @@ "@vuepress/client": "2.0.0-rc.0", "@vuepress/core": "2.0.0-rc.0", "@vuepress/utils": "2.0.0-rc.0", - "vue": "^3.4.7", + "vue": "^3.4.10", "vue-router": "4.2.5" }, "publishConfig": { diff --git a/plugins/plugin-copy-code/package.json b/plugins/plugin-copy-code/package.json index 2a5b8253..f788058e 100644 --- a/plugins/plugin-copy-code/package.json +++ b/plugins/plugin-copy-code/package.json @@ -41,7 +41,7 @@ "@vuepress/core": "2.0.0-rc.0", "@vuepress/shared": "2.0.0-rc.0", "@vuepress/utils": "2.0.0-rc.0", - "vue": "^3.4.7" + "vue": "^3.4.10" }, "publishConfig": { "access": "public" diff --git a/plugins/plugin-copy-code/src/client/setupCopyCode.ts b/plugins/plugin-copy-code/src/client/setupCopyCode.ts index 18e5360c..d8b84c6f 100644 --- a/plugins/plugin-copy-code/src/client/setupCopyCode.ts +++ b/plugins/plugin-copy-code/src/client/setupCopyCode.ts @@ -8,7 +8,7 @@ const options = __COPY_CODE_OPTIONS__ const RE_LANGUAGE = /language-([\w]+)/ const RE_START_CODE = /^ *(\$|>)/gm const shells = ['shellscript', 'shell', 'bash', 'sh', 'zsh'] -const ignoredNodes = ['.diff.remove'] +const ignoredNodes = ['.diff.remove', '.vp-copy-ignore'] function isMobile(): boolean { return navigator diff --git a/plugins/plugin-iconify/package.json b/plugins/plugin-iconify/package.json index 85f3afba..ce8d8a5a 100644 --- a/plugins/plugin-iconify/package.json +++ b/plugins/plugin-iconify/package.json @@ -41,7 +41,7 @@ "@vuepress/core": "2.0.0-rc.0", "@vuepress/shared": "2.0.0-rc.0", "@vuepress/utils": "2.0.0-rc.0", - "vue": "^3.4.7" + "vue": "^3.4.10" }, "publishConfig": { "access": "public" diff --git a/plugins/plugin-netlify-functions/package.json b/plugins/plugin-netlify-functions/package.json index da9cc991..951814db 100644 --- a/plugins/plugin-netlify-functions/package.json +++ b/plugins/plugin-netlify-functions/package.json @@ -51,11 +51,11 @@ "dotenv": "^16.3.1", "esbuild": "^0.19.11", "execa": "^8.0.1", - "netlify-cli": "^17.13.0", + "netlify-cli": "^17.13.1", "portfinder": "^1.0.32" }, "devDependencies": { - "@types/node": "^20.10.8" + "@types/node": "^20.11.0" }, "publishConfig": { "access": "public" diff --git a/plugins/plugin-notes-data/package.json b/plugins/plugin-notes-data/package.json index 44474ae5..af228ccb 100644 --- a/plugins/plugin-notes-data/package.json +++ b/plugins/plugin-notes-data/package.json @@ -43,7 +43,7 @@ "@vuepress/utils": "2.0.0-rc.0", "chokidar": "^3.5.3", "create-filter": "^1.0.1", - "vue": "^3.4.7" + "vue": "^3.4.10" }, "publishConfig": { "access": "public" diff --git a/plugins/plugin-page-collection/package.json b/plugins/plugin-page-collection/package.json index 151f328c..b269005a 100644 --- a/plugins/plugin-page-collection/package.json +++ b/plugins/plugin-page-collection/package.json @@ -37,7 +37,7 @@ "@vuepress/shared": "2.0.0-rc.0", "@vuepress/utils": "2.0.0-rc.0", "leancloud-storage": "^4.15.2", - "vue": "^3.4.7", + "vue": "^3.4.10", "vue-router": "4.2.5", "vuepress-plugin-netlify-functions": "workspace:*" }, diff --git a/plugins/plugin-shikiji/package.json b/plugins/plugin-shikiji/package.json index f0963ddf..4b900ec4 100644 --- a/plugins/plugin-shikiji/package.json +++ b/plugins/plugin-shikiji/package.json @@ -37,7 +37,8 @@ "nanoid": "^5.0.4", "picocolors": "^1.0.0", "shikiji": "^0.9.18", - "shikiji-transformers": "^0.9.18" + "shikiji-transformers": "^0.9.18", + "shikiji-twoslash": "^0.9.18" }, "publishConfig": { "access": "public" diff --git a/plugins/plugin-shikiji/src/node/highlight.ts b/plugins/plugin-shikiji/src/node/highlight.ts index 2feb50e1..277574ae 100644 --- a/plugins/plugin-shikiji/src/node/highlight.ts +++ b/plugins/plugin-shikiji/src/node/highlight.ts @@ -15,7 +15,9 @@ import { transformerNotationFocus, transformerNotationHighlight, } from 'shikiji-transformers' +import { rendererRich, transformerTwoSlash } from 'shikiji-twoslash' import type { HighlighterOptions, ThemeOptions } from './types.js' +import { resolveAttrs } from './resolveAttrs.js' const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz', 10) @@ -88,9 +90,7 @@ export async function highlight( lang = defaultLang } } - - // const lineOptions = attrsToLines(attrs) - + const { attrs: attributes, rawAttrs } = resolveAttrs(attrs || '') const mustaches = new Map() const removeMustache = (s: string) => { @@ -110,32 +110,75 @@ export async function highlight( mustaches.forEach((marker, match) => { s = s.replaceAll(marker, match) }) - return s - } - const fillEmptyHighlightedLine = (s: string) => { - return `${s.replace( - /()(<\/span>)/g, - '$1$2', - ).replace(/(\/\/\s*?\[)\\(!code.*?\])/g, '$1$2')}\n` + return `${s}\n` } str = removeMustache(str).trimEnd() - const highlighted = highlighter.codeToHtml(str, { - lang, - transformers: [ - ...transformers, - ...userTransformers, - ], - meta: { - __raw: attrs, + const inlineTransformers: ShikijiTransformer[] = [ + { + name: 'vuepress-shikiji:empty-line', + pre(hast) { + hast.children.forEach((code) => { + if (code.type === 'element' && code.tagName === 'code') { + code.children.forEach((span) => { + if ( + span.type === 'element' + && span.tagName === 'span' + && Array.isArray(span.properties.class) + && span.properties.class.includes('line') + && span.children.length === 0 + ) { + span.children.push({ + type: 'element', + tagName: 'wbr', + properties: {}, + children: [], + }) + } + }) + } + }) + }, }, - ...(typeof theme === 'object' && 'light' in theme && 'dark' in theme - ? { themes: theme, defaultColor: false } - : { theme }), - }) + { + name: 'vuepress-shikiji:remove-escape', + postprocess(code) { + return code.replace(/\[\\\!code/g, '[!code') + }, + }, + ] - return fillEmptyHighlightedLine(restoreMustache(highlighted)) + if (attributes.twoslash) { + inlineTransformers.push(transformerTwoSlash({ + renderer: rendererRich({ + classExtra: 'vp-copy-ignore', + }), + })) + } + + try { + const highlighted = highlighter.codeToHtml(str, { + lang, + transformers: [ + ...transformers, + ...inlineTransformers, + ...userTransformers, + ], + meta: { + __raw: rawAttrs, + }, + ...(typeof theme === 'object' && 'light' in theme && 'dark' in theme + ? { themes: theme, defaultColor: false } + : { theme }), + }) + + return restoreMustache(highlighted) + } + catch (e) { + logger.error(e) + return str + } } } diff --git a/plugins/plugin-shikiji/src/node/resolveAttrs.ts b/plugins/plugin-shikiji/src/node/resolveAttrs.ts new file mode 100644 index 00000000..ccb67ce8 --- /dev/null +++ b/plugins/plugin-shikiji/src/node/resolveAttrs.ts @@ -0,0 +1,43 @@ +const RE_ATTR_VALUE = /(?:^|\s+)(?[\w\d-]+)(?:=\s*(?['"])(?.+?)\k)?(?:\s+|$)/ +const RE_CODE_BLOCKS = /^[\w\d-]*(\s*:[\w\d-]*)?(\s*\{[\d\w-,\s]+\})?\s*/ + +export function resolveAttrs(info: string): { + attrs: Record + rawAttrs: string +} { + if (!info) + return { rawAttrs: '', attrs: {} } + info = info.replace(RE_CODE_BLOCKS, '').trim() + if (!info) + return { rawAttrs: '', attrs: {} } + + const attrs: Record = {} + const rawAttrs = info + + let matched: RegExpMatchArray | null + + // eslint-disable-next-line no-cond-assign + while (matched = info.match(RE_ATTR_VALUE)) { + const { attr, value } = matched.groups || {} + attrs[attr] = value ?? true + info = info.slice(matched[0].length) + } + + Object.keys(attrs).forEach((key) => { + let value = attrs[key] + value = typeof value === 'string' ? value.trim() : value + if (value === 'true') + value = true + else if (value === 'false') + value = false + + attrs[key] = value + + if (key.includes('-')) { + const _key = key.replace(/-(\w)/g, (_, c) => c.toUpperCase()) + attrs[_key] = value + } + }) + + return { attrs, rawAttrs } +} diff --git a/plugins/plugin-shikiji/src/node/shikijiPlugin.ts b/plugins/plugin-shikiji/src/node/shikijiPlugin.ts index a05df849..62645cd5 100644 --- a/plugins/plugin-shikiji/src/node/shikijiPlugin.ts +++ b/plugins/plugin-shikiji/src/node/shikijiPlugin.ts @@ -2,9 +2,6 @@ import type { Plugin } from '@vuepress/core' import { highlight } from './highlight.js' import type { HighlighterOptions } from './types' -/** - * Options of @vuepress/plugin-shiki - */ export type ShikijiPluginOptions = HighlighterOptions export function shikijiPlugin(options: ShikijiPluginOptions = {}): Plugin { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a52958e7..c3116754 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,11 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +patchedDependencies: + '@vuepress/markdown@2.0.0-rc.0': + hash: zvwmijlesxcdy3i4trojywcm7y + path: patches/@vuepress__markdown@2.0.0-rc.0.patch + importers: .: @@ -16,7 +21,7 @@ importers: version: 18.4.4 '@pengzhanbo/eslint-config-vue': specifier: ^1.5.3 - version: 1.5.3(@vue/compiler-sfc@3.4.5)(eslint@8.56.0)(typescript@5.3.3) + version: 1.5.3(@vue/compiler-sfc@3.4.7)(eslint@8.56.0)(typescript@5.3.3) '@pengzhanbo/stylelint-config': specifier: ^1.5.3 version: 1.5.3(stylelint@16.1.0) @@ -79,7 +84,7 @@ importers: version: 2.0.0-rc.0(@types/node@20.9.1)(sass@1.69.7)(typescript@5.3.3) '@vuepress/bundler-webpack': specifier: 2.0.0-rc.0 - version: 2.0.0-rc.0(@vue/compiler-sfc@3.4.5)(typescript@5.3.3) + version: 2.0.0-rc.0(@vue/compiler-sfc@3.4.7)(typescript@5.3.3) '@vuepress/cli': specifier: 2.0.0-rc.0 version: 2.0.0-rc.0(typescript@5.3.3) @@ -99,8 +104,8 @@ importers: specifier: ^13.3.3 version: 13.3.3(sass@1.69.7)(webpack@5.89.0) vue: - specifier: ^3.4.7 - version: 3.4.7(typescript@5.3.3) + specifier: ^3.4.10 + version: 3.4.10(typescript@5.3.3) vuepress-theme-plume: specifier: workspace:* version: link:../theme @@ -156,8 +161,8 @@ importers: specifier: ^1.0.1 version: 1.0.1 vue: - specifier: ^3.4.7 - version: 3.4.7(typescript@5.3.3) + specifier: ^3.4.10 + version: 3.4.10(typescript@5.3.3) plugins/plugin-caniuse: dependencies: @@ -190,11 +195,11 @@ importers: specifier: 2.0.0-rc.0 version: 2.0.0-rc.0 vue: - specifier: ^3.4.7 - version: 3.4.7(typescript@5.3.3) + specifier: ^3.4.10 + version: 3.4.10(typescript@5.3.3) vue-router: specifier: 4.2.5 - version: 4.2.5(vue@3.4.7) + version: 4.2.5(vue@3.4.10) plugins/plugin-copy-code: dependencies: @@ -214,14 +219,14 @@ importers: specifier: 2.0.0-rc.0 version: 2.0.0-rc.0 vue: - specifier: ^3.4.7 - version: 3.4.7(typescript@5.3.3) + specifier: ^3.4.10 + version: 3.4.10(typescript@5.3.3) plugins/plugin-iconify: dependencies: '@iconify/vue': specifier: ^4.1.1 - version: 4.1.1(vue@3.4.7) + version: 4.1.1(vue@3.4.10) '@vuepress/client': specifier: 2.0.0-rc.0 version: 2.0.0-rc.0(typescript@5.3.3) @@ -235,8 +240,8 @@ importers: specifier: 2.0.0-rc.0 version: 2.0.0-rc.0 vue: - specifier: ^3.4.7 - version: 3.4.7(typescript@5.3.3) + specifier: ^3.4.10 + version: 3.4.10(typescript@5.3.3) plugins/plugin-netlify-functions: dependencies: @@ -274,15 +279,15 @@ importers: specifier: ^8.0.1 version: 8.0.1 netlify-cli: - specifier: ^17.13.0 - version: 17.13.0(@types/node@20.10.8) + specifier: ^17.13.1 + version: 17.13.1(@types/node@20.11.0) portfinder: specifier: ^1.0.32 version: 1.0.32 devDependencies: '@types/node': - specifier: ^20.10.8 - version: 20.10.8 + specifier: ^20.11.0 + version: 20.11.0 plugins/plugin-notes-data: dependencies: @@ -308,8 +313,8 @@ importers: specifier: ^1.0.1 version: 1.0.1 vue: - specifier: ^3.4.7 - version: 3.4.7(typescript@5.3.3) + specifier: ^3.4.10 + version: 3.4.10(typescript@5.3.3) plugins/plugin-page-collection: dependencies: @@ -332,11 +337,11 @@ importers: specifier: ^4.15.2 version: 4.15.2 vue: - specifier: ^3.4.7 - version: 3.4.7(typescript@5.3.3) + specifier: ^3.4.10 + version: 3.4.10(typescript@5.3.3) vue-router: specifier: 4.2.5 - version: 4.2.5(vue@3.4.7) + version: 4.2.5(vue@3.4.10) vuepress-plugin-netlify-functions: specifier: workspace:* version: link:../plugin-netlify-functions @@ -361,6 +366,9 @@ importers: shikiji-transformers: specifier: ^0.9.18 version: 0.9.18 + shikiji-twoslash: + specifier: ^0.9.18 + version: 0.9.18(typescript@5.3.3) theme: dependencies: @@ -441,7 +449,7 @@ importers: version: 2.0.0-rc.0 '@vueuse/core': specifier: ^10.7.1 - version: 10.7.1(vue@3.4.7) + version: 10.7.1(vue@3.4.10) date-fns: specifier: ^3.2.0 version: 3.2.0 @@ -455,11 +463,11 @@ importers: specifier: ^5.0.4 version: 5.0.4 vue: - specifier: ^3.4.7 - version: 3.4.7(typescript@5.3.3) + specifier: ^3.4.10 + version: 3.4.10(typescript@5.3.3) vue-router: specifier: 4.2.5 - version: 4.2.5(vue@3.4.7) + version: 4.2.5(vue@3.4.10) vuepress-plugin-comment2: specifier: 2.0.0-rc.10 version: 2.0.0-rc.10(typescript@5.3.3) @@ -666,15 +674,6 @@ packages: dependencies: regenerator-runtime: 0.13.11 - /@babel/types@7.23.4: - resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: false - /@babel/types@7.23.5: resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==} engines: {node: '>=6.9.0'} @@ -1888,47 +1887,6 @@ packages: readable-stream: 4.3.0 dev: false - /@grpc/grpc-js@1.8.20: - resolution: {integrity: sha512-SPse1wE4PcIFojOISsAnrWXCBsCBwDdcDqz2SS0T8nBSxg9jwmCK70Jy7ypRn2nIspwLy3Ls5TNaKNHo+6dF8A==} - engines: {node: ^8.13.0 || >=10.10.0} - dependencies: - '@grpc/proto-loader': 0.7.8 - '@types/node': 20.10.8 - dev: false - - /@grpc/proto-loader@0.7.8: - resolution: {integrity: sha512-GU12e2c8dmdXb7XUlOgYWZ2o2i+z9/VeACkxTA/zzAe2IjclC5PnVL0lpgjhrqfpDYHzM8B1TF6pqWegMYAzlA==} - engines: {node: '>=6'} - hasBin: true - dependencies: - '@types/long': 4.0.2 - lodash.camelcase: 4.3.0 - long: 4.0.0 - protobufjs: 7.2.4 - yargs: 17.7.2 - dev: false - - /@honeycombio/opentelemetry-node@0.5.0(debug@4.3.4)(supports-color@9.2.2): - resolution: {integrity: sha512-bAg//j0Lh0SFC0LhUrrgpO4FVScOBDt+my4YXeIo9lHi1aXXn6meaB/ycecjVfjyQLaGYWKPKu2C66rTgKIzMQ==} - engines: {node: '>=14'} - dependencies: - '@grpc/grpc-js': 1.8.20 - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.18.0(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-metrics-otlp-grpc': 0.41.2(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-metrics-otlp-proto': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-trace-otlp-grpc': 0.41.2(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-trace-otlp-proto': 0.41.2(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-metrics': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-node': 0.39.1(@opentelemetry/api@1.4.1)(supports-color@9.2.2) - '@opentelemetry/sdk-trace-base': 1.15.2(@opentelemetry/api@1.4.1) - axios: 1.4.0(debug@4.3.4) - transitivePeerDependencies: - - debug - - supports-color - dev: false - /@humanwhocodes/config-array@0.11.13: resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} engines: {node: '>=10.10.0'} @@ -1972,13 +1930,13 @@ packages: resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} dev: false - /@iconify/vue@4.1.1(vue@3.4.7): + /@iconify/vue@4.1.1(vue@3.4.10): resolution: {integrity: sha512-RL85Bm/DAe8y6rT6pux7D2FJSiUEM/TPfyK7GrbAOfTSwrhvwJW+S5yijdGcmtXouA8MtuH9C7l4hiSE4mLMjg==} peerDependencies: vue: '>=3' dependencies: '@iconify/types': 2.0.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false /@import-maps/resolve@1.0.1: @@ -2006,7 +1964,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 '@types/yargs': 16.0.4 chalk: 4.1.2 dev: false @@ -2511,8 +2469,8 @@ packages: engines: {node: ^14.16.0 || >=16.0.0} dev: false - /@netlify/build-info@7.11.3: - resolution: {integrity: sha512-lnJsJcoFSZIIB+4tOU/rdPjPn2+TP896B9y23z5THyACeN/e2I0Y7Y+d+BzHgFDcJBwqFpIehEs2jf8wPb9CHw==} + /@netlify/build-info@7.11.4: + resolution: {integrity: sha512-4TvH/oIzow6wlpw+6wGsEyoApws1lzXNxwpArgSS5roCCWZ2NvoF1m7dsTEy+bN1bl1XkwOlK3L6YBJzs4khtg==} engines: {node: ^14.16.0 || >=16.0.0} hasBin: true dependencies: @@ -2527,30 +2485,29 @@ packages: yargs: 17.7.2 dev: false - /@netlify/build@29.31.0(@types/node@20.10.8)(debug@4.3.4): - resolution: {integrity: sha512-XtUXnj3LtdWxcgP4kz1k0creF9bZa7eGNh85B89sw4V99Mtsn1Sl89yAZJkEH6rtuGJIs1eiQ261nlhUZ6+C6Q==} + /@netlify/build@29.31.5(@types/node@20.11.0): + resolution: {integrity: sha512-NycFWMdCjCd0mPvWLpJucWzEedrxQSzeeMftA7lP00j3lGVRxqy+5WGfMGjEhAq6GNHTBoYUKTxdEeFJv3wesA==} engines: {node: ^14.16.0 || >=16.0.0} hasBin: true peerDependencies: - '@netlify/opentelemetry-sdk-setup': ^1.0.1 + '@netlify/opentelemetry-sdk-setup': ^1.0.2 peerDependenciesMeta: '@netlify/opentelemetry-sdk-setup': optional: true dependencies: '@bugsnag/js': 7.20.2 - '@honeycombio/opentelemetry-node': 0.5.0(debug@4.3.4)(supports-color@9.2.2) '@netlify/blobs': 6.3.1 '@netlify/cache-utils': 5.1.5 - '@netlify/config': 20.10.0 + '@netlify/config': 20.10.1 '@netlify/edge-bundler': 10.1.3(supports-color@9.2.2) '@netlify/framework-info': 9.8.10 '@netlify/functions-utils': 5.2.46(supports-color@9.2.2) '@netlify/git-utils': 5.1.1 - '@netlify/plugins-list': 6.72.0 + '@netlify/opentelemetry-utils': 1.0.1 + '@netlify/plugins-list': 6.74.0 '@netlify/run-utils': 5.1.1 - '@netlify/zip-it-and-ship-it': 9.28.1(supports-color@9.2.2) - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.18.0(@opentelemetry/api@1.4.1) + '@netlify/zip-it-and-ship-it': 9.28.2(supports-color@9.2.2) + '@opentelemetry/api': 1.6.0 '@sindresorhus/slugify': 2.1.0 ansi-escapes: 6.2.0 chalk: 5.3.0 @@ -2592,7 +2549,7 @@ packages: strip-ansi: 7.1.0 supports-color: 9.2.2 terminal-link: 3.0.0 - ts-node: 10.9.2(@types/node@20.10.8)(typescript@5.3.3) + ts-node: 10.9.2(@types/node@20.11.0)(typescript@5.3.3) typescript: 5.3.3 uuid: 9.0.0 yargs: 17.7.2 @@ -2600,7 +2557,6 @@ packages: - '@swc/core' - '@swc/wasm' - '@types/node' - - debug - encoding - picomatch dev: false @@ -2619,8 +2575,8 @@ packages: readdirp: 3.6.0 dev: false - /@netlify/config@20.10.0: - resolution: {integrity: sha512-7CNoL5IPSRBzDVzxuQgltZ71D/vZ/oYR29sfN8EXjAFOZPSLtnZgborcPa9V9BXLN4N5h0hFp2A26lnnCttEFg==} + /@netlify/config@20.10.1: + resolution: {integrity: sha512-ZKNdJAeDs7c9Z5OERoW75ZLeU2NZOS4WjD87IEVjDDYg020A9RcvJBZtc4ZKeF8TaJlYhlRlet6xX2AwOL1gNA==} engines: {node: ^14.16.0 || >=16.0.0} hasBin: true dependencies: @@ -2637,9 +2593,9 @@ packages: is-plain-obj: 4.1.0 js-yaml: 4.1.0 map-obj: 5.0.2 - netlify: 13.1.11 - netlify-headers-parser: 7.1.2 - netlify-redirect-parser: 14.2.0 + netlify: 13.1.12 + netlify-headers-parser: 7.1.3 + netlify-redirect-parser: 14.2.1 node-fetch: 3.3.2 omit.js: 2.0.2 p-locate: 6.0.0 @@ -2897,8 +2853,15 @@ packages: resolution: {integrity: sha512-B7q+ySzQm6rJhaGbY0Pzqnb1p3FsBqwiPLnLtA17JgTsqmXgQ7j6OQImW9fRJy/Al1ob9M6Oxng/FA2c7aIW1g==} dev: false - /@netlify/plugins-list@6.72.0: - resolution: {integrity: sha512-GB3HxvUmOAkB6V3Tau7iQT7aH2NssmQHAgHWMrdD7pDfjcU6Vg0WcQfOWovjx2Bh6M0urOsJkBboX2egCuicEQ==} + /@netlify/opentelemetry-utils@1.0.1: + resolution: {integrity: sha512-mL8vhn4tUpdkHg1+WuqEhguULNeN0kQWZtel6lFEEZ36G41Vxm1gv6n7RcOanNLHxQEnaLS4J8zRVUSuwj6iTQ==} + engines: {node: '>=18.0.0'} + dependencies: + '@opentelemetry/api': 1.6.0 + dev: false + + /@netlify/plugins-list@6.74.0: + resolution: {integrity: sha512-cWZ9vQ0LgKowjlSG4vkLAQ+P41aB8KFrRRId2WCvYeK3g2pUJpseceZtYzTuQvvsOtBZh5qVkqRz1Ye/AfSP+A==} engines: {node: ^14.14.0 || >=16.0.0} dev: false @@ -2925,49 +2888,6 @@ packages: urlpattern-polyfill: 8.0.2 dev: false - /@netlify/zip-it-and-ship-it@9.28.1(supports-color@9.2.2): - resolution: {integrity: sha512-cihW7K9JvlhcrhbdUO9Rhe0r5pydKr8HL++4A2/J7S4Vzl3KftBHyS7O/2Vh54+u3aMon6m4CDXWwErSwjjLNQ==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.4 - '@netlify/binary-info': 1.0.0 - '@netlify/serverless-functions-api': 1.13.0 - '@vercel/nft': 0.23.0(supports-color@9.2.2) - archiver: 6.0.1 - common-path-prefix: 3.0.0 - cp-file: 10.0.0 - es-module-lexer: 1.2.1 - esbuild: 0.19.6 - 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.3 - 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.5.4 - tmp-promise: 3.0.3 - toml: 3.0.0 - unixify: 1.0.0 - urlpattern-polyfill: 8.0.2 - yargs: 17.7.2 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - /@netlify/zip-it-and-ship-it@9.28.2(supports-color@9.2.2): resolution: {integrity: sha512-tNv/SXjoWWwrO22fYSxYsB7oIs/h0MDYNnoy8tt/X1AyFF0qIF+7ppNZCwNzh6QGVkGwDHPRz2c6HL2k+pZLIg==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3160,507 +3080,11 @@ packages: '@octokit/openapi-types': 17.2.0 dev: false - /@opentelemetry/api-logs@0.39.1: - resolution: {integrity: sha512-9BJ8lMcOzEN0lu+Qji801y707oFO4xT3db6cosPvl+k7ItUHKN5ofWqtSbM9gbt1H4JJ/4/2TVrqI9Rq7hNv6Q==} - engines: {node: '>=14'} - dependencies: - '@opentelemetry/api': 1.4.1 - dev: false - - /@opentelemetry/api-logs@0.41.2: - resolution: {integrity: sha512-JEV2RAqijAFdWeT6HddYymfnkiRu2ASxoTBr4WsnGJhOjWZkEy6vp+Sx9ozr1NaIODOa2HUyckExIqQjn6qywQ==} - engines: {node: '>=14'} - dependencies: - '@opentelemetry/api': 1.4.1 - dev: false - - /@opentelemetry/api@1.4.1: - resolution: {integrity: sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==} + /@opentelemetry/api@1.6.0: + resolution: {integrity: sha512-OWlrQAnWn9577PhVgqjUvMr1pg57Bc4jv0iL4w0PRuOSRvq67rvHW9Ie/dZVMvCzhSCB+UxhcY/PmCmFj33Q+g==} engines: {node: '>=8.0.0'} dev: false - /@opentelemetry/context-async-hooks@1.13.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-pS5fU4lrRjOIPZQqA2V1SUM9QUFXbO+8flubAiy6ntLjnAjJJUdRFOUOxK6v86ZHI2p2S8A0vD0BTu95FZYvjA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - dev: false - - /@opentelemetry/core@1.13.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-2dBX3Sj99H96uwJKvc2w9NOiNgbvAO6mOFJFramNkKfS9O4Um+VWgpnlAazoYjT6kUJ1MP70KQ5ngD4ed+4NUw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/semantic-conventions': 1.13.0 - dev: false - - /@opentelemetry/core@1.15.2(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/semantic-conventions': 1.15.2 - dev: false - - /@opentelemetry/core@1.18.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-PCW0UCIazJRw4Q8m3Z1A20kJqKTCB4Ob02bFjov3sHozspHGnY21O7T8Q20XKe168N4Px+n7Mt4dkcay3fy92Q==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/semantic-conventions': 1.18.0 - dev: false - - /@opentelemetry/exporter-jaeger@1.13.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-ke/STs/erRDqKmNv6Dv+5SetXsVD+Zm1/Wo8cLdAGrZn6kG6Fyp5EXVO/BJuzx6q+jHCdODm8jV4veXl4m71nQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.13.0 - jaeger-client: 3.19.0 - dev: false - - /@opentelemetry/exporter-metrics-otlp-grpc@0.41.2(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-gQuCcd5QSMkfi1XIriWAoak/vaRvFzpvtzh2hjziIvbnA3VtoGD3bDb2dzEzOA1iSWO0/tHwnBsSmmUZsETyOA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - dependencies: - '@grpc/grpc-js': 1.8.20 - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-metrics-otlp-http': 0.41.2(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-grpc-exporter-base': 0.41.2(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.41.2(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-metrics': 1.15.2(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/exporter-metrics-otlp-http@0.39.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-Uj2i6t5v9aexV03xvVobwLV0Yxn7lQcCxBGN5KKxcs8BTZYSfjdwhrFjsOxvEQ2cXugL0aIzCuTKxrlXYTmFwA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-metrics': 1.13.0(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/exporter-metrics-otlp-http@0.41.2(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-+YeIcL4nuldWE89K8NBLImpXCvih04u1MBnn8EzvoywG2TKR5JC3CZEPepODIxlsfGSgP8W5khCEP1NHZzftYw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.41.2(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.41.2(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-metrics': 1.15.2(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/exporter-metrics-otlp-proto@0.39.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-S+FgIhmZiFMsUivtAlCyzf3L5ezPyCqvlzt4hSZmiKs0kqapau1HS4cSpGacs9Jy499TRSNtqfjj7GxZrNIevw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-metrics-otlp-http': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-proto-exporter-base': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-metrics': 1.13.0(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/exporter-trace-otlp-grpc@0.39.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-l5RhLKx6U+yuLhMrtgavTDthX50E1mZM3/SSySC7OPZiArFHV/b/9x9jxAzrOgIQUDxyj4N0V9aLKSA2t7Qzxg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@grpc/grpc-js': 1.8.20 - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-grpc-exporter-base': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.13.0(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/exporter-trace-otlp-grpc@0.41.2(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-tRM/mq7PFj7mXCws5ICMVp/rmgU93JvZdoLE0uLj4tugNz231u2ZgeRYXulBjdeHM88ZQSsWTJMu2mvr/3JV1A==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@grpc/grpc-js': 1.8.20 - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-grpc-exporter-base': 0.41.2(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.41.2(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.15.2(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/exporter-trace-otlp-http@0.39.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-AEhnJfVmo1g+7NxszAuf3c6vddld2DGH2+IM4XrPxCklucCsIpuStuC5EVZbCXXXBMpAY+n3t04QMxIQqNrcSw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.13.0(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/exporter-trace-otlp-proto@0.39.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-oJQC7a67iwExRYynKqn/O9Fl5gUjDa43ZQsZu2iKAADs/6YJ+u5MJ/wcq3CpJsn2KU/8j8HWAKOcDkkQXPuJ9A==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-proto-exporter-base': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.13.0(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/exporter-trace-otlp-proto@0.41.2(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-IGZga9IIckqYE3IpRE9FO9G5umabObIrChlXUHYpMJtDgx797dsb3qXCvLeuAwB+HoB8NsEZstlzmLnoa6/HmA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.41.2(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-proto-exporter-base': 0.41.2(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.41.2(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.15.2(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/exporter-zipkin@1.13.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-4IuUmYEhlHm8tAGtd6KKkktEO9Bt7dpdBdAPVAzhmXsPwGi0yExo7E5qfi9HtHQcdfP9SnrGRkeorVtrZkGlhg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.13.0 - dev: false - - /@opentelemetry/instrumentation@0.39.1(@opentelemetry/api@1.4.1)(supports-color@9.2.2): - resolution: {integrity: sha512-s7/9tPmM0l5KCd07VQizC4AO2/5UJdkXq5gMSHPdCeiMKSeBEdyDyQX7A+Cq+RYZM452qzFmrJ4ut628J5bnSg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.3.0 - dependencies: - '@opentelemetry/api': 1.4.1 - require-in-the-middle: 7.2.0(supports-color@9.2.2) - semver: 7.5.4 - shimmer: 1.2.1 - transitivePeerDependencies: - - supports-color - dev: false - - /@opentelemetry/otlp-exporter-base@0.39.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-Pv5X8fbi6jD/RJBePyn7MnCSuE6MbPB6dl+7YYBWJ5RcMGYMwvLXjd4h2jWsPV2TSUg38H/RoSP0aXvQ06Y7iw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/otlp-exporter-base@0.41.2(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-pfwa6d+Dax3itZcGWiA0AoXeVaCuZbbqUTsCtOysd2re8C2PWXNxDONUfBWsn+KgxAdi+ljwTjJGiaVLDaIEvQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/otlp-grpc-exporter-base@0.39.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-u3ErFRQqQFKjjIMuwLWxz/tLPYInfmiAmSy//fGSCzCh2ZdJgqQjMOAxBgqFtCF2xFL+OmMhyuC2ThMzceGRWA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@grpc/grpc-js': 1.8.20 - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.39.1(@opentelemetry/api@1.4.1) - protobufjs: 7.2.4 - dev: false - - /@opentelemetry/otlp-grpc-exporter-base@0.41.2(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-OErK8dYjXG01XIMIpmOV2SzL9ctkZ0Nyhf2UumICOAKtgLvR5dG1JMlsNVp8Jn0RzpsKc6Urv7JpP69wzRXN+A==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@grpc/grpc-js': 1.8.20 - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.41.2(@opentelemetry/api@1.4.1) - protobufjs: 7.2.4 - dev: false - - /@opentelemetry/otlp-proto-exporter-base@0.39.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-VssdfGYu6LkSliQATdkvoP8lPSQuNLENRdHTUOV2veF4iqY/UpxBFFlkarY29W+MYjWXIBfYntgNjQvcn78A+w==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.39.1(@opentelemetry/api@1.4.1) - protobufjs: 7.2.4 - dev: false - - /@opentelemetry/otlp-proto-exporter-base@0.41.2(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-BxmEMiP6tHiFroe5/dTt9BsxCci7BTLtF7A6d4DKHLiLweWWZxQ9l7hON7qt/IhpKrQcAFD1OzZ1Gq2ZkNzhCw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.41.2(@opentelemetry/api@1.4.1) - protobufjs: 7.2.4 - dev: false - - /@opentelemetry/otlp-transformer@0.39.1(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-0hgVnXXz5efI382B/24NxD4b6Zxlh7nxCdJkxkdmQMbn0yRiwoq/ZT+QG8eUL6JNzsBAV1WJlF5aJNsL8skHvw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.39.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-logs': 0.39.1(@opentelemetry/api-logs@0.39.1)(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-metrics': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.13.0(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/otlp-transformer@0.41.2(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-jJbPwB0tNu2v+Xi0c/v/R3YBLJKLonw1p+v3RVjT2VfzeUyzSp/tBeVdY7RZtL6dzZpA9XSmp8UEfWIFQo33yA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.41.2 - '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-logs': 0.41.2(@opentelemetry/api-logs@0.41.2)(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-metrics': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.15.2(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/propagator-b3@1.13.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-HOo91EI4UbuG8xQVLFziTzrcIn0MJQhy8m9jorh8aonb94jFVFi3CFNIiAnIGOabmnshJLOABxpYXsiPB8Xnzg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/propagator-jaeger@1.13.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-IV9TO+u1Jzm9mUDAD3gyXf89eyvgEJUY1t+GB5QmS4wjVeWrSMUtD0JjH3yG9SNqkrQOqOGJq7YUSSetW+Lf5Q==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/resources@1.13.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-euqjOkiN6xhjE//0vQYGvbStxoD/WWQRhDiO0OTLlnLBO9Yw2Gd/VoSx2H+svsebjzYk5OxLuREBmcdw6rbUNg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.13.0 - dev: false - - /@opentelemetry/resources@1.15.2(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-xmMRLenT9CXmm5HMbzpZ1hWhaUowQf8UB4jMjFlAxx1QzQcsD3KFNAVX/CAWzFPtllTyTplrA4JrQ7sCH3qmYw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.15.2 - dev: false - - /@opentelemetry/sdk-logs@0.39.1(@opentelemetry/api-logs@0.39.1)(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-/gmgKfZ1ZVFporKuwsewqIyvaUIGpv76JZ7lBpHQQPb37IMpaXO6pdqFI4ebHAWfNIm3akMyhmdtzivcgF3lgw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.4.0 <1.5.0' - '@opentelemetry/api-logs': '>=0.38.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.39.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/sdk-logs@0.41.2(@opentelemetry/api-logs@0.41.2)(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-smqKIw0tTW15waj7BAPHFomii5c3aHnSE4LQYTszGoK5P9nZs8tEAIpu15UBxi3aG31ZfsLmm4EUQkjckdlFrw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.4.0 <1.5.0' - '@opentelemetry/api-logs': '>=0.39.1' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.41.2 - '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.15.2(@opentelemetry/api@1.4.1) - dev: false - - /@opentelemetry/sdk-metrics@1.13.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-MOjZX6AnSOqLliCcZUrb+DQKjAWXBiGeICGbHAGe5w0BB18PJIeIo995lO5JSaFfHpmUMgJButTPfJJD27W3Vg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - lodash.merge: 4.6.2 - dev: false - - /@opentelemetry/sdk-metrics@1.15.2(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-9aIlcX8GnhcsAHW/Wl8bzk4ZnWTpNlLtud+fxUfBtFATu6OZ6TrGrF4JkT9EVrnoxwtPIDtjHdEsSjOqisY/iA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.15.2(@opentelemetry/api@1.4.1) - lodash.merge: 4.6.2 - dev: false - - /@opentelemetry/sdk-node@0.39.1(@opentelemetry/api@1.4.1)(supports-color@9.2.2): - resolution: {integrity: sha512-qODReBGNSdfRS5gvCFj1SdiIi/3ZFTZb0H1KvWE/OrTkklyL5RhIs7vDwvEGHmha+YpUu0Y2+R2+itSBSu/jCA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-jaeger': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-trace-otlp-grpc': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-trace-otlp-http': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-trace-otlp-proto': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-zipkin': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/instrumentation': 0.39.1(@opentelemetry/api@1.4.1)(supports-color@9.2.2) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-metrics': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-node': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.13.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@opentelemetry/sdk-trace-base@1.13.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-moTiQtc0uPR1hQLt6gLDJH9IIkeBhgRb71OKjNHZPE1VF45fHtD6nBDi5J/DkTHTwYP5X3kBJLa3xN7ub6J4eg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.13.0 - dev: false - - /@opentelemetry/sdk-trace-base@1.15.2(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-BEaxGZbWtvnSPchV98qqqqa96AOcb41pjgvhfzDij10tkBhIu9m0Jd6tZ1tJB5ZHfHbTffqYVYE0AOGobec/EQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.15.2(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.15.2 - dev: false - - /@opentelemetry/sdk-trace-node@1.13.0(@opentelemetry/api@1.4.1): - resolution: {integrity: sha512-FXA85lXKTsnbOflA/TBuBf2pmhD3c8uDjNjG0YqK+ap8UayfALmfJhf+aG1yBOUHevCY0JXJ4/xtbXExxpsMog==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.5.0' - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/context-async-hooks': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/propagator-b3': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/propagator-jaeger': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.13.0(@opentelemetry/api@1.4.1) - semver: 7.5.4 - dev: false - - /@opentelemetry/semantic-conventions@1.13.0: - resolution: {integrity: sha512-LMGqfSZkaMQXqewO0o1wvWr/2fQdCh4a3Sqlxka/UsJCe0cfLulh6x2aqnKLnsrSGiCq5rSCwvINd152i0nCqw==} - engines: {node: '>=14'} - dev: false - - /@opentelemetry/semantic-conventions@1.15.2: - resolution: {integrity: sha512-CjbOKwk2s+3xPIMcd5UNYQzsf+v94RczbdNix9/kQh38WiQkM90sUOi3if8eyHFgiBjBjhwXrA7W3ydiSQP9mw==} - engines: {node: '>=14'} - dev: false - - /@opentelemetry/semantic-conventions@1.18.0: - resolution: {integrity: sha512-Bxtd+h2+rBv3XBHZaoXq133/hzgAQvbl2Kg5a9cG4ozfiUJHC9Xkblt7PrLc9CbzwWQpSxUxWoZJHXT3lUlkOw==} - engines: {node: '>=14'} - dev: false - /@parcel/watcher-android-arm64@2.3.0: resolution: {integrity: sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==} engines: {node: '>= 10.0.0'} @@ -3803,7 +3227,7 @@ packages: '@parcel/watcher-win32-x64': 2.3.0 dev: false - /@pengzhanbo/eslint-config-vue@1.5.3(@vue/compiler-sfc@3.4.5)(eslint@8.56.0)(typescript@5.3.3): + /@pengzhanbo/eslint-config-vue@1.5.3(@vue/compiler-sfc@3.4.7)(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-5QdiHebq5wQGLBC1nZKJGK4rjB1fMM3RcWWLNBn2NqbYMOKRllj9CVrnHvjhKoO9KTUNV89doRDBmnIIQoortA==} peerDependencies: '@unocss/eslint-plugin': '>=0.50.0' @@ -3820,7 +3244,7 @@ packages: eslint: 8.56.0 eslint-merge-processors: 0.1.0(eslint@8.56.0) eslint-plugin-vue: 9.19.2(eslint@8.56.0) - eslint-processor-vue-blocks: 0.1.1(@vue/compiler-sfc@3.4.5)(eslint@8.56.0) + eslint-processor-vue-blocks: 0.1.1(@vue/compiler-sfc@3.4.7)(eslint@8.56.0) vue-eslint-parser: 9.3.2(eslint@8.56.0) transitivePeerDependencies: - '@vue/compiler-sfc' @@ -3939,49 +3363,6 @@ packages: config-chain: 1.1.13 dev: false - /@protobufjs/aspromise@1.1.2: - resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} - dev: false - - /@protobufjs/base64@1.1.2: - resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} - dev: false - - /@protobufjs/codegen@2.0.4: - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} - dev: false - - /@protobufjs/eventemitter@1.1.0: - resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} - dev: false - - /@protobufjs/fetch@1.1.0: - resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/inquire': 1.1.0 - dev: false - - /@protobufjs/float@1.0.2: - resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} - dev: false - - /@protobufjs/inquire@1.1.0: - resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} - dev: false - - /@protobufjs/path@1.1.2: - resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} - dev: false - - /@protobufjs/pool@1.1.0: - resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} - dev: false - - /@protobufjs/utf8@1.1.0: - resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - dev: false - /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -4248,26 +3629,26 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/bonjour@3.5.10: resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/connect-history-api-fallback@1.3.5: resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} dependencies: '@types/express-serve-static-core': 4.17.33 - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/cookiejar@2.1.2: @@ -4301,7 +3682,7 @@ packages: /@types/express-serve-static-core@4.17.33: resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: false @@ -4319,7 +3700,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/hash-sum@1.0.2: @@ -4337,7 +3718,7 @@ packages: /@types/http-proxy@1.17.9: resolution: {integrity: sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/istanbul-lib-coverage@2.0.4: @@ -4362,7 +3743,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/katex@0.16.7: @@ -4382,8 +3763,11 @@ packages: resolution: {integrity: sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==} dev: true - /@types/long@4.0.2: - resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} + /@types/lz-string@1.5.0: + resolution: {integrity: sha512-s84fKOrzqqNCAPljhVyC5TjAo6BH4jKHw9NRNFNiRUY5QSgZCmVm5XILlWbisiKl+0OcS7eWihmKGS5akc2iQw==} + deprecated: This is a stub types definition. lz-string provides its own type definitions, so you do not need this installed. + dependencies: + lz-string: 1.5.0 dev: false /@types/markdown-it-emoji@2.0.4: @@ -4422,8 +3806,8 @@ packages: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: false - /@types/node@20.10.8: - resolution: {integrity: sha512-f8nQs3cLxbAFc00vEU59yf9UyGUftkPaLGfvbVOIDdx2i1b8epBqj2aNGyP19fiyXWvlmZ7qC1XLjAzw/OKIeA==} + /@types/node@20.11.0: + resolution: {integrity: sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==} dependencies: undici-types: 5.26.5 @@ -4454,7 +3838,7 @@ packages: /@types/sax@1.2.4: resolution: {integrity: sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/semver@7.5.0: @@ -4471,13 +3855,13 @@ packages: resolution: {integrity: sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==} dependencies: '@types/mime': 3.0.0 - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/sockjs@0.3.33: resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/superagent@4.1.15: @@ -4485,7 +3869,7 @@ packages: deprecated: '[WARNING] Use 4.1.14 instead of 4.1.15, reason: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/58445' dependencies: '@types/cookiejar': 2.1.2 - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/trusted-types@2.0.2: @@ -4506,13 +3890,13 @@ packages: /@types/ws@7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/ws@8.5.5: resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/yargs-parser@21.0.0: @@ -4529,7 +3913,7 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false optional: true @@ -4699,6 +4083,28 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@typescript/twoslash@3.2.4(typescript@5.3.3): + resolution: {integrity: sha512-/TCIOuPQaKltzUUT1qJo6mplYwjbAxkaSFvkeZD3FeFt3Ovt+HJi8xisu8rcLyDRmM3VJ0+jAx+AAICwn4Zlhw==} + peerDependencies: + typescript: '*' + dependencies: + '@types/lz-string': 1.5.0 + '@typescript/vfs': 1.5.0 + debug: 4.3.4(supports-color@9.2.2) + lz-string: 1.5.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript/vfs@1.5.0: + resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==} + dependencies: + debug: 4.3.4(supports-color@9.2.2) + transitivePeerDependencies: + - supports-color + dev: false + /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true @@ -4745,7 +4151,7 @@ packages: - supports-color dev: false - /@vitejs/plugin-vue@4.5.0(vite@5.0.11)(vue@3.4.7): + /@vitejs/plugin-vue@4.5.0(vite@5.0.11)(vue@3.4.10): resolution: {integrity: sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -4753,17 +4159,18 @@ packages: vue: ^3.2.25 dependencies: vite: 5.0.11(@types/node@20.9.1)(sass@1.69.7) - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false - /@vue/compiler-core@3.4.5: - resolution: {integrity: sha512-Daka7P1z2AgKjzuueWXhwzIsKu0NkLB6vGbNVEV2iJ8GJTrzraZo/Sk4GWCMRtd/qVi3zwnk+Owbd/xSZbwHtQ==} + /@vue/compiler-core@3.4.10: + resolution: {integrity: sha512-53vxh7K9qbx+JILnGEhrFRyr7H7e4NdT8RuTNU3m6HhJKFvcAqFTNXpYMHnyuAzzRGdsbsYHBgQC3H6xEXTG6w==} dependencies: '@babel/parser': 7.23.6 - '@vue/shared': 3.4.5 + '@vue/shared': 3.4.10 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 + dev: false /@vue/compiler-core@3.4.7: resolution: {integrity: sha512-hhCaE3pTMrlIJK7M/o3Xf7HV8+JoNTGOQ/coWS+V+pH6QFFyqtoXqQzpqsNp7UK17xYKua/MBiKj4e1vgZOBYw==} @@ -4773,33 +4180,33 @@ packages: entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 - dev: false - /@vue/compiler-dom@3.4.5: - resolution: {integrity: sha512-J8YlxknJVd90SXFJ4HwGANSAXsx5I0lK30sO/zvYV7s5gXf7gZR7r/1BmZ2ju7RGH1lnc6bpBc6nL61yW+PsAQ==} + /@vue/compiler-dom@3.4.10: + resolution: {integrity: sha512-QAALBJksIFpXGYuo74rtMgnwpVZDvd3kYbUa4gYX9s/5QiqEvZSgbKtOdUGydXcxKPt3ifC+0/bhPVHXN2694A==} dependencies: - '@vue/compiler-core': 3.4.5 - '@vue/shared': 3.4.5 + '@vue/compiler-core': 3.4.10 + '@vue/shared': 3.4.10 + dev: false /@vue/compiler-dom@3.4.7: resolution: {integrity: sha512-qDKBAIurCTub4n/6jDYkXwgsFuriqqmmLrIq1N2QDfYJA/mwiwvxi09OGn28g+uDdERX9NaKDLji0oTjE3sScg==} dependencies: '@vue/compiler-core': 3.4.7 '@vue/shared': 3.4.7 - dev: false - /@vue/compiler-sfc@3.4.5: - resolution: {integrity: sha512-jauvkDuSSUbP0ebhfNqljhShA90YEfX/0wZ+w40oZF43IjGyWYjqYaJbvMJwGOd+9+vODW6eSvnk28f0SGV7OQ==} + /@vue/compiler-sfc@3.4.10: + resolution: {integrity: sha512-sTOssaQySgrMjrhZxmAqdp6n+E51VteIVIDaOR537H2P63DyzMmig21U0XXFxiXmMIfrK91lAInnc+bIAYemGw==} dependencies: '@babel/parser': 7.23.6 - '@vue/compiler-core': 3.4.5 - '@vue/compiler-dom': 3.4.5 - '@vue/compiler-ssr': 3.4.5 - '@vue/shared': 3.4.5 + '@vue/compiler-core': 3.4.10 + '@vue/compiler-dom': 3.4.10 + '@vue/compiler-ssr': 3.4.10 + '@vue/shared': 3.4.10 estree-walker: 2.0.2 magic-string: 0.30.5 postcss: 8.4.33 source-map-js: 1.0.2 + dev: false /@vue/compiler-sfc@3.4.7: resolution: {integrity: sha512-Gec6CLkReVswDYjQFq79O5rktri4R7TsD/VPCiUoJw40JhNNxaNJJa8mrQrWoJluW4ETy6QN0NUyC/JO77OCOw==} @@ -4813,71 +4220,70 @@ packages: magic-string: 0.30.5 postcss: 8.4.33 source-map-js: 1.0.2 - dev: false - /@vue/compiler-ssr@3.4.5: - resolution: {integrity: sha512-DDdEcDzj2lWTMfUMMtEpLDhURai9LhM0zSZ219jCt7b2Vyl0/jy3keFgCPMitG0V1S1YG4Cmws3lWHWdxHQOpg==} + /@vue/compiler-ssr@3.4.10: + resolution: {integrity: sha512-Y90TL1abretWbUiK5rv+9smS1thCHE5sSuhZgiLh6cxgZ2Pcy3BEvDd3reID0iwNcTdMbTeE6NI3Aq4Mux6hqQ==} dependencies: - '@vue/compiler-dom': 3.4.5 - '@vue/shared': 3.4.5 + '@vue/compiler-dom': 3.4.10 + '@vue/shared': 3.4.10 + dev: false /@vue/compiler-ssr@3.4.7: resolution: {integrity: sha512-PvYeSOvnCkST5mGS0TLwEn5w+4GavtEn6adcq8AspbHaIr+mId5hp7cG3ASy3iy8b+LuXEG2/QaV/nj5BQ/Aww==} dependencies: '@vue/compiler-dom': 3.4.7 '@vue/shared': 3.4.7 - dev: false /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} dev: false - /@vue/reactivity@3.4.7: - resolution: {integrity: sha512-F539DO0ogH0+L8F9Pnw7cjqibcmSOh5UTk16u5f4MKQ8fraqepI9zdh+sozPX6VmEHOcjo8qw3Or9ZcFFw4SZA==} + /@vue/reactivity@3.4.10: + resolution: {integrity: sha512-SmGGpo37LzPcAFTopHNIJRNVOQfma9YgyPkAzx9/TJ01lbCCYigS28hEcY1hjiJ1PRK8iVX62Ov5yzmUgYH/pQ==} dependencies: - '@vue/shared': 3.4.7 + '@vue/shared': 3.4.10 dev: false - /@vue/runtime-core@3.4.7: - resolution: {integrity: sha512-QMMsWRQaD3BpGyjjChthpl4Mji4Fjx1qfdufsXlDkKU3HV+hWNor2z+29F+E1MmVcP0ZfRZUfqYgtsQoL7IGwQ==} + /@vue/runtime-core@3.4.10: + resolution: {integrity: sha512-Ri2Cz9sFr66AEUewGUK8IXhIUAhshTHVUGuJR8pqMbtjIds+zPa8QPO5UZImGMQ8HTY7eEpKwztCct9V3+Iqug==} dependencies: - '@vue/reactivity': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/reactivity': 3.4.10 + '@vue/shared': 3.4.10 dev: false - /@vue/runtime-dom@3.4.7: - resolution: {integrity: sha512-XwegyUY1rw8zxsX1Z36vwYcqo+uOgih5ti7y9vx+pPFhNdSQmN4LqK2RmSeAJG1oKV8NqSUmjpv92f/x6h0SeQ==} + /@vue/runtime-dom@3.4.10: + resolution: {integrity: sha512-ROsdi5M2niRDmjXJNZ8KKiGwXyG1FO8l9n6sCN0kaJEHbjWkuigu96YAI3fK/AWUZPSXXEcMEBVPC6rL3mmUuA==} dependencies: - '@vue/runtime-core': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/runtime-core': 3.4.10 + '@vue/shared': 3.4.10 csstype: 3.1.3 dev: false - /@vue/server-renderer@3.4.7(vue@3.4.7): - resolution: {integrity: sha512-3bWnYLEkLLhkDWqvNk7IvbQD4UcxvFKxELBiOO2iG3m6AniFIsBWfHOO5tLVQnjdWkODu4rq0GipmfEenVAK5Q==} + /@vue/server-renderer@3.4.10(vue@3.4.10): + resolution: {integrity: sha512-WpCBAhesLq44JKWfdFqb+Bi4ACUW0d8x1z90GnE0spccsAlEDMXV5nm+pwXLyW0OdP2iPrO/n/QMJh4B1v9Ciw==} peerDependencies: - vue: 3.4.7 + vue: 3.4.10 dependencies: - '@vue/compiler-ssr': 3.4.7 - '@vue/shared': 3.4.7 - vue: 3.4.7(typescript@5.3.3) + '@vue/compiler-ssr': 3.4.10 + '@vue/shared': 3.4.10 + vue: 3.4.10(typescript@5.3.3) dev: false /@vue/shared@3.3.13: resolution: {integrity: sha512-/zYUwiHD8j7gKx2argXEMCUXVST6q/21DFU0sTfNX0URJroCe3b1UF6vLJ3lQDfLNIiiRl2ONp7Nh5UVWS6QnA==} dev: false - /@vue/shared@3.4.5: - resolution: {integrity: sha512-6XptuzlMvN4l4cDnDw36pdGEV+9njYkQ1ZE0Q6iZLwrKefKaOJyiFmcP3/KBDHbt72cJZGtllAc1GaHe6XGAyg==} + /@vue/shared@3.4.10: + resolution: {integrity: sha512-C0mIVhwW1xQLMFyqMJxnhq6fWyE02lCgcE+TDdtGpg6B3H6kh/0YcqS54qYc76UJNlWegf3VgsLqgk6D9hBmzQ==} + dev: false /@vue/shared@3.4.7: resolution: {integrity: sha512-G+i4glX1dMJk88sbJEcQEGWRQnVm9eIY7CcQbO5dpdsD9SF8jka3Mr5OqZYGjczGN1+D6EUwdu6phcmcx9iuPA==} - dev: false /@vuepress/bundler-vite@2.0.0-rc.0(@types/node@20.9.1)(sass@1.69.7)(typescript@5.3.3): resolution: {integrity: sha512-rX8S8IYpqqlJfNPstS/joorpxXx/4WuE7+gDM31i2HUrxOKGZVzq8ZsRRRU2UdoTwHZSd3LpUS4sMtxE5xLK1A==} dependencies: - '@vitejs/plugin-vue': 4.5.0(vite@5.0.11)(vue@3.4.7) + '@vitejs/plugin-vue': 4.5.0(vite@5.0.11)(vue@3.4.10) '@vuepress/client': 2.0.0-rc.0(typescript@5.3.3) '@vuepress/core': 2.0.0-rc.0(typescript@5.3.3) '@vuepress/shared': 2.0.0-rc.0 @@ -4888,8 +4294,8 @@ packages: postcss-load-config: 4.0.1(postcss@8.4.31) rollup: 4.4.1 vite: 5.0.11(@types/node@20.9.1)(sass@1.69.7) - vue: 3.4.7(typescript@5.3.3) - vue-router: 4.2.5(vue@3.4.7) + vue: 3.4.10(typescript@5.3.3) + vue-router: 4.2.5(vue@3.4.10) transitivePeerDependencies: - '@types/node' - '@vue/composition-api' @@ -4904,7 +4310,7 @@ packages: - typescript dev: false - /@vuepress/bundler-webpack@2.0.0-rc.0(@vue/compiler-sfc@3.4.5)(typescript@5.3.3): + /@vuepress/bundler-webpack@2.0.0-rc.0(@vue/compiler-sfc@3.4.7)(typescript@5.3.3): resolution: {integrity: sha512-PUbjaQCTE+pwkmHkozT4CCjdEiAEO89XOXKTO/VwEsv6hWNeT97fi7TnScV/x8R/9WeA45QrW3eHipMwkKJ8uQ==} dependencies: '@types/express': 4.17.21 @@ -4925,9 +4331,9 @@ packages: postcss-csso: 6.0.1(postcss@8.4.31) postcss-loader: 7.3.3(postcss@8.4.31)(webpack@5.89.0) style-loader: 3.3.3(webpack@5.89.0) - vue: 3.4.7(typescript@5.3.3) - vue-loader: 17.3.1(@vue/compiler-sfc@3.4.5)(vue@3.4.7)(webpack@5.89.0) - vue-router: 4.2.5(vue@3.4.7) + vue: 3.4.10(typescript@5.3.3) + vue-loader: 17.3.1(@vue/compiler-sfc@3.4.7)(vue@3.4.10)(webpack@5.89.0) + vue-router: 4.2.5(vue@3.4.10) webpack: 5.89.0 webpack-chain: 6.5.1 webpack-dev-server: 4.15.1(webpack@5.89.0) @@ -4968,9 +4374,9 @@ packages: dependencies: '@vue/devtools-api': 6.5.1 '@vuepress/shared': 2.0.0-rc.0 - '@vueuse/core': 10.7.1(vue@3.4.7) - vue: 3.4.7(typescript@5.3.3) - vue-router: 4.2.5(vue@3.4.7) + '@vueuse/core': 10.7.1(vue@3.4.10) + vue: 3.4.10(typescript@5.3.3) + vue-router: 4.2.5(vue@3.4.10) transitivePeerDependencies: - '@vue/composition-api' - typescript @@ -4980,17 +4386,17 @@ packages: resolution: {integrity: sha512-uoOaZP1MdxZYJIAJcRcmYKKeCIVnxZeOuLMOOB9CPuAKSalT1RvJ1lztw6RX3q9SPnlqtSZPQXDncPAZivw4pA==} dependencies: '@vuepress/client': 2.0.0-rc.0(typescript@5.3.3) - '@vuepress/markdown': 2.0.0-rc.0 + '@vuepress/markdown': 2.0.0-rc.0(patch_hash=zvwmijlesxcdy3i4trojywcm7y) '@vuepress/shared': 2.0.0-rc.0 '@vuepress/utils': 2.0.0-rc.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) transitivePeerDependencies: - '@vue/composition-api' - supports-color - typescript dev: false - /@vuepress/markdown@2.0.0-rc.0: + /@vuepress/markdown@2.0.0-rc.0(patch_hash=zvwmijlesxcdy3i4trojywcm7y): resolution: {integrity: sha512-USmqdKKMT6ZFHYRztTjKUlO8qgGfnEygMAAq4AzC/uYXiEfrbMBLAWJhteyGS56P3rGLj0OPAhksE681bX/wOg==} dependencies: '@mdit-vue/plugin-component': 1.0.0 @@ -5012,6 +4418,7 @@ packages: transitivePeerDependencies: - supports-color dev: false + patched: true /@vuepress/plugin-active-header-links@2.0.0-rc.0(typescript@5.3.3): resolution: {integrity: sha512-UJdXLYNGL5Wjy5YGY8M2QgqT75bZ95EHebbqGi8twBdIJE9O+bM+dPJyYtAk2PIVqFORiw3Hj+PchsNSxdn9+g==} @@ -5020,8 +4427,8 @@ packages: '@vuepress/core': 2.0.0-rc.0(typescript@5.3.3) '@vuepress/utils': 2.0.0-rc.0 ts-debounce: 4.0.0 - vue: 3.4.7(typescript@5.3.3) - vue-router: 4.2.5(vue@3.4.7) + vue: 3.4.10(typescript@5.3.3) + vue-router: 4.2.5(vue@3.4.10) transitivePeerDependencies: - '@vue/composition-api' - supports-color @@ -5033,7 +4440,7 @@ packages: dependencies: '@types/markdown-it': 13.0.7 '@vuepress/core': 2.0.0-rc.0(typescript@5.3.3) - '@vuepress/markdown': 2.0.0-rc.0 + '@vuepress/markdown': 2.0.0-rc.0(patch_hash=zvwmijlesxcdy3i4trojywcm7y) '@vuepress/shared': 2.0.0-rc.0 '@vuepress/utils': 2.0.0-rc.0 markdown-it: 13.0.2 @@ -5054,10 +4461,10 @@ packages: '@vuepress/core': 2.0.0-rc.0(typescript@5.3.3) '@vuepress/shared': 2.0.0-rc.0 '@vuepress/utils': 2.0.0-rc.0 - '@vueuse/core': 10.7.1(vue@3.4.7) + '@vueuse/core': 10.7.1(vue@3.4.10) ts-debounce: 4.0.0 - vue: 3.4.7(typescript@5.3.3) - vue-router: 4.2.5(vue@3.4.7) + vue: 3.4.10(typescript@5.3.3) + vue-router: 4.2.5(vue@3.4.10) transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -5074,10 +4481,10 @@ packages: dependencies: '@vuepress/client': 2.0.0-rc.0(typescript@5.3.3) '@vuepress/core': 2.0.0-rc.0(typescript@5.3.3) - '@vuepress/markdown': 2.0.0-rc.0 + '@vuepress/markdown': 2.0.0-rc.0(patch_hash=zvwmijlesxcdy3i4trojywcm7y) '@vuepress/shared': 2.0.0-rc.0 '@vuepress/utils': 2.0.0-rc.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) transitivePeerDependencies: - '@vue/composition-api' - supports-color @@ -5103,7 +4510,7 @@ packages: '@vuepress/core': 2.0.0-rc.0(typescript@5.3.3) '@vuepress/utils': 2.0.0-rc.0 medium-zoom: 1.1.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) transitivePeerDependencies: - '@vue/composition-api' - supports-color @@ -5116,8 +4523,8 @@ packages: '@vuepress/client': 2.0.0-rc.0(typescript@5.3.3) '@vuepress/core': 2.0.0-rc.0(typescript@5.3.3) '@vuepress/utils': 2.0.0-rc.0 - vue: 3.4.7(typescript@5.3.3) - vue-router: 4.2.5(vue@3.4.7) + vue: 3.4.10(typescript@5.3.3) + vue-router: 4.2.5(vue@3.4.10) transitivePeerDependencies: - '@vue/composition-api' - supports-color @@ -5144,8 +4551,8 @@ packages: '@vuepress/shared': 2.0.0-rc.0 '@vuepress/utils': 2.0.0-rc.0 chokidar: 3.5.3 - vue: 3.4.7(typescript@5.3.3) - vue-router: 4.2.5(vue@3.4.7) + vue: 3.4.10(typescript@5.3.3) + vue-router: 4.2.5(vue@3.4.10) transitivePeerDependencies: - '@vue/composition-api' - supports-color @@ -5160,7 +4567,7 @@ packages: '@vuepress/core': 2.0.0-rc.0(typescript@5.3.3) '@vuepress/shared': 2.0.0-rc.0 '@vuepress/utils': 2.0.0-rc.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) transitivePeerDependencies: - '@vue/composition-api' - supports-color @@ -5173,8 +4580,8 @@ packages: '@vuepress/client': 2.0.0-rc.0(typescript@5.3.3) '@vuepress/core': 2.0.0-rc.0(typescript@5.3.3) '@vuepress/utils': 2.0.0-rc.0 - vue: 3.4.7(typescript@5.3.3) - vue-router: 4.2.5(vue@3.4.7) + vue: 3.4.10(typescript@5.3.3) + vue-router: 4.2.5(vue@3.4.10) transitivePeerDependencies: - '@vue/composition-api' - supports-color @@ -5206,13 +4613,13 @@ packages: - supports-color dev: false - /@vueuse/core@10.7.1(vue@3.4.7): + /@vueuse/core@10.7.1(vue@3.4.10): resolution: {integrity: sha512-74mWHlaesJSWGp1ihg76vAnfVq9NTv1YT0SYhAQ6zwFNdBkkP+CKKJmVOEHcdSnLXCXYiL5e7MaewblfiYLP7g==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.7.1 - '@vueuse/shared': 10.7.1(vue@3.4.7) - vue-demi: 0.14.6(vue@3.4.7) + '@vueuse/shared': 10.7.1(vue@3.4.10) + vue-demi: 0.14.6(vue@3.4.10) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -5222,10 +4629,10 @@ packages: resolution: {integrity: sha512-jX8MbX5UX067DYVsbtrmKn6eG6KMcXxLRLlurGkZku5ZYT3vxgBjui2zajvUZ18QLIjrgBkFRsu7CqTAg18QFw==} dev: false - /@vueuse/shared@10.7.1(vue@3.4.7): + /@vueuse/shared@10.7.1(vue@3.4.10): resolution: {integrity: sha512-v0jbRR31LSgRY/C5i5X279A/WQjD6/JsMzGa+eqt658oJ75IvQXAeONmwvEMrvJQKnRElq/frzBR7fhmWY5uLw==} dependencies: - vue-demi: 0.14.6(vue@3.4.7) + vue-demi: 0.14.6(vue@3.4.10) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -5600,10 +5007,6 @@ packages: string-width: 4.2.3 dev: false - /ansi-color@0.2.1: - resolution: {integrity: sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ==} - dev: false - /ansi-escapes@3.2.0: resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} engines: {node: '>=4'} @@ -5921,16 +5324,6 @@ packages: - supports-color dev: false - /axios@1.4.0(debug@4.3.4): - resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} - dependencies: - follow-redirects: 1.15.1(debug@4.3.4) - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: false - /b4a@1.6.4: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: false @@ -6164,16 +5557,6 @@ packages: ieee754: 1.2.1 dev: false - /bufrw@1.3.0: - resolution: {integrity: sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ==} - engines: {node: '>= 0.10.x'} - dependencies: - ansi-color: 0.2.1 - error: 7.0.2 - hexer: 1.5.0 - xtend: 4.0.2 - dev: false - /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -8095,13 +7478,6 @@ packages: stackframe: 1.3.4 dev: false - /error@7.0.2: - resolution: {integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw==} - dependencies: - string-template: 0.2.1 - xtend: 4.0.2 - dev: false - /es-module-lexer@1.2.1: resolution: {integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==} dev: false @@ -8610,13 +7986,13 @@ packages: - supports-color dev: true - /eslint-processor-vue-blocks@0.1.1(@vue/compiler-sfc@3.4.5)(eslint@8.56.0): + /eslint-processor-vue-blocks@0.1.1(@vue/compiler-sfc@3.4.7)(eslint@8.56.0): resolution: {integrity: sha512-9+dU5lU881log570oBwpelaJmOfOzSniben7IWEDRYQPPWwlvaV7NhOtsTuUWDqpYT+dtKKWPsgz4OkOi+aZnA==} peerDependencies: '@vue/compiler-sfc': ^3.3.0 eslint: ^8.50.0 dependencies: - '@vue/compiler-sfc': 3.4.5 + '@vue/compiler-sfc': 3.4.7 eslint: 8.56.0 dev: true @@ -10034,17 +9410,6 @@ packages: hasBin: true dev: false - /hexer@1.5.0: - resolution: {integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg==} - engines: {node: '>= 0.10.x'} - hasBin: true - dependencies: - ansi-color: 0.2.1 - minimist: 1.2.8 - process: 0.10.1 - xtend: 4.0.2 - dev: false - /hexoid@1.0.0: resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==} engines: {node: '>=8'} @@ -10867,17 +10232,6 @@ packages: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - /jaeger-client@3.19.0: - resolution: {integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw==} - engines: {node: '>=10'} - dependencies: - node-int64: 0.4.0 - opentracing: 0.14.7 - thriftrw: 3.11.4 - uuid: 8.3.2 - xorshift: 1.2.0 - dev: false - /javascript-state-machine@2.4.0: resolution: {integrity: sha512-N5ebPfbgUPBQgu+Q3km/EAxFdG7sS9b+upP3917F/xvH+QES55ba9TfayJJqUQ1OdEuHqwqdadiyqYfalucBvw==} dev: false @@ -10907,7 +10261,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false @@ -11423,6 +10777,7 @@ packages: /lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + dev: true /lodash.deburr@4.1.0: resolution: {integrity: sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==} @@ -11556,24 +10911,11 @@ packages: triple-beam: 1.3.0 dev: false - /long@2.4.0: - resolution: {integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==} - engines: {node: '>=0.6'} - dev: false - /long@3.2.0: resolution: {integrity: sha512-ZYvPPOMqUwPoDsbJaR10iQJYnMuZhRTvHYl62ErLIEX7RgFlziSBUUvrt3OVfc47QlHHpzPZYP17g3Fv7oeJkg==} engines: {node: '>=0.6'} dev: false - /long@4.0.0: - resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} - dev: false - - /long@5.2.3: - resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} - dev: false - /longest@2.0.1: resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==} engines: {node: '>=0.10.0'} @@ -11611,6 +10953,11 @@ packages: engines: {node: '>=12'} dev: false + /lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + dev: false + /macos-release@3.1.0: resolution: {integrity: sha512-/M/R0gCDgM+Cv1IuBG1XGdfTFnMEG6PZeT+KGWHO/OG+imqmaD9CH5vHBTycEM3+Kc4uG2Il+tFAuUWLqQOeUA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -12050,10 +11397,6 @@ packages: node-source-walk: 6.0.1 dev: false - /module-details-from-path@1.0.3: - resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} - dev: false - /moize@6.1.4: resolution: {integrity: sha512-Ga8V0iu7XHDz6GR50pAaGjc3hJ5CVmWUgQRyWFAn4pYrBzITx9dMlXOGhURP2qmO3WTeOC9Yu17MlFV6PY2m/g==} dependencies: @@ -12171,8 +11514,8 @@ packages: resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} dev: false - /netlify-cli@17.13.0(@types/node@20.10.8): - resolution: {integrity: sha512-4lk2ttch8lDFOIImK15Y8QwhQD6h5enIVJPHNNnX0+eXrM0ackwl2m1irGcqNRiskdPxieO5myoO1ysOTUJgXQ==} + /netlify-cli@17.13.1(@types/node@20.11.0): + resolution: {integrity: sha512-Ql+KQ/ag7fSwu7oj9oQpD7Lso2s3TplytOjXcZkLi2YIXJ11cGXv/WOmq2ZXyMp10J0gPg4iBTYKWsVjAzKISA==} engines: {node: '>=18.14.0'} hasBin: true requiresBuild: true @@ -12180,12 +11523,12 @@ packages: '@bugsnag/js': 7.20.2 '@fastify/static': 6.10.2 '@netlify/blobs': 6.3.1 - '@netlify/build': 29.31.0(@types/node@20.10.8)(debug@4.3.4) - '@netlify/build-info': 7.11.3 - '@netlify/config': 20.10.0 + '@netlify/build': 29.31.5(@types/node@20.11.0) + '@netlify/build-info': 7.11.4 + '@netlify/config': 20.10.1 '@netlify/edge-bundler': 11.0.0 '@netlify/local-functions-proxy': 1.1.1 - '@netlify/zip-it-and-ship-it': 9.28.1(supports-color@9.2.2) + '@netlify/zip-it-and-ship-it': 9.28.2(supports-color@9.2.2) '@octokit/rest': 19.0.13 ansi-escapes: 6.2.0 ansi-styles: 6.2.1 @@ -12250,9 +11593,9 @@ packages: log-symbols: 5.1.0 log-update: 5.0.1 multiparty: 4.2.3 - netlify: 13.1.11 - netlify-headers-parser: 7.1.2 - netlify-redirect-parser: 14.2.0 + netlify: 13.1.12 + netlify-headers-parser: 7.1.3 + netlify-redirect-parser: 14.2.1 netlify-redirector: 0.5.0 node-fetch: 2.6.12 node-version-alias: 3.4.1 @@ -12311,8 +11654,8 @@ packages: - utf-8-validate dev: false - /netlify-headers-parser@7.1.2: - resolution: {integrity: sha512-DfoboA8PrcLXMan3jIVyLsQtKS+nepKDx6WwZKk5EQDMr2AJoBPCtSHTOLuABzkde1UXdOITf3snmcAmzlNLqw==} + /netlify-headers-parser@7.1.3: + resolution: {integrity: sha512-0iR1iWbknBLv6T7zzmMR2AtfO7G/0lMajRyAX3SXhc3U3MqpXsElXinWZteMWM7KeGb7PePQgEalEkk2T6kXSw==} engines: {node: ^14.16.0 || >=16.0.0} dependencies: escape-string-regexp: 5.0.0 @@ -12323,8 +11666,8 @@ packages: toml: 3.0.0 dev: false - /netlify-redirect-parser@14.2.0: - resolution: {integrity: sha512-3Mi7sMH7XXZhjvXx/5RtJ/rU/E6zKkE4etcYQbEu8B3r872D0opoYyGdPW/MvaYQyVdfg23XEFaEI4zzQTupaw==} + /netlify-redirect-parser@14.2.1: + resolution: {integrity: sha512-poQgLGh+YATMHatzf/1TaWcbKQIBhszebhJV7btc6Ysw4xmnUedaE8nCscfdDH2PygT6Y+IHZkyMU4gvTFffVA==} engines: {node: ^14.16.0 || >=16.0.0} dependencies: fast-safe-stringify: 2.1.1 @@ -12338,8 +11681,8 @@ packages: resolution: {integrity: sha512-4zdzIP+6muqPCuE8avnrgDJ6KW/2+UpHTRcTbMXCIRxiRmyrX+IZ4WSJGZdHPWF3WmQpXpy603XxecZ9iygN7w==} dev: false - /netlify@13.1.11: - resolution: {integrity: sha512-exrD6cqwo5avDNtU7YT9iuN0+yoW+aaEUxvr/39oP36wZRKreoPm6KNVisTR9d4lXrPeUG8XI+rERuLhwMQmdw==} + /netlify@13.1.12: + resolution: {integrity: sha512-SNS/ANjR+DE71MTi4ke0ejYEvM6uY676NPluueUhvW9mZCR4tLwb2vahqzIKML5WQ1Dx+xRtOJYVAnUkJag/6w==} engines: {node: ^14.16.0 || >=16.0.0} dependencies: '@netlify/open-api': 2.26.0 @@ -12412,10 +11755,6 @@ packages: hasBin: true dev: false - /node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - dev: false - /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} dev: false @@ -12662,11 +12001,6 @@ packages: is-wsl: 2.2.0 dev: false - /opentracing@0.14.7: - resolution: {integrity: sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q==} - engines: {node: '>=0.10'} - dev: false - /optionator@0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} @@ -13482,11 +12816,6 @@ packages: resolution: {integrity: sha512-9C20RLxrZU/rFnxWncDkuF6O999NdIf3E1ws4B0ZeY3sRVPzWBMsYDE2lxjxhiXxg464cQTgKUGm8/i6y2YGXg==} dev: false - /process@0.10.1: - resolution: {integrity: sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA==} - engines: {node: '>= 0.6.0'} - dev: false - /process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} @@ -13518,25 +12847,6 @@ packages: yargs: 3.32.0 dev: false - /protobufjs@7.2.4: - resolution: {integrity: sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ==} - engines: {node: '>=12.0.0'} - requiresBuild: true - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/base64': 1.1.2 - '@protobufjs/codegen': 2.0.4 - '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 - '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.0 - '@protobufjs/path': 1.1.2 - '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.0 - '@types/node': 20.10.8 - long: 5.2.3 - dev: false - /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -13545,10 +12855,6 @@ packages: ipaddr.js: 1.9.1 dev: false - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: false - /ps-list@8.1.0: resolution: {integrity: sha512-NoGBqJe7Ou3kfQxEvDzDyKGAyEgwIuD3YrfXinjcCmBRv0hTld0Xb71hrXvtsNPj7HSFATfemvzB8PPJtq6Yag==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -13911,17 +13217,6 @@ packages: engines: {node: '>=0.10.0'} requiresBuild: true - /require-in-the-middle@7.2.0(supports-color@9.2.2): - resolution: {integrity: sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==} - engines: {node: '>=8.6.0'} - dependencies: - debug: 4.3.4(supports-color@9.2.2) - module-details-from-path: 1.0.3 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - dev: false - /require-package-name@2.0.1: resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==} dev: false @@ -14365,16 +13660,22 @@ packages: shikiji: 0.9.18 dev: false + /shikiji-twoslash@0.9.18(typescript@5.3.3): + resolution: {integrity: sha512-+Np6QAdV244p6CVofefszrRWdcmbUNvTXaGV4V+wjKRyfp8jVTUtxjuVjtG7e3vyA8Nu989K99CCjhcTQOuEaw==} + dependencies: + '@typescript/twoslash': 3.2.4(typescript@5.3.3) + shikiji-core: 0.9.18 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + /shikiji@0.9.18: resolution: {integrity: sha512-/tFMIdV7UQklzN13VjF0/XFzmii6C606Jc878hNezvB8ZR8FG8FW9j0I4J9EJre0owlnPntgLVPpHqy27Gs+DQ==} dependencies: shikiji-core: 0.9.18 dev: false - /shimmer@1.2.1: - resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} - dev: false - /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: @@ -14705,10 +14006,6 @@ packages: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} - /string-template@0.2.1: - resolution: {integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==} - dev: false - /string-width@1.0.2: resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} engines: {node: '>=0.10.0'} @@ -15326,16 +14623,6 @@ packages: real-require: 0.2.0 dev: false - /thriftrw@3.11.4: - resolution: {integrity: sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA==} - engines: {node: '>= 0.10.x'} - hasBin: true - dependencies: - bufrw: 1.3.0 - error: 7.0.2 - long: 2.4.0 - dev: false - /throttle-debounce@5.0.0: resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} engines: {node: '>=12.22'} @@ -15507,7 +14794,7 @@ packages: resolution: {integrity: sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==} dev: false - /ts-node@10.9.2(@types/node@20.10.8)(typescript@5.3.3): + /ts-node@10.9.2(@types/node@20.11.0)(typescript@5.3.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -15526,7 +14813,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 20.10.8 + '@types/node': 20.11.0 acorn: 8.11.3 acorn-walk: 8.2.0 arg: 4.1.3 @@ -15998,7 +15285,7 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vue-demi@0.14.6(vue@3.4.7): + /vue-demi@0.14.6(vue@3.4.10): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true @@ -16010,7 +15297,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false /vue-eslint-parser@9.3.2(eslint@8.56.0): @@ -16031,7 +15318,7 @@ packages: - supports-color dev: true - /vue-loader@17.3.1(@vue/compiler-sfc@3.4.5)(vue@3.4.7)(webpack@5.89.0): + /vue-loader@17.3.1(@vue/compiler-sfc@3.4.7)(vue@3.4.10)(webpack@5.89.0): resolution: {integrity: sha512-nmVu7KU8geOyzsStyyaxID/uBGDMS8BkPXb6Lu2SNkMawriIbb+hYrNtgftHMKxOSkjjjTF5OSSwPo3KP59egg==} peerDependencies: '@vue/compiler-sfc': '*' @@ -16043,36 +15330,36 @@ packages: vue: optional: true dependencies: - '@vue/compiler-sfc': 3.4.5 + '@vue/compiler-sfc': 3.4.7 chalk: 4.1.2 hash-sum: 2.0.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) watchpack: 2.4.0 webpack: 5.89.0 dev: false - /vue-router@4.2.5(vue@3.4.7): + /vue-router@4.2.5(vue@3.4.10): resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false - /vue@3.4.7(typescript@5.3.3): - resolution: {integrity: sha512-4urmkWpudekq0CPNMO7p6mBGa9qmTXwJMO2r6CT4EzIJVG7WoSReiysiNb7OSi/WI113oX0Srn9Rz1k/DCXKFQ==} + /vue@3.4.10(typescript@5.3.3): + resolution: {integrity: sha512-c+O8qGqdWPF9joTCzMGeDDedViooh6c8RY3+eW5+6GCAIY8YjChmU06LsUu0PnMZbIk1oKUoJTqKzmghYtFypw==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.7 - '@vue/compiler-sfc': 3.4.7 - '@vue/runtime-dom': 3.4.7 - '@vue/server-renderer': 3.4.7(vue@3.4.7) - '@vue/shared': 3.4.7 + '@vue/compiler-dom': 3.4.10 + '@vue/compiler-sfc': 3.4.10 + '@vue/runtime-dom': 3.4.10 + '@vue/server-renderer': 3.4.10(vue@3.4.10) + '@vue/shared': 3.4.10 typescript: 5.3.3 dev: false @@ -16107,8 +15394,8 @@ packages: '@vuepress/shared': 2.0.0-rc.0 '@vuepress/utils': 2.0.0-rc.0 giscus: 1.4.0 - vue: 3.4.7(typescript@5.3.3) - vue-router: 4.2.5(vue@3.4.7) + vue: 3.4.10(typescript@5.3.3) + vue-router: 4.2.5(vue@3.4.10) vuepress-plugin-sass-palette: 2.0.0-rc.10(typescript@5.3.3) vuepress-shared: 2.0.0-rc.10(typescript@5.3.3) transitivePeerDependencies: @@ -16199,12 +15486,12 @@ packages: '@vuepress/client': 2.0.0-rc.0(typescript@5.3.3) '@vuepress/shared': 2.0.0-rc.0 '@vuepress/utils': 2.0.0-rc.0 - '@vueuse/core': 10.7.1(vue@3.4.7) + '@vueuse/core': 10.7.1(vue@3.4.10) balloon-css: 1.2.0 js-yaml: 4.1.0 katex: 0.16.9 - vue: 3.4.7(typescript@5.3.3) - vue-router: 4.2.5(vue@3.4.7) + vue: 3.4.10(typescript@5.3.3) + vue-router: 4.2.5(vue@3.4.10) vuepress-plugin-sass-palette: 2.0.0-rc.10(typescript@5.3.3) vuepress-shared: 2.0.0-rc.10(typescript@5.3.3) transitivePeerDependencies: @@ -16230,7 +15517,7 @@ packages: optional: true dependencies: '@vuepress/client': 2.0.0-rc.0(typescript@5.3.3) - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) vuepress-shared: 2.0.0-rc.10(typescript@5.3.3) transitivePeerDependencies: - '@vue/composition-api' @@ -16334,7 +15621,7 @@ packages: '@vuepress/client': 2.0.0-rc.0(typescript@5.3.3) '@vuepress/shared': 2.0.0-rc.0 '@vuepress/utils': 2.0.0-rc.0 - '@vueuse/core': 10.7.1(vue@3.4.7) + '@vueuse/core': 10.7.1(vue@3.4.10) cheerio: 1.0.0-rc.12 dayjs: 1.11.10 execa: 8.0.1 @@ -16342,8 +15629,8 @@ packages: gray-matter: 4.0.3 semver: 7.5.4 striptags: 3.2.0 - vue: 3.4.7(typescript@5.3.3) - vue-router: 4.2.5(vue@3.4.7) + vue: 3.4.10(typescript@5.3.3) + vue-router: 4.2.5(vue@3.4.10) transitivePeerDependencies: - '@vue/composition-api' - supports-color @@ -16724,10 +16011,6 @@ packages: engines: {node: '>=12'} dev: true - /xorshift@1.2.0: - resolution: {integrity: sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g==} - dev: false - /xss@1.0.14: resolution: {integrity: sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==} engines: {node: '>= 0.10.0'} diff --git a/theme/package.json b/theme/package.json index 2a439514..fa1ce3d0 100644 --- a/theme/package.json +++ b/theme/package.json @@ -82,7 +82,7 @@ "katex": "^0.16.9", "lodash.merge": "^4.6.2", "nanoid": "^5.0.4", - "vue": "^3.4.7", + "vue": "^3.4.10", "vue-router": "4.2.5", "vuepress-plugin-comment2": "2.0.0-rc.10", "vuepress-plugin-md-enhance": "2.0.0-rc.10", diff --git a/theme/src/client/styles/index.scss b/theme/src/client/styles/index.scss index 47417456..814e1e9f 100644 --- a/theme/src/client/styles/index.scss +++ b/theme/src/client/styles/index.scss @@ -6,6 +6,8 @@ @import "utils"; @import "content"; @import "code"; + +@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 new file mode 100644 index 00000000..ca937ca5 --- /dev/null +++ b/theme/src/client/styles/twoslash.scss @@ -0,0 +1,225 @@ +/* stylelint-disable no-descending-specificity */ + +/* ===== Basic ===== */ +:root { + --twoslash-border-color: var(--vp-c-divider); + --twoslash-jsdoc-color: #888; + --twoslash-underline-color: currentcolor; + --twoslash-popup-bg: var(--vp-c-neutral-inverse); + --twoslash-popup-shadow: var(--vp-shadow-2); + --twoslash-matched-color: inherit; + --twoslash-unmatched-color: #888; + --twoslash-cursor-color: #8888; + --twoslash-error-color: var(--vp-c-danger-1); + --twoslash-error-bg: var(--vp-c-danger-soft); + --twoslash-tag-color: var(--vp-c-tip-1); + --twoslash-tag-bg: var(--vp-c-tip-soft); + --twoslash-tag-warn-color: var(--vp-c-warning-1); + --twoslash-tag-warn-bg: var(--vp-c-warning-soft); + --twoslash-tag-annotate-color: var(--vp-c-green-1); + --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; + } +} + +/* Respect people's wishes to not have animations */ +@media (prefers-reduced-motion: reduce) { + .twoslash * { + transition: none !important; + } +} + +/* ===== Hover Info ===== */ +.twoslash:hover .twoslash-hover { + border-color: var(--twoslash-underline-color); +} + +.twoslash .twoslash-hover { + position: relative; + border-bottom: 1px dotted transparent; + transition: border-color 0.3s; + transition-timing-function: ease; +} + +.twoslash .twoslash-popup-info { + position: absolute; + z-index: 10; + display: inline-block; + padding: 4px 6px; + text-align: left; + pointer-events: none; + user-select: none; + background: var(--twoslash-popup-bg); + border: 1px solid var(--twoslash-border-color); + border-radius: 4px; + box-shadow: var(--twoslash-popup-shadow); + opacity: 0; + transition: opacity 0.3s; + transform: translateY(1.5em); +} + +.twoslash .twoslash-query-presisted .twoslash-popup-info { + left: 50%; + z-index: 9; + transform: translate(-1.3em, 1.8em); +} + +.twoslash .twoslash-hover:hover .twoslash-popup-info, +.twoslash .twoslash-query-presisted .twoslash-popup-info { + pointer-events: auto; + opacity: 1; +} + +.twoslash .twoslash-popup-info:hover { + user-select: auto; +} + +.twoslash .twoslash-popup-arrow { + position: absolute; + top: -4px; + left: 1em; + width: 6px; + height: 6px; + pointer-events: none; + background: var(--twoslash-popup-bg); + border-top: 1px solid var(--twoslash-border-color); + border-right: 1px solid var(--twoslash-border-color); + transform: rotate(-45deg); +} + +.twoslash .twoslash-popup-jsdoc { + padding-top: 6px; + padding-bottom: 2px; + font-family: sans-serif; + font-size: 0.8em; + color: var(--twoslash-jsdoc-color); +} + +/* ===== Error Line ===== */ +.twoslash .twoslash-error-line { + position: relative; + padding: 6px; + margin: 0.2em 0; + color: var(--twoslash-error-color); + background-color: var(--twoslash-error-bg); + border-left: 3px solid var(--twoslash-error-color); +} + +.twoslash .twoslash-error { + padding-bottom: 2px; + background: + url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%206%203'%20enable-background%3D'new%200%200%206%203'%20height%3D'3'%20width%3D'6'%3E%3Cg%20fill%3D'%23c94824'%3E%3Cpolygon%20points%3D'5.5%2C0%202.5%2C3%201.1%2C3%204.1%2C0'%2F%3E%3Cpolygon%20points%3D'4%2C0%206%2C2%206%2C0.6%205.4%2C0'%2F%3E%3Cpolygon%20points%3D'0%2C2%201%2C3%202.4%2C3%200%2C0.6'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") + repeat-x bottom left; +} + +/* ===== Completeions ===== */ +.twoslash .twoslash-completions-list { + position: relative; +} + +.twoslash .twoslash-completions-list ul { + position: absolute; + top: 0; + left: 0; + z-index: 8; + display: inline-block; + display: flex; + flex-direction: column; + gap: 4px; + width: 240px; + padding: 4px; + margin: 3px 0 0 -1px; + font-size: 0.8rem; + user-select: none; + background: var(--twoslash-popup-bg); + border: 1px solid var(--twoslash-border-color); + box-shadow: var(--twoslash-popup-shadow); + transform: translate(0, 1.2em); +} + +.twoslash .twoslash-completions-list ul:hover { + user-select: auto; +} + +.twoslash .twoslash-completions-list ul::before { + position: absolute; + top: -1.6em; + left: -1px; + width: 2px; + height: 1.4em; + content: " "; + background-color: var(--twoslash-cursor-color); +} + +.twoslash .twoslash-completions-list ul li { + display: flex; + gap: 0.25em; + align-items: center; + overflow: hidden; + line-height: 1em; +} + +.twoslash .twoslash-completions-list ul li span.twoslash-completions-unmatched { + color: var(--twoslash-unmatched-color); +} + +.twoslash .twoslash-completions-list ul .deprecated { + text-decoration: line-through; + opacity: 0.5; +} + +.twoslash .twoslash-completions-list ul li span.twoslash-completions-matched { + color: var(--twoslash-matched-color); +} + +/* Icons */ +.twoslash .twoslash-completions-list .twoslash-completions-icon { + flex: none; + width: 1em; + color: var(--twoslash-unmatched-color); +} + +/* Custom Tags */ +.twoslash .twoslash-tag-line { + position: relative; + display: flex; + gap: 0.3em; + align-items: center; + padding: 6px; + margin: 0.2em 0; + color: var(--twoslash-tag-color); + background-color: var(--twoslash-tag-bg); + border-left: 3px solid var(--twoslash-tag-color); +} + +.twoslash .twoslash-tag-line .twoslash-tag-icon { + width: 1.1em; + color: inherit; +} + +.twoslash .twoslash-tag-line.twoslash-tag-error-line { + color: var(--twoslash-error-color); + background-color: var(--twoslash-error-bg); + border-left: 3px solid var(--twoslash-error-color); +} + +.twoslash .twoslash-tag-line.twoslash-tag-warn-line { + color: var(--twoslash-tag-warn-color); + background-color: var(--twoslash-tag-warn-bg); + border-left: 3px solid var(--twoslash-tag-warn-color); +} + +.twoslash .twoslash-tag-line.twoslash-tag-annotate-line { + color: var(--twoslash-tag-annotate-color); + background-color: var(--twoslash-tag-annotate-bg); + border-left: 3px solid var(--twoslash-tag-annotate-color); +}