diff --git a/cspell.json b/cspell.json index 8b5372d3b..6c56e267a 100644 --- a/cspell.json +++ b/cspell.json @@ -6,29 +6,46 @@ "language": "en", // words - list of words to be always considered correct "words": [ + "3Csvg", "aarch", + "Aavci", + "Aceternity", + "ACVHU", "addtional", "Alexey", + "Andale", "androideabi", "antd", "Antdv", "apng", "applescript", + "AQDBI", "Architecure", "armv", "arraify", + "assuptions", "Avenir", "Bartosz", "Basepath", + "begining", + "bento", + "Bento", "bindgen", + "Bitstream", + "Bluch", "bpos", + "breo", "brightwu", "Brooooooklyn", "bufferutil", + "buidling", "Bytedance", "bytepos", + "Cace", "cacheable", + "callqh", "canonicalize", + "Cfudsi", "changset", "chpos", "clippy", @@ -41,21 +58,28 @@ "compat", "concurrentify", "Consolas", - "Convertion", "consts", "Convertion", "cpus", "csspart", + "cssvars", "ctxt", + "Cuph", "dashmap", "dedupe", "deepmerge", + "demostration", "Denysov", "Deoptimization", "Deque", + "derectly", "deserializers", "dialoguer", "DIMRESET", + "docsearch", + "doctag", + "documate", + "drei", "dylib", "eabi", "eframe", @@ -63,36 +87,52 @@ "elems", "embeded", "envinfo", + "Erkelost", "esbuild", + "Esdx", "execa", + "exlude", "fargs", "farmfe", + "farmup", + "Farmup", + "feio", "fibo", "flac", + "flexbox", "fnames", "Fock", "funs", + "Gamage", "globset", + "GLTF", + "Glvyg", "gnueabihf", "guolao", "hashbrown", "hasher", "Hensel", + "Himesh", "HMRPing", "icns", "idents", "IHDR", "iife", + "Iljwt", "importee", "Inctive", "indicatif", + "Infima", "instanceof", "Instantiator", + "JDEL", "jfif", "JIDA", "jquery", "jridgewell", "jsnext", + "Jsxhmf", + "Jtjc", "kolorist", "Kostiantyn", "libfarmfe", @@ -101,14 +141,17 @@ "linechpos", "loglevel", "lukastaegert", + "maked", "mapref", "Margus", "mdsvex", "Menlo", "Mergeable", + "metastring", "mgfe", "middlewares", "minifier", + "moduletypes", "msvc", "multibyte", "musleabihf", @@ -116,20 +159,33 @@ "nanospinner", "napi", "NAPI", + "neccessary", + "NITH", "nodebuffer", "Nonoctal", + "noopener", "nord", + "noreferrer", "normpath", "npmlog", + "nums", + "Nybxx", + "Oaky", + "oblador", + "ohter", "onwarn", "opentelemetry", "osascript", + "Oudd", "outro", + "Oyzy", "pageerror", "pargs", "pathdiff", "peekable", "petgraph", + "pffn", + "phvjb", "pico", "picomatch", "Pinia", @@ -140,44 +196,68 @@ "preact", "prefixer", "primevue", + "procee", "proto", "protobuf", "protoc", + "Ptktl", + "PUFY", + "pulgin", + "PVPW", + "pxtorem", "quasis", "querify", "querystring", "Raspopov", + "raxjs", + "Rcfchj", + "Rdjg", "reduckted", "replacen", "repr", + "Reshammiya", "rfind", + "RFVLYs", "riscv", "rkyv", + "Rolup", "rootpath", + "rsbuild", "rsdoctor", "Rspack", "rsplit", + "rspress", + "Rucdk", "Rustup", "sabi", "safelisted", + "Salman", + "serde", "shiki", "shulan", "shulandmimi", "Sider", + "siderbar", "sirv", "Skeen", "srcset", "struct", + "structs", "styl", "stylesheet", "Stylesheet", + "sublist", "svgr", + "svgs", + "SXNQ", + "tabler", "tailwindcss", "Tauri", "teidesu", "Tencent", "thiserror", "threadsafe", + "tnum", "topo", "toposort", "treeshake", @@ -186,23 +266,39 @@ "tsup", "Turbopack", "Typecheck", + "typedotenv", "typeofs", + "Ujanq", + "unioned", "unocss", "unplugin", "unref", "unsize", "unwatch", + "UOUI", "upcasting", + "usize", + "VDSVA", "Verinov", + "Vgud", + "virutal", "vite", + "vitesse", + "Vklun", "walkdir", "wasi", "wasix", "wasmer", + "Webscoker", "wechat", "Wojtkowiak", "xlink", - "Yuxi" + "Yhci", + "Yuxi", + "ZERs", + "Zjwg", + "Zwram", + "zzse" ], "ignorePaths": [ "pnpm-lock.yaml", diff --git a/docs/docs/quick-start.mdx b/docs/docs/quick-start.mdx index e63e7a173..411335daa 100644 --- a/docs/docs/quick-start.mdx +++ b/docs/docs/quick-start.mdx @@ -10,6 +10,21 @@ import { PackageManagerTabs } from "@site/src/theme/PackageManagerTabs"; :::note Farm needs **Node 16.18.0 and above**. ::: +:::important +Farm needs **Node 16.18.0 and above**. +::: +:::info +Farm needs **Node 16.18.0 and above**. +::: +:::tip +Farm needs **Node 16.18.0 and above**. +::: +:::warning +Farm needs **Node 16.18.0 and above**. +::: +:::danger +Farm needs **Node 16.18.0 and above**. +::: ## Online experience diff --git a/docs/docs/tutorials/3-build.md b/docs/docs/tutorials/3-build.md index a344511cd..9eac7e4af 100644 --- a/docs/docs/tutorials/3-build.md +++ b/docs/docs/tutorials/3-build.md @@ -22,7 +22,7 @@ Add build script in `package.json`: ``` Then execute `npm run build`, the built resources will be emitted to `build` dir: -```text +```text title="Project Build Resource Structure" build ├─ favicon.ico ├─ index.html @@ -43,7 +43,7 @@ If you want to custom the path that the resources emitted to, you can use: * [`output.filename`](/docs/config/compilation-options#outputfilename) * [`output.assetsFilename`](/docs/config/compilation-options#outputassetsfilename) -```ts +```ts title="farm.config.ts" import defineConfig from '@farmfe/core'; export default defineConfig({ @@ -123,4 +123,4 @@ For details about tree shake and minify, see: Refer to [Partial Bundling](/docs/advanced/partial-bundling) for details. ::: -Farm enabled best practice of bundling already, make sure you really need to configure bundles manually. See [Partial Bundling](/docs/advanced/partial-bundling) for details. \ No newline at end of file +Farm enabled best practice of bundling already, make sure you really need to configure bundles manually. See [Partial Bundling](/docs/advanced/partial-bundling) for details. diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 198574f9d..701e345fa 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -1,4 +1,5 @@ import { themes as prismThemes } from "prism-react-renderer"; +import remarkGfm from "remark-gfm"; /** @type {import('@docusaurus/types').Config} */ const config = { @@ -35,14 +36,21 @@ const config = { }, presets: [ + // [ + // 'docusaurus-preset-shiki-twoslash', + // { + // themes: ['light-plus', 'dark-plus'], + // }, + // ], [ - "classic", + "@docusaurus/preset-classic", /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { sidebarPath: require.resolve("./sidebars.js"), // Please change this to your repo. // Remove this to remove the "edit this page" links. + // remarkPlugins: [remarkGfm], editUrl: "https://github.com/farm-fe/farm-fe.github.io/tree/main/", lastVersion: "current", versions: { diff --git a/docs/i18n/zh/docusaurus-plugin-content-docs/current/features/css.md b/docs/i18n/zh/docusaurus-plugin-content-docs/current/features/css.md index 1eeb33f2c..4ac3888a7 100644 --- a/docs/i18n/zh/docusaurus-plugin-content-docs/current/features/css.md +++ b/docs/i18n/zh/docusaurus-plugin-content-docs/current/features/css.md @@ -177,4 +177,4 @@ div { 输出 ```css div{display:-ms-flexbox;display:flex} -``` \ No newline at end of file +``` diff --git a/docs/package.json b/docs/package.json index df1764f99..c58d6273f 100644 --- a/docs/package.json +++ b/docs/package.json @@ -41,6 +41,7 @@ "autoprefixer": "^10.4.14", "class-variance-authority": "^0.7.0", "docusaurus-plugin-sass": "0.2.5", + "docusaurus-preset-shiki-twoslash": "^1.1.41", "leva": "^0.9.35", "lucide-react": "^0.394.0", "markdown-it": "^14.1.0", @@ -53,6 +54,7 @@ "react-icons": "^5.3.0", "react-intersection-observer": "^9.5.1", "react-use-measure": "^2.1.1", + "remark-gfm": "^4.0.0", "sass": "^1.63.6", "three": "0.168.0" }, diff --git a/docs/src/css/custom.scss b/docs/src/css/custom.scss index 27879f827..4f9175d1f 100644 --- a/docs/src/css/custom.scss +++ b/docs/src/css/custom.scss @@ -18,6 +18,7 @@ --serif: Iowan Old Style, Apple Garamond, Baskerville, Times New Roman; --monospaced: Menlo; --border: rgb(3, 169, 244); + --code-block: #fff; --g1: rgba(0, 0, 0, 0.2); --g2: rgba(143, 26, 127, 0.2); --g3: rgba(31, 31, 31, 0.2); @@ -73,12 +74,15 @@ } [date-theme="light"] { + --code-block: #fff; --ui-background: #fff; --background: rgb(var(--ui-background) / var(--tw-bg-opacity)); } /* For readability concerns, you should choose a lighter palette in dark mode. */ [data-theme="dark"] { + --code-border-color: #fff; + --code-block: rgb(25, 25, 25); --ui-background: #181818; --background: rgb(var(--ui-background) / var(--tw-bg-opacity)); --ifm-color-soft: rgb(82 82 82 / var(--tw-text-opacity)); @@ -316,16 +320,54 @@ body { } html[data-theme="light"] { - --code-block-border: 1px solid rgb(243 244 246); - --code-pre-bg: #f6f8fa; + --code-block: #fff; + --code-block-border: 1px solid #eee; } html[data-theme="dark"] { - --code-block-border: 1px solid rgb(31 41 55); + --code-block: rgb(25, 25, 25); + --code-block-border: 1px solid #303030; --code-block-select-color: #2e3440ff; - --code-pre-bg: #121212; } .border-package { border: var(--code-block-border); } + +[data-theme="light"] .shiki.dark-plus { + display: none; +} + +[data-theme="dark"] .shiki.light-plus { + display: none; +} + +[class*="codeBlockContainer_"] { + margin-bottom: 0 !important; +} + +[class*="codeBlockTitle_"] { + display: none; +} + +[class*="codeBlock_"] { + background-color: var(--code-block) !important; +} + +.shiki { + margin: 0; + border-radius: 0; +} + +.file-icon { + display: inline-block; + width: 16px; + height: 16px; + margin-right: 8px; + vertical-align: middle; +} + +.file-icon svg { + width: 100%; + height: 100%; +} diff --git a/docs/src/theme/CodeBlock/index.module.css b/docs/src/theme/CodeBlock/index.module.css new file mode 100644 index 000000000..e3c8ab85e --- /dev/null +++ b/docs/src/theme/CodeBlock/index.module.css @@ -0,0 +1,139 @@ +.shiki-wrapper { + margin: 1.5em 0; + border-radius: 8px; + overflow: hidden; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + background-color: #f8f9fa; + transition: box-shadow 0.3s ease; +} + +.shiki-wrapper:hover { + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); +} + +.code-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0.5em 1em; + border-bottom: var(--code-block-border); + background-color: var(--code-block); +} + +.code-title { + font-weight: 600; + font-size: 0.9em; + display: flex; + align-items: center; + gap: 6px; + svg { + width: 22px; + } +} + +.copy-button { + display: flex; + align-items: center; + background-color: transparent; + border: 1px solid #ced4da; + border-radius: 4px; + font-size: 0.85em; + cursor: pointer; + transition: all 0.2s ease; +} + +.copy-button:hover { + background-color: #e9ecef; + border-color: #adb5bd; +} + +.copy-icon { + width: 1em; + height: 1em; + margin-right: 0.5em; + fill: currentColor; +} + +.copy-button span { + transition: opacity 0.2s ease; +} + +.copy-button:active span { + opacity: 0.6; +} + +@keyframes popIn { + 0% { + transform: scale(0.8); + opacity: 0; + } + 100% { + transform: scale(1); + opacity: 1; + } +} + +.copy-button svg { + animation: popIn 0.3s ease forwards; +} + +.copy-button { + display: flex; + align-items: center; + background-color: transparent; + border: none; + border-radius: 4px; + padding: 0.5em 0em 0.5em 0.5em; + font-size: 0.85em; + cursor: pointer; + transition: all 0.2s ease; + outline: none; +} + +.copy-button:hover { + background-color: var(--ifm-color-emphasis-200); + /* border-color: var(--ifm-color-emphasis-400); */ +} + +.copy-button:focus { + /* box-shadow: 0 0 0 2px var(--ifm-color-primary-lightest); */ +} + +.copy-icon { + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + fill: currentColor; + transition: transform 0.2s ease; +} + +.copy-button:hover .copy-icon { + transform: scale(1.1); +} + +.copy-button span { + transition: opacity 0.2s ease; +} + +.copy-button:active span { + opacity: 0.6; +} + +@keyframes popIn { + 0% { + transform: scale(0.8); + opacity: 0; + } + 100% { + transform: scale(1); + opacity: 1; + } +} + +.copy-button svg { + animation: popIn 0.3s ease forwards; +} + +.copy-success { + color: var(--ifm-color-success); +} diff --git a/docs/src/theme/CodeBlock/index.tsx b/docs/src/theme/CodeBlock/index.tsx new file mode 100644 index 000000000..2dc4994cc --- /dev/null +++ b/docs/src/theme/CodeBlock/index.tsx @@ -0,0 +1,112 @@ +import CodeBlock from '@theme-original/CodeBlock'; +import type CodeBlockType from '@theme/CodeBlock'; +import type { WrapperProps } from '@docusaurus/types'; +import React, { useEffect, useState } from 'react'; +import styles from './index.module.css' +import { codeToHtml } from 'shiki'; +import useIsBrowser from '@docusaurus/useIsBrowser'; +import { useColorMode } from '@docusaurus/theme-common'; +import { svgs } from './svg'; +type Props = WrapperProps; + +export default function CodeBlockWrapper(props: Props): JSX.Element { + const [highlightedCode, setHighlightedCode] = useState(''); + const [copied, setCopied] = useState(false); + const language = props.className ? props.className.replace(/language-/, '') : 'javascript'; + const title = props.metastring ? props.metastring.match(/title="([^"]+)"/) : null; + const fileName = title ? title[1] : null; + const highlightLines = props.metastring ? props.metastring.match(/{([\d,-]+)}/) : null; + const { colorMode } = useColorMode(); + const iconMap = { + ts: svgs.find(svg => svg.name === "ts")?.content, + js: svgs.find(svg => svg.name === "js")?.content, + css: svgs.find(svg => svg.name === "css")?.content, + json: svgs.find(svg => svg.name === "json")?.content, + txt: svgs.find(svg => svg.name === "text")?.content, + vue: svgs.find(svg => svg.name === "vue")?.content, + }; + const getFileIcon = (fileName) => { + if (!fileName) return null; + const extension = fileName.split('.').pop().toLowerCase(); + const svgContent = iconMap[extension]; + return svgContent ? renderSvg(svgContent, styles['file-icon']) : null; + }; + const renderSvg = (content, className) => ( + + ); + useEffect(() => { + const highlight = async () => { + let lines = []; + if (highlightLines) { + lines = highlightLines[1].split(',').flatMap(range => { + const [start, end] = range.split('-').map(Number); + return end ? Array.from({ length: end - start + 1 }, (_, i) => start + i) : [start]; + }); + } + + const highlighted = await codeToHtml(props.children, { + lang: language, + theme: colorMode === 'dark' ? 'vitesse-dark' : 'vitesse-light', + transformers: [{ + name: 'line-highlight', + code(node) { + let lineIndex = 0; + node.children.forEach((child) => { + if (child.type === 'element' && child.tagName === 'span' && child.properties.class === 'line') { + lineIndex++; + if (lines.includes(lineIndex)) { + child.properties.class = 'line highlighted-line'; + } + } + }); + return node; + } + }] + }); + + setHighlightedCode(highlighted); + }; + + highlight(); + }, [props.children, colorMode, language, highlightLines]); + const copyCode = () => { + navigator.clipboard.writeText(props.children).then(() => { + setCopied(true); + setTimeout(() => setCopied(false), 2000); + }); + }; + return ( + <> +
+
+ {/* {fileName &&
{fileName} +
} */} + {fileName && ( +
+ {getFileIcon(fileName)} + {fileName} +
+ )} + +
+ {/* */} +
+
+ + ); +} + diff --git a/docs/src/theme/CodeBlock/svg.ts b/docs/src/theme/CodeBlock/svg.ts new file mode 100644 index 000000000..09063f134 --- /dev/null +++ b/docs/src/theme/CodeBlock/svg.ts @@ -0,0 +1,26 @@ +export const svgs = [ + { + name: "ts", + content: ``, + }, + { + name: "js", + content: ``, + }, + { + name: "css", + content: ``, + }, + { + name: "json", + content: `` + }, + { + name: "text", + content: `` + }, + { + name: "vue", + content: `` + } +]; diff --git a/docs/src/theme/CodeBlockShiki/index.module.css b/docs/src/theme/CodeBlockShiki/index.module.css index c830ffaf1..75230ee11 100644 --- a/docs/src/theme/CodeBlockShiki/index.module.css +++ b/docs/src/theme/CodeBlockShiki/index.module.css @@ -22,7 +22,6 @@ .code-title { font-weight: 600; - color: #495057; font-size: 0.9em; } @@ -34,7 +33,6 @@ border-radius: 4px; padding: 0.25em 0.5em; font-size: 0.85em; - color: #495057; cursor: pointer; transition: all 0.2s ease; } @@ -73,17 +71,3 @@ .copy-button svg { animation: popIn 0.3s ease forwards; } - -.code-content { - padding: 1em; - overflow-x: auto; - pre { - background-color: var(--code-pre-bg) !important; - } -} - -.shiki code { - font-family: "Fira Code", monospace; - font-size: 0.9em; - line-height: 1.5; -} diff --git a/docs/src/theme/PackageManagerTabs/index.tsx b/docs/src/theme/PackageManagerTabs/index.tsx index 43366585a..1f5d32928 100644 --- a/docs/src/theme/PackageManagerTabs/index.tsx +++ b/docs/src/theme/PackageManagerTabs/index.tsx @@ -1,12 +1,13 @@ import { Tabs, Tab } from '../ManagerTabs'; import React from 'react'; -import CodeBlock from "@theme/CodeBlock"; import { Npm } from './icons/Npm'; import { Yarn } from './icons/Yarn'; import { Pnpm } from './icons/Pnpm'; import { Bun } from './icons/Bun'; import { codeToHtml } from 'shiki'; import { useEffect, useState } from 'react'; +import useIsBrowser from '@docusaurus/useIsBrowser'; +import { useColorMode } from '@docusaurus/theme-common'; export interface PackageManagerTabProps { skip?: boolean; command: @@ -105,19 +106,25 @@ export function PackageManagerTabs({ }); } const [highlightedCode, setHighlightedCode] = useState({}); + const { colorMode } = useColorMode(); + const isBrowser = useIsBrowser(); useEffect(() => { async function highlightCode() { - const highlighted = {}; - for (const [key, value] of Object.entries(commandInfo)) { - highlighted[key] = await codeToHtml(value as string, { - lang: 'bash', - theme: 'nord' - }); + if (isBrowser) { + const { codeToHtml } = await import('shiki'); + const highlighted = {}; + for (const [key, value] of Object.entries(commandInfo)) { + highlighted[key] = await codeToHtml(value as string, { + lang: 'bash', + theme: colorMode === 'dark' ? 'vitesse-dark' : 'vitesse-light', + }); + } + setHighlightedCode(highlighted); } - setHighlightedCode(highlighted); } highlightCode(); - }, [command]); + }, [command, colorMode, isBrowser]); + return (
Farm + react

Edit src/main.tsx and save to test HMR diff --git a/packages/core/src/watcher/index.ts b/packages/core/src/watcher/index.ts index bbe8c0ccd..98c1fc9e7 100644 --- a/packages/core/src/watcher/index.ts +++ b/packages/core/src/watcher/index.ts @@ -31,10 +31,7 @@ export default class Watcher implements ImplFileWatcher { watcher: FSWatcher; extraWatchedFiles: string[]; - constructor( - public config: ResolvedUserConfig, - private logger: Logger = new Logger() - ) { + constructor(public config: ResolvedUserConfig) { this.resolveChokidarOptions(); } @@ -185,7 +182,6 @@ export default class Watcher implements ImplFileWatcher { const { ignored: ignoredList, ...otherOptions } = userWatchOptions ?? {}; const ignored: WatchOptions['ignored'] = [ '**/.git/**', - // TODO node_modules 这块的处理逻辑 以及是否会影响性能 '**/node_modules/**', '**/test-results/**', // Playwright glob.escapePath( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8df6532e5..092d4a459 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -139,6 +139,9 @@ importers: docusaurus-plugin-sass: specifier: 0.2.5 version: 0.2.5(@docusaurus/core@3.5.2(@docusaurus/types@3.5.2(@swc/core@1.7.26(@swc/helpers@0.5.3))(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@mdx-js/react@3.0.1(@types/react@18.2.35)(react@18.2.0))(@swc/core@1.7.26(@swc/helpers@0.5.3))(bufferutil@4.0.8)(eslint@8.57.0)(lightningcss@1.25.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.5.4)(vue-template-compiler@2.7.16(vue@3.4.35(typescript@5.5.4))))(sass@1.74.1)(webpack@5.92.1(@swc/core@1.7.26(@swc/helpers@0.5.3))) + docusaurus-preset-shiki-twoslash: + specifier: ^1.1.41 + version: 1.1.41 leva: specifier: ^0.9.35 version: 0.9.35(@types/react-dom@18.2.14)(@types/react@18.2.35)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -175,6 +178,9 @@ importers: react-use-measure: specifier: ^2.1.1 version: 2.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + remark-gfm: + specifier: ^4.0.0 + version: 4.0.0 sass: specifier: ^1.63.6 version: 1.74.1 @@ -800,7 +806,7 @@ importers: version: 5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2) farmup: specifier: latest - version: 0.1.2 + version: 0.1.4 jest: specifier: ^29.5.0 version: 29.7.0(@types/node@20.12.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.7.26(@swc/helpers@0.5.3))(@types/node@20.12.12)(typescript@5.4.5)) @@ -1957,7 +1963,7 @@ importers: version: 0.2.5(vue@2.6.14) tdesign-vue: specifier: latest - version: 1.10.0(vue@2.6.14) + version: 1.10.2(vue@2.6.14) vite-plugin-vue2-svg: specifier: ^0.4.0 version: 0.4.0(ejs@3.1.10)(lodash@4.17.21)(vue-template-compiler@2.6.14(vue@2.6.14)) @@ -1991,7 +1997,7 @@ importers: version: 0.2.5(vue@2.7.16) tdesign-vue: specifier: latest - version: 1.10.0(vue@2.7.16) + version: 1.10.2(vue@2.7.16) vite-plugin-vue2-svg: specifier: ^0.4.0 version: 0.4.0(ejs@3.1.10)(lodash@4.17.21)(vue-template-compiler@2.7.16(vue@2.7.16)) @@ -7688,6 +7694,15 @@ packages: resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} + '@typescript/twoslash@3.1.0': + resolution: {integrity: sha512-kTwMUQ8xtAZaC4wb2XuLkPqFVBj2dNBueMQ89NWEuw87k2nLBbuafeG5cob/QEr6YduxIdTVUjix0MtC7mPlmg==} + + '@typescript/vfs@1.3.4': + resolution: {integrity: sha512-RbyJiaAGQPIcAGWFa3jAXSuAexU4BFiDRF1g3hy7LmRqfNpYlTQWGXjcrOaVZjJ8YkkpuwG0FcsYvtWQpd9igQ==} + + '@typescript/vfs@1.3.5': + resolution: {integrity: sha512-pI8Saqjupf9MfLw7w2+og+fmb0fZS0J6vsKXXrp4/PDXEFvntgzXmChCXC/KefZZS0YGS6AT8e0hGAJcTsdJlg==} + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -10571,6 +10586,9 @@ packages: '@docusaurus/core': ^2.0.0-beta || ^3.0.0-alpha sass: ^1.30.0 + docusaurus-preset-shiki-twoslash@1.1.41: + resolution: {integrity: sha512-Ny5Ot+r7dMnfkcD+YcdtSmM4LVWoLRGWe/A6AqzcN4h6mqE82EU6KMA53wVI50YqgTOIIrNNI6QJr70rPWebcw==} + dom-accessibility-api@0.6.3: resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} @@ -11218,8 +11236,8 @@ packages: farm-plugin-replace-dirname@0.2.1: resolution: {integrity: sha512-aJ4euQzxoq0sVu4AwXrNQflHJrSZdrdApGEyVRtN6KiCop3CHXnTg9ydlyCNXN2unQB283aNjojvCd5E/32KgA==} - farmup@0.1.2: - resolution: {integrity: sha512-mWdAVzyi3fnvL/ARNomH5jI8IahLAPuW9xg0BRSMO72qLrCI3w2hpOgmKfEiOJf742DRSvpH3Z3pcqAa32sLmw==} + farmup@0.1.4: + resolution: {integrity: sha512-zOr66ynrL9F3WmfuhkwQ73wg1IBBdDAEAJBw3MuOfKRdpKzqyn2T5dVBvVqE4YAIF7GnDyBrw1f/V2Z94+9WNw==} hasBin: true fast-deep-equal@3.1.3: @@ -11286,6 +11304,10 @@ packages: resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} engines: {node: '>=0.4.0'} + fenceparser@1.1.1: + resolution: {integrity: sha512-VdkTsK7GWLT0VWMK5S5WTAPn61wJ98WPFwJiRHumhg4ESNUO/tnkU8bzzzc62o6Uk1SVhuZFLnakmDA4SGV7wA==} + engines: {node: '>=12'} + fflate@0.3.11: resolution: {integrity: sha512-Rr5QlUeGN1mbOHlaqcSYMKVpPbgLy0AWT/W0EHxA6NGI12yO1jpoui2zBBvU2G824ltM6Ut8BFgfHSBGfkmS0A==} @@ -13332,6 +13354,10 @@ packages: peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + maath@0.10.8: resolution: {integrity: sha512-tRvbDF0Pgqz+9XUa4jjfgAQ8/aPKmQdWXilFu2tMy4GWj4NOsx99HlULO4IeREfbO3a0sA145DZYyvXPkybm0g==} peerDependencies: @@ -16173,6 +16199,11 @@ packages: remark-rehype@11.1.1: resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} + remark-shiki-twoslash@3.1.3: + resolution: {integrity: sha512-4e8OH3ySOCw5wUbDcPszokOKjKuebOqlP2WlySvC7ITBOq27BiGsFlq+FNWhxppZ+JzhTWah4gQrnMjX3KDbAQ==} + peerDependencies: + typescript: '>3' + remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} @@ -16773,6 +16804,14 @@ packages: engines: {node: '>=4'} hasBin: true + shiki-twoslash@3.1.2: + resolution: {integrity: sha512-JBcRIIizi+exIA/OUhYkV6jtyeZco0ykCkIRd5sgwIt1Pm4pz+maoaRZpm6SkhPwvif4fCA7xOtJOykhpIV64Q==} + peerDependencies: + typescript: '>3' + + shiki@0.10.1: + resolution: {integrity: sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng==} + shiki@1.17.7: resolution: {integrity: sha512-Zf6hNtWhFyF4XP5OOsXkBTEx9JFPiN0TQx4wSe+Vqeuczewgk2vT4IZhF4gka55uelm052BD5BaHavNqUNZd+A==} @@ -17390,8 +17429,8 @@ packages: peerDependencies: vue: ^2.6.12 - tdesign-vue@1.10.0: - resolution: {integrity: sha512-vhAkNCn/8+FQd3+DE91DzMBfvc38XK9ZHrwLYuKKyuVGE+BzRFOdWuvcNEdSCcJSalw3arK/h+aycsHqwGVQ8Q==} + tdesign-vue@1.10.2: + resolution: {integrity: sha512-BsI4Fip2Cxklgpr+/iBHUBhRdczBkxHErcr9srMyz3DO/cjHtsyxuYHGNvERO063VPgefbA87Tc5ORn/dEhc+g==} peerDependencies: vue: ~2.6.10 @@ -17728,6 +17767,9 @@ packages: tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tslib@2.1.0: + resolution: {integrity: sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==} + tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} @@ -17939,6 +17981,9 @@ packages: unist-util-generated@2.0.1: resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} + unist-util-is@4.1.0: + resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} + unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} @@ -17963,12 +18008,18 @@ packages: unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + unist-util-visit-parents@3.1.1: + resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} + unist-util-visit-parents@5.1.3: resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} unist-util-visit-parents@6.0.1: resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + unist-util-visit@2.0.3: + resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} + unist-util-visit@4.1.2: resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} @@ -18360,6 +18411,12 @@ packages: vscode-languageserver-textdocument@1.0.12: resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} + vscode-oniguruma@1.7.0: + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} + + vscode-textmate@5.2.0: + resolution: {integrity: sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==} + vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} @@ -19587,8 +19644,8 @@ snapshots: '@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 debug: 4.3.6 lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -19619,7 +19676,7 @@ snapshots: '@babel/helper-member-expression-to-functions@7.23.0': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 '@babel/helper-member-expression-to-functions@7.24.8': dependencies: @@ -19639,7 +19696,7 @@ snapshots: '@babel/helper-module-imports@7.24.7': dependencies: '@babel/traverse': 7.25.6 - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -19684,7 +19741,7 @@ snapshots: '@babel/helper-optimise-call-expression@7.22.5': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 '@babel/helper-optimise-call-expression@7.24.7': dependencies: @@ -19789,7 +19846,7 @@ snapshots: '@babel/helpers@7.24.1': dependencies: '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 + '@babel/traverse': 7.25.6 '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color @@ -19907,36 +19964,20 @@ snapshots: dependencies: '@babel/core': 7.25.2 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3)': - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.3)': - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - optional: true - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3)': - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': dependencies: @@ -19968,25 +20009,15 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3)': - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3)': - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.2)': dependencies: @@ -20003,20 +20034,20 @@ snapshots: '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3)': + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3)': dependencies: @@ -20028,15 +20059,10 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3)': - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3)': dependencies: @@ -20048,15 +20074,10 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3)': - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3)': dependencies: @@ -20073,15 +20094,10 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3)': - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.23.2)': dependencies: @@ -20093,6 +20109,11 @@ snapshots: '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 @@ -20731,7 +20752,7 @@ snapshots: '@babel/traverse@7.24.1': dependencies: '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 + '@babel/generator': 7.25.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 @@ -23426,7 +23447,7 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.25.2 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 @@ -26355,6 +26376,26 @@ snapshots: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 + '@typescript/twoslash@3.1.0': + dependencies: + '@typescript/vfs': 1.3.5 + debug: 4.3.6 + lz-string: 1.5.0 + transitivePeerDependencies: + - supports-color + + '@typescript/vfs@1.3.4': + dependencies: + debug: 4.3.6 + transitivePeerDependencies: + - supports-color + + '@typescript/vfs@1.3.5': + dependencies: + debug: 4.3.6 + transitivePeerDependencies: + - supports-color + '@ungap/structured-clone@1.2.0': {} '@unocss/astro@0.62.2(rollup@4.14.1)(vite@5.2.8(@types/node@22.5.0)(less@4.2.0)(lightningcss@1.25.1)(sass@1.69.5)(terser@5.31.1))': @@ -26526,7 +26567,7 @@ snapshots: '@vanilla-extract/babel-plugin-debug-ids@1.0.6': dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.25.2 transitivePeerDependencies: - supports-color @@ -27735,7 +27776,7 @@ snapshots: minimatch: 5.1.6 read-config-file: 6.3.2 sanitize-filename: 1.6.3 - semver: 7.5.4 + semver: 7.6.3 tar: 6.2.1 temp-file: 3.4.0 transitivePeerDependencies: @@ -27978,19 +28019,6 @@ snapshots: b4a@1.6.6: {} - babel-jest@29.7.0(@babel/core@7.24.3): - dependencies: - '@babel/core': 7.24.3 - '@jest/transform': 29.7.0 - '@types/babel__core': 7.20.3 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.24.3) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - babel-jest@29.7.0(@babel/core@7.25.2): dependencies: '@babel/core': 7.25.2 @@ -28003,7 +28031,6 @@ snapshots: slash: 3.0.0 transitivePeerDependencies: - supports-color - optional: true babel-loader@9.2.1(@babel/core@7.25.2)(webpack@5.92.1(@swc/core@1.7.26(@swc/helpers@0.5.3))): dependencies: @@ -28107,22 +28134,6 @@ snapshots: core-js: 2.6.12 regenerator-runtime: 0.10.5 - babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.3): - dependencies: - '@babel/core': 7.24.3 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3) - babel-preset-current-node-syntax@1.0.1(@babel/core@7.25.2): dependencies: '@babel/core': 7.25.2 @@ -28138,20 +28149,12 @@ snapshots: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) - optional: true - - babel-preset-jest@29.6.3(@babel/core@7.24.3): - dependencies: - '@babel/core': 7.24.3 - babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.3) babel-preset-jest@29.6.3(@babel/core@7.25.2): dependencies: '@babel/core': 7.25.2 babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.25.2) - optional: true babel-preset-solid@1.8.4(@babel/core@7.23.2): dependencies: @@ -29922,6 +29925,14 @@ snapshots: - node-sass - webpack + docusaurus-preset-shiki-twoslash@1.1.41: + dependencies: + copy-text-to-clipboard: 3.2.0 + remark-shiki-twoslash: 3.1.3(typescript@5.5.4) + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + dom-accessibility-api@0.6.3: {} dom-align@1.12.4: {} @@ -30838,7 +30849,7 @@ snapshots: farm-plugin-replace-dirname-win32-ia32-msvc: 0.2.1 farm-plugin-replace-dirname-win32-x64-msvc: 0.2.1 - farmup@0.1.2: + farmup@0.1.4: dependencies: '@farmfe/core': link:packages/core tmp: 0.2.3 @@ -30907,6 +30918,8 @@ snapshots: dependencies: xml-js: 1.6.11 + fenceparser@1.1.1: {} + fflate@0.3.11: {} fflate@0.6.10: {} @@ -32429,7 +32442,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.25.2 - '@babel/parser': 7.25.3 + '@babel/parser': 7.25.6 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -32439,7 +32452,7 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: '@babel/core': 7.25.2 - '@babel/parser': 7.24.5 + '@babel/parser': 7.25.6 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 7.6.3 @@ -32559,10 +32572,10 @@ snapshots: jest-config@29.7.0(@types/node@20.12.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.7.26(@swc/helpers@0.5.3))(@types/node@20.12.12)(typescript@5.4.5)): dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.24.3) + babel-jest: 29.7.0(@babel/core@7.25.2) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -32590,10 +32603,10 @@ snapshots: jest-config@29.7.0(@types/node@20.14.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.7.26(@swc/helpers@0.5.3))(@types/node@20.12.12)(typescript@5.4.5)): dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.24.3) + babel-jest: 29.7.0(@babel/core@7.25.2) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -32775,15 +32788,15 @@ snapshots: jest-snapshot@29.7.0: dependencies: - '@babel/core': 7.24.3 - '@babel/generator': 7.24.1 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.25.2 + '@babel/generator': 7.25.6 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.25.2) + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.25.2) '@babel/types': 7.24.0 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.3) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.25.2) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -32794,7 +32807,7 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.5.4 + semver: 7.6.3 transitivePeerDependencies: - supports-color @@ -33346,6 +33359,8 @@ snapshots: dependencies: react: 18.2.0 + lz-string@1.5.0: {} + maath@0.10.8(@types/three@0.163.0)(three@0.168.0): dependencies: '@types/three': 0.163.0 @@ -33393,7 +33408,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.5.4 + semver: 7.6.3 make-error@1.3.6: {} @@ -37043,6 +37058,21 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 + remark-shiki-twoslash@3.1.3(typescript@5.5.4): + dependencies: + '@types/unist': 2.0.11 + '@typescript/twoslash': 3.1.0 + '@typescript/vfs': 1.3.4 + fenceparser: 1.1.1 + regenerator-runtime: 0.13.9 + shiki: 0.10.1 + shiki-twoslash: 3.1.2(typescript@5.5.4) + tslib: 2.1.0 + typescript: 5.5.4 + unist-util-visit: 2.0.3 + transitivePeerDependencies: + - supports-color + remark-stringify@11.0.0: dependencies: '@types/mdast': 4.0.4 @@ -37639,6 +37669,22 @@ snapshots: interpret: 1.4.0 rechoir: 0.6.2 + shiki-twoslash@3.1.2(typescript@5.5.4): + dependencies: + '@typescript/twoslash': 3.1.0 + '@typescript/vfs': 1.3.4 + fenceparser: 1.1.1 + shiki: 0.10.1 + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + + shiki@0.10.1: + dependencies: + jsonc-parser: 3.3.1 + vscode-oniguruma: 1.7.0 + vscode-textmate: 5.2.0 + shiki@1.17.7: dependencies: '@shikijs/core': 1.17.7 @@ -37691,7 +37737,7 @@ snapshots: simple-update-notifier@2.0.0: dependencies: - semver: 7.5.4 + semver: 7.6.3 sirv@2.0.3: dependencies: @@ -38410,7 +38456,7 @@ snapshots: classnames: 2.3.2 vue: 2.7.16 - tdesign-vue@1.10.0(vue@2.6.14): + tdesign-vue@1.10.2(vue@2.6.14): dependencies: '@babel/runtime': 7.23.2 '@popperjs/core': 2.11.8 @@ -38432,7 +38478,7 @@ snapshots: validator: 13.11.0 vue: 2.6.14 - tdesign-vue@1.10.0(vue@2.7.16): + tdesign-vue@1.10.2(vue@2.7.16): dependencies: '@babel/runtime': 7.23.2 '@popperjs/core': 2.11.8 @@ -38822,6 +38868,8 @@ snapshots: tslib@1.14.1: {} + tslib@2.1.0: {} + tslib@2.6.2: {} tslib@2.6.3: {} @@ -39049,6 +39097,8 @@ snapshots: unist-util-generated@2.0.1: {} + unist-util-is@4.1.0: {} + unist-util-is@5.2.1: dependencies: '@types/unist': 2.0.11 @@ -39082,6 +39132,11 @@ snapshots: dependencies: '@types/unist': 3.0.2 + unist-util-visit-parents@3.1.1: + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 4.1.0 + unist-util-visit-parents@5.1.3: dependencies: '@types/unist': 2.0.11 @@ -39092,6 +39147,12 @@ snapshots: '@types/unist': 3.0.3 unist-util-is: 6.0.0 + unist-util-visit@2.0.3: + dependencies: + '@types/unist': 2.0.11 + unist-util-is: 4.1.0 + unist-util-visit-parents: 3.1.1 + unist-util-visit@4.1.2: dependencies: '@types/unist': 2.0.11 @@ -39860,6 +39921,10 @@ snapshots: vscode-languageserver-textdocument@1.0.12: {} + vscode-oniguruma@1.7.0: {} + + vscode-textmate@5.2.0: {} + vscode-uri@3.0.8: {} vue-demi@0.14.10(@vue/composition-api@1.7.2(vue@3.3.7(typescript@5.5.4)))(vue@3.3.7(typescript@5.5.4)):