diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4cb6951b..f0d10bbf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,7 @@ jobs: strategy: matrix: - node-version: [20.x] + node-version: [lts/*] os: [ubuntu-latest, windows-latest] fail-fast: false diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 274f2ec7..00000000 --- a/.prettierignore +++ /dev/null @@ -1,7 +0,0 @@ -# Add files here to ignore them from prettier formatting -package.json -package-lock.json -/coverage -/dist -/docs -/node_modules diff --git a/.prettierrc.yml b/.prettierrc.yml deleted file mode 100644 index 1af5905f..00000000 --- a/.prettierrc.yml +++ /dev/null @@ -1,11 +0,0 @@ -# https://prettier.io/docs/en/configuration.html -printWidth: 160 -tabWidth: 2 -bracketSpacing: true -arrowParens: always -endOfLine: lf -singleQuote: true -trailingComma: all -semi: false -useTabs: false -htmlWhitespaceSensitivity: strict diff --git a/.vscode/settings.json b/.vscode/settings.json index a07260e3..20f23ee7 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,7 +6,7 @@ "bumpp", "composables", "instantsearch", - "Sakura", + "sakura", "typecheck", "valaxy", "valaxyjs" @@ -18,29 +18,32 @@ "files.associations": { "*.css": "postcss" }, - // Enable the ESlint flat config support - "eslint.useFlatConfig": true, - // Disable the default formatter, use eslint instead + "svg.preview.background": "editor", + "prettier.enable": false, "editor.formatOnSave": true, // Auto fix "editor.codeActionsOnSave": { - "source.fixAll.eslint": "explicit" + "source.fixAll.eslint": "explicit", + "source.organizeImports": "never" }, "[vue]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "dbaeumer.vscode-eslint" + }, + "[html]": { + "editor.defaultFormatter": "dbaeumer.vscode-eslint" }, "[javascript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "dbaeumer.vscode-eslint" }, "[typescript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "dbaeumer.vscode-eslint" }, "[json]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "dbaeumer.vscode-eslint" }, "[scss]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "dbaeumer.vscode-eslint" }, // Enable eslint for all supported languages "eslint.validate": [ @@ -53,6 +56,16 @@ "markdown", "json", "jsonc", - "yaml" + "yaml", + "toml", + "xml", + "gql", + "graphql", + "astro", + "css", + "less", + "scss", + "pcss", + "postcss" ] } diff --git a/README.md b/README.md index 47530e33..08b963ed 100644 --- a/README.md +++ b/README.md @@ -20,14 +20,14 @@ - 🌈 **主题化**: 主题化包含 Sakura 及 Ocean 🚧 - 🌸 **Sakura**: 主题化样式完全支持 [wordpress-theme-sakura](https://github.com/mashirozx/sakura) -- ❤️ **轻量级**: 组件通过树摇方式优化,实际使用中非常轻量 -- ⚡️ **快速**: 我们较注重性能优化,确保网站的性能 +- ❤️ **轻量级**: 未使用组件会通过树摇方式优化,实际使用中非常轻量 +- ⚡️ **快速**: 我们较注重性能优化,确保主题的性能 - 🎪 **互动文档与演示**: 提供互动性强的[文档和演示](https://sakura.valaxy.site/)功能 - 🦾 **类型安全**: 完全采用 [TypeScript](https://www.typescriptlang.org/) 编写,并使用 [TS Docs](https://github.com/microsoft/tsdoc) 提供详尽的文档说明 - 🔩 **高度可定制化**: 主题和功能可根据需求进行高度定制,完全可以利用主题组件构建全新样式 - 📦 **附加组件**: 集成多种常用插件,且发布主题常用插件,部分插件可通过主题化添加样式 - 🌍 **多语言支持**: 内置 i18n 中文和英文语言切换功能 -- 🎥 **多媒体横幅**: 支持多种格式的横幅,如图片、视频等,集成横幅组件如打字机效果、一言效果等 +- 🎥 **多媒体横幅**: 支持多种媒体格式的横幅,如图片、视频等,集成横幅组件如打字机效果、一言效果等 - 🧩 **多列布局**: 可以自由改变文章列表、主页排版及其他页面布局,使主题更加丰富多样 - 📚 **侧边栏**: 侧边栏可以设置为左侧或右侧打开,甚至可以将导航栏变成侧边栏 - 🎞 **动画效果**: 集成多种动画效果,用户可以方便地添加动画,不再依赖于主题默认效果 @@ -125,7 +125,7 @@ pnpm add valaxy-theme-sakura@latest ## 📋 其他 -关于计划清单已迁移至 [valaxy-theme-sakura projects](https://github.com/WRXinYue/valaxy-theme-sakura/projects) +相关计划清单已迁移至 [valaxy-theme-sakura projects](https://github.com/WRXinYue/valaxy-theme-sakura/projects) ## 🌸 致谢 diff --git a/demo/.valaxy/typed-router.d.ts b/demo/.valaxy/typed-router.d.ts index 01e73beb..af134f4b 100644 --- a/demo/.valaxy/typed-router.d.ts +++ b/demo/.valaxy/typed-router.d.ts @@ -12,7 +12,7 @@ declare module 'vue-router/auto-routes' { ParamValueOneOrMore, ParamValueZeroOrMore, ParamValueZeroOrOne, - } from 'unplugin-vue-router/types' + } from 'vue-router' /** * Route name map generated by unplugin-vue-router @@ -38,6 +38,7 @@ declare module 'vue-router/auto-routes' { '/posts/doc3': RouteRecordInfo<'/posts/doc3', '/posts/doc3', Record, Record>, '/posts/doc4': RouteRecordInfo<'/posts/doc4', '/posts/doc4', Record, Record>, '/posts/doc5': RouteRecordInfo<'/posts/doc5', '/posts/doc5', Record, Record>, + '/posts/draft': RouteRecordInfo<'/posts/draft', '/posts/draft', Record, Record>, '/posts/encrypted-part-post': RouteRecordInfo<'/posts/encrypted-part-post', '/posts/encrypted-part-post', Record, Record>, '/posts/encrypted-post': RouteRecordInfo<'/posts/encrypted-post', '/posts/encrypted-post', Record, Record>, '/posts/excerpt-type-ai': RouteRecordInfo<'/posts/excerpt-type-ai', '/posts/excerpt-type-ai', Record, Record>, @@ -48,6 +49,7 @@ declare module 'vue-router/auto-routes' { '/posts/hello-valaxy': RouteRecordInfo<'/posts/hello-valaxy', '/posts/hello-valaxy', Record, Record>, '/posts/hide': RouteRecordInfo<'/posts/hide', '/posts/hide', Record, Record>, '/posts/hide-in-index': RouteRecordInfo<'/posts/hide-in-index', '/posts/hide-in-index', Record, Record>, + '/posts/i18n': RouteRecordInfo<'/posts/i18n', '/posts/i18n', Record, Record>, '/posts/katex': RouteRecordInfo<'/posts/katex', '/posts/katex', Record, Record>, '/posts/long-toc': RouteRecordInfo<'/posts/long-toc', '/posts/long-toc', Record, Record>, '/posts/lots-of-images': RouteRecordInfo<'/posts/lots-of-images', '/posts/lots-of-images', Record, Record>, diff --git a/demo/components/SakuraNavbarCustom.vue b/demo/components/SakuraNavbarCustom.vue deleted file mode 100644 index 0f540c92..00000000 --- a/demo/components/SakuraNavbarCustom.vue +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/demo/package.json b/demo/package.json index 401f6b1e..09234e1a 100644 --- a/demo/package.json +++ b/demo/package.json @@ -17,7 +17,7 @@ "valaxy-theme-sakura": "workspace:*" }, "devDependencies": { - "nodemon": "^3.1.3", - "valaxy": "^0.18.9" + "nodemon": "^3.1.4", + "valaxy": "^0.19.0" } } diff --git a/demo/pages/posts/draft.md b/demo/pages/posts/draft.md new file mode 100644 index 00000000..b059c836 --- /dev/null +++ b/demo/pages/posts/draft.md @@ -0,0 +1,23 @@ +--- +title: 草稿测试 +draft: true +date: 2022-04-08 +tags: + - draft +--- + +::: zh-CN +草稿内容 +::: + +::: en +Here is the content of this draft +::: + +## Test + +Draft + + + + diff --git a/demo/pages/posts/i18n.md b/demo/pages/posts/i18n.md new file mode 100644 index 00000000..fecd974c --- /dev/null +++ b/demo/pages/posts/i18n.md @@ -0,0 +1,578 @@ +--- +title: i18n +date: 2022-04-09 +categories: Valaxy 开发笔记 +tags: + - valaxy + - i18n + - 笔记 +end: true +--- + +::: tip + +You can click this button to toggle locales. + +::: + +
+ +
+ +::: zh-CN + +> 在一个页面中实现 i18n + +为了使 [Valaxy](https://github.com/YunYouJun/valaxy) 成为一个国际化的项目,i18n 是必不可少的。 + +常见的 i18n 方案为采用不同的路径(如 `/zh-CN/`)或解析不同的域名(`cn.xxx.xxx`)来分别维护。 + +> 此外还可使用 [crowdin](https://crowdin.com/) 平台辅助用户进行多语言翻译。 + +但对于博客来说,这显然都很麻烦。 +当你需要 i18n 时,你不得不同时维护多个目录下的文章。 +当文章间存在相同的示例时,你还需要维护相同的内容。非常不优雅。 + +Valaxy 中, +站点的独立字段部分(如文章目录:Table of Contents)基于 [vue-i18n](https://vue-i18n.intlify.dev/) 实现, +而文章内容部分的大段文本则采用另一种 CSS i18n 的方案。 + +[我想先看看效果](#result) + +::: + +::: en + +> **i18n in One Page** + +In order to make [Valaxy](https://github.com/YunYouJun/valaxy) an international project, i18n is essential. + +Common i18n schemes are maintained separately using different paths (e.g. `/zh-CN/`) or resolving different domain names (`cn.xxx.xxx`). + +> In addition, the [crowdin](https://crowdin.com/) platform can be used to assist users with multilingual translations. + +But for blogs, this is obviously all a hassle. +When you need i18n, you have to maintain articles in multiple directories at the same time. +You also have to maintain the same content when the same examples exist between articles. +Very inelegant. + +In Valaxy, the +The standalone fields of the site (e.g. Table of Contents) are implemented based on [vue-i18n](https://vue-i18n.intlify.dev/). +The large text sections of the article content section use a different CSS i18n scheme. + +[I want to see the result first.](#result) + +::: + +## Vue-i18n + +::: zh-CN +配置 Vite Vue-i18n 插件 [@intlify/vite-plugin-vue-i18n](https://github.com/intlify/bundle-tools/tree/main/packages/vite-plugin-vue-i18n): +::: + +::: en +Config Vite Vue-i18n plugin [@intlify/vite-plugin-vue-i18n](https://github.com/intlify/bundle-tools/tree/main/packages/vite-plugin-vue-i18n): +::: + +```ts +import path from 'node:path' +import { defineConfig } from 'vite' +import VueI18n from '@intlify/vite-plugin-vue-i18n' + +export default defineConfig({ + plugins: [ + VueI18n({ + runtimeOnly: true, + compositionOnly: true, + include: [path.resolve(__dirname, 'locales/**')], + }), + ], +}) +``` + +::: zh-CN +在 `locales` 目录下配置 `zh-CN.yml` 与 `en.yml`: +::: + +::: en +Write `zh-CN.yml` and `en.yml` in `locales`. +::: + +```yaml +# zh-CN.yml +sidebar: + toc: 文章目录 +``` + +```yaml +# en.yml +sidebar: + toc: Table of Contents +``` + +::: zh-CN +并在主入口文件(如 `main.ts`)中初始化: +::: + +::: en +and initialized in the main entry file (e.g. `main.ts`). +::: + +```ts +import { createI18n } from 'vue-i18n' + +// import { createApp } from 'vue' +// import App from './App.vue' + +/* + * All i18n resources specified in the plugin `include` option can be loaded + * at once using the import syntax + */ +import messages from '@intlify/vite-plugin-vue-i18n/messages' + +const i18n = createI18n({ + legacy: false, + locale: 'en', + messages, +}) + +// const app = createApp(App) +app.use(i18n) +``` + +::: zh-CN +此时即可在 Vue 中使用 `t('')` 来翻译对应字段文本。 +::: + +::: en +You can then use `t('')` in Vue to translate the text of the corresponding field. +::: + +```vue + + + +``` + +### Messages when SSG + +::: zh-CN +`vue-i18n` 支持使用虚拟模块 `@intlify/vite-plugin-vue-i18n/messages` 的方式来导入多语言。 + +可惜的是,它并没有完美地支持 SSR。[#78 | intlify/bundle-tools](https://github.com/intlify/bundle-tools/issues/78) + +而 Vite 的 `import.meta.globEager` 导入必须使用静态字符串。 +::: + +::: en +`vue-i18n` supports importing multiple languages by using the virtual module `@intlify/vite-plugin-vue-i18n/messages`. + +Unfortunately, it doesn't support SSR perfectly.[#78 | intlify/bundle-tools](https://github.com/intlify/bundle-tools/issues/78) + +And Vite's `import.meta.globEager` import must use a static string. +::: + +```ts {3} +const messages = Object.fromEntries( + Object.entries( + import.meta.globEager('../../locales/*.y(a)?ml') + ) + .map(([key, value]) => { + const yaml = key.endsWith('.yaml') + return [key.slice(14, yaml ? -5 : -4), value.default] + }), +) +``` + +::: zh-CN +当拥有确定目录时,它是奏效的,但 Valaxy 还需要将 Valaxy 自身的 `locales` 与主题的 `locales` 以及用户自定义的 `locales` 进行合并。 +这意味着我们不能使用变量来拼接字符串进行导入,对于不同包管理器的目录结构不同,我们很难确定这些 `locales` 处于何处的相对位置。 + +因此我采用插件虚拟模块(`@valaxyjs/locales`)的形式实现(依次导入各目录下的 locales 数据并合并): + +> Vite 虚拟模块的原理其实就是拼接字符串。 +> ::: + +::: en +It works when there is a defined directory, but Valaxy also needs to merge Valaxy's own `locales` with the theme's `locales` and user-defined `locales`. +This means that we cannot use variables to splice strings for import, and it is difficult to determine the relative location of where these `locales` are for different package managers with different directory structures. + +So I implemented it in the form of a plugin virtual module (`@valaxyjs/locales`): + +> The principle of the Vite virtual module is actually a spliced string. +> ::: + +```ts +import type { Plugin } from 'vite' + +// import the locales data in each directory in turn and merge them +function generateLocales(roots: string[]) { + const imports: string[] = [ + 'const messages = { "zh-CN": {}, en: {} }', + ] + const languages = ['zh-CN', 'en'] + + roots.forEach((root, i) => { + languages.forEach((lang) => { + const langYml = `${root}/locales/${lang}.yml` + if (fs.existsSync(langYml) && fs.readFileSync(langYml, 'utf-8')) { + const varName = lang.replace('-', '') + i + // in windows, you need to change slash + // more info you can refer 'packages/valaxy/src/node/plugins/index.ts' + imports.push(`import ${varName} from "${langYml}"`) + imports.push(`Object.assign(messages['${lang}'], ${varName})`) + } + }) + }) + + imports.push('export default messages') + return imports.join('\n') +} + +export function createValaxyPlugin(options: ResolvedValaxyOptions): Plugin { + // ... + const roots = [options.clientRoot, options.themeRoot, options.userRoot] + + return { + name: 'Valaxy', + + load(id) { + // ... + if (id === '/@valaxyjs/locales') + return generateLocales(roots) + }, + + async handleHotUpdate(ctx) { + // ... + }, + } +} +``` + +::: zh-CN +最后在 i18n 的初始化文件加载: +::: + +::: en +Finally load in the i18n initialization file: +::: + +```ts +// i18n.ts +import messages from '/@valaxyjs/locales' + +const i18n = createI18n({ + legacy: false, + locale: 'en', + messages, +}) +app.use(i18n) +``` + +## CSS i18n - Another solution + +::: zh-CN + +> CSS i18n - 另一种互补解决方案 +> ::: + +::: en + +> CSS i18n - Another complementary solution +> ::: + +::: zh-CN +文章部分拥有大段的文本,而 `vue-i18n` 的场景则在于一些独立的字段翻译。 + +而传统的分文件独立管理的方式,对于博客来说其实并不方便。 +大多数情况,你并不会想专门建立一个文件夹来管理它。 + +因此我尝试使用纯 CSS 解决该问题。 +::: + +::: en +While the article section has large sections of text, the scenario of `vue-i18n` lies in some separate field translations. + +And the traditional way of managing them independently in separate files is not really convenient for blogs. +In most cases, you don't want to create a dedicated folder to manage it. + +So I tried to solve the problem using pure CSS. +::: + +
+ +::: tip 思路 +即借助 CSS 规则,根据对应语言,显示对应区块内容。 +大体方案:通过 [markdown-it-container](https://github.com/markdown-it/markdown-it-container) 设置 fence 预编译 Markdown, +为需要进行 i18n 的段落包裹新的 `
`,并使用 CSS 默认隐藏它们。 +当页面初始化或切换语言时,为 html 添加对应语言类,编写对应 CSS 以在该类下显示对应语言的区块。 +::: + +
+ +
+ +::: tip IDEA +That is, with the help of CSS rules, the content of the corresponding block is displayed according to the corresponding language. +The general solution: set fence to pre-compile Markdown via [markdown-it-container](https://github.com/markdown-it/markdown-it-container). +Wrap new `
`s for the paragraphs that need to be i18n and hide them by default with CSS. +When the page initializes or switches languages, add the corresponding language class to html and write the corresponding CSS to display the corresponding language block under that class. +::: + +
+ +::: zh-CN +**优势**: + +- 可在同一个 Markdown 文件中进行维护,书写便捷 +- 预加载与实时切换 +- URL 不变,便于管理与分享,且切换无需刷新页面 + +**劣势**: + +- 多语言内容被渲染在同一页面中,增加冗余(但我觉得这微小的体积完全是可以接受的) + ::: + +::: en +**Advantages**: + +- Can be maintained in the same Markdown file, easy to write +- Pre-loading and real-time switching +- URLs remain unchanged, easy to manage and share, and switch without refreshing the page + +**Disadvantages**: + +- Multi-language content is rendered in the same page, adding redundancy (but I think the tiny size is perfectly acceptable) + ::: + +### Result + +::: zh-CN +**效果如下**(点击按钮切换): +::: + +::: en +**The effect is as follows** (click the button to switch). +::: + + + +::: zh-CN +另一种 i18n 方案。 + +> 更多内容:... +> ::: + +::: en +Another i18n method. + +> More info... +> ::: + +::: zh-CN +中文 +::: + +::: en +English +::: + +--- + +::: zh-CN +**书写方式**如下: +::: + +::: en +**Written like this**: +::: + +```md +::: zh-CN +另一种 i18n 方案。 + +更多内容:... +::: + +::: en +Another i18n method. + +More info... +::: + +::: zh-CN +中文 +::: + +::: en +English +::: +``` + +### Steps + +::: zh-CN +**实现步骤** +::: + +::: zh-CN +为了能够借助 CSS 处理 i18n,我们借助 markdown-it-container 的 fence 包裹 Markdown 中需要参与 i18n 的内容。 +::: + +::: en +To be able to handle i18n with CSS, we use markdown-it-container's fence to wrap Markdown content that needs to participate in i18n. +::: + +```ts +export function containerPlugin(md: MarkdownIt) { + // ... + const languages = ['zh-CN', 'en'] + + languages.forEach((lang) => { + md.use(container, lang, { + render: (tokens: Token[], idx: number) => tokens[idx].nesting === 1 ? `
\n` : '
\n', + }) + }) +} +``` + +::: zh-CN +这可以使: +::: + +::: en +This allows: +::: + +```md +::: zh-CN +中文 +::: +``` + +::: zh-CN +变成 `
` 的形式。 + +> [lang](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang) 是 HTML 的一个标准字段。 + +为避免 class 命名冲突,我们可以采用 CSS attribute 的查询方式。 + +首先将 i18n 全部隐藏: +::: + +::: en +Be `
`. + +> [lang](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang) is a standard field in HTML. + +To avoid class naming conflicts, we can use the CSS attribute query. + +First, hide all i18n: +::: + +```scss +html[lang] { + .markdown-body { + div[lang] { + display: none; + } + } +} +``` + +::: zh-CN +编写 CSS/SCSS 规则,设定 html `lang` 为对应语言时,显示对应语言的元素即可。 +::: + +::: en +Write CSS/SCSS rules and set html `lang` to display elements in the corresponding language when it is the corresponding language. +::: + +```scss +$languages: zh-CN, en; + +@each $lang in $languages { + html[lang='#{$lang}'] { + // only for markdown + .markdown-body { + div[lang='#{$lang}'] { + display: block; + } + } + } +} +``` + +::: zh-CN +为了帮助用户记住自己的语言,还请不要忘记初始化。 +::: + +::: en +To help users remember their language, please also don't forget to initialize. +::: + +```html {9} + + + + + + + + ... + + +``` + +::: zh-CN +切换语言时则可做如下处理: +::: + +::: en +When switching languages, the following can be done. +::: + +```ts +function toggleLocales(lang: val) { + // ... + // save locale + localStorage.setItem('valaxy-locale', lang) + // set html lang + document.documentElement.setAttribute('lang', lang) +} +``` + +::: zh-CN +值得一提的是,在查看 `lang` 文档时,我意外地发现 `:lang` 也是一种支持的选择器。 +因此上述的 CSS 中 `[lang="xxx"]` 也可以替换为 `:lang(xxx)`。 + +但是 `:lang()` 也会命中默认语言的 `div`(没有 lang 字段,但处于含有 lang 的标签中),因此为了安全,我们还是应该使用 class 的属性查询。 +::: + +::: en +It's worth mentioning that when looking at the `lang` documentation, I accidentally found that `:lang` is also a supported selector. +So `[lang="xxx"]` in the CSS above could also be replaced with `:lang(xxx)`. + +However, `:lang()` will also hit the default language `div` (which has no lang field but is in a tag containing lang), so to be safe we should still use the class attribute query. +::: + +::: zh-CN +我认为 vue-i18n 与 CSS i18n 的互补,可以非常好地解决单页内的 i18n 切换。 +不妨一试? +::: + +::: en +I think vue-i18n complements CSS i18n and could be a very good solution for i18n switching within a single page. +Why not give it a try? +::: diff --git a/demo/pages/posts/test.md b/demo/pages/posts/test.md index eb5364d8..c1ecb666 100644 --- a/demo/pages/posts/test.md +++ b/demo/pages/posts/test.md @@ -12,6 +12,7 @@ tags: --- ::: zh-CN + [[toc]] 标题是一级标题 @@ -36,18 +37,11 @@ tags: - DDD - EEE -### 有序列表 - -1. 一级 - 1. TEST -2. 二级 -3. 三級 - ### Checkbox - [ ] FLAG - [x] FLAG -::: + ::: ::: en [[toc]] @@ -78,13 +72,7 @@ The title is a primary title - [ ] FLAG - [x] FLAG -::: + ::: ![]() _a_ - -## Dead Links - - - -## 一个非常长的长标题测试一个非常长的长标题测试 diff --git a/demo/valaxy.config.ts b/demo/valaxy.config.ts index 30851ef7..bb50a1c5 100644 --- a/demo/valaxy.config.ts +++ b/demo/valaxy.config.ts @@ -119,6 +119,10 @@ export default defineConfig({ link: 'https://sakura.wrxinyue.org/atom.xml', }, ], + navbarOptions: { + invert: true, + autoHide: true, + }, sidebar: [ { diff --git a/docs/.valaxy/typed-router.d.ts b/docs/.valaxy/typed-router.d.ts index 9a268f41..0443ea6a 100644 --- a/docs/.valaxy/typed-router.d.ts +++ b/docs/.valaxy/typed-router.d.ts @@ -12,7 +12,7 @@ declare module 'vue-router/auto-routes' { ParamValueOneOrMore, ParamValueZeroOrMore, ParamValueZeroOrOne, - } from 'unplugin-vue-router/types' + } from 'vue-router' /** * Route name map generated by unplugin-vue-router diff --git a/docs/pages/examples/config.md b/docs/pages/examples/config.md index 9ee4d06f..f31eca37 100644 --- a/docs/pages/examples/config.md +++ b/docs/pages/examples/config.md @@ -9,8 +9,6 @@ codeHeightLimit: 300 ## 配置示例 -### 示例1 - ~~~ts diff --git a/eslint.config.js b/eslint.config.js index 3b614a0d..b0f3d78c 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,3 +1,8 @@ import antfu from '@antfu/eslint-config' -export default antfu() +export default antfu( + { + unocss: true, + formatters: true, + }, +) diff --git a/package.json b/package.json index 28ea2d9d..024179c4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "type": "module", "private": true, - "packageManager": "pnpm@9.3.0", + "packageManager": "pnpm@9.5.0", "homepage": "https://sakura.wrxinyue.org", "scripts": { "build": "npm run build:demo", @@ -27,14 +27,16 @@ "three": "^0.164.1" }, "devDependencies": { - "@antfu/eslint-config": "2.7.0", + "@antfu/eslint-config": "2.22.0-beta.3", "@playwright/test": "^1.45.0", - "bumpp": "^9.3.1", - "eslint": "^8.57.0", - "typescript": "^5.3.3", - "valaxy": "^0.18.9", + "@unocss/eslint-plugin": "^0.61.3", + "bumpp": "^9.4.1", + "eslint": "^8.6.0", + "eslint-plugin-format": "^0.1.2", + "typescript": "^5.5.3", + "valaxy": "^0.19.0", "valaxy-theme-sakura": "workspace:*", "vitest": "^1.6.0", - "vue-tsc": "2.0.17" + "vue-tsc": "2.0.26" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 261ab74a..0e25cd30 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,23 +13,29 @@ importers: version: 0.164.1 devDependencies: '@antfu/eslint-config': - specifier: 2.7.0 - version: 2.7.0(@vue/compiler-sfc@3.4.31)(eslint@8.57.0)(typescript@5.5.3)(vitest@1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)) + specifier: 2.22.0-beta.3 + version: 2.22.0-beta.3(@unocss/eslint-plugin@0.61.3(eslint@8.57.0)(typescript@5.5.3))(@vue/compiler-sfc@3.4.31)(eslint-plugin-format@0.1.2(eslint@8.57.0))(eslint@8.57.0)(typescript@5.5.3)(vitest@1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)) '@playwright/test': specifier: ^1.45.0 version: 1.45.1 + '@unocss/eslint-plugin': + specifier: ^0.61.3 + version: 0.61.3(eslint@8.57.0)(typescript@5.5.3) bumpp: - specifier: ^9.3.1 + specifier: ^9.4.1 version: 9.4.1 eslint: - specifier: ^8.57.0 + specifier: ^8.6.0 version: 8.57.0 + eslint-plugin-format: + specifier: ^0.1.2 + version: 0.1.2(eslint@8.57.0) typescript: - specifier: ^5.3.3 + specifier: ^5.5.3 version: 5.5.3 valaxy: - specifier: ^0.18.9 - version: 0.18.9(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3) + specifier: ^0.19.0 + version: 0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3) valaxy-theme-sakura: specifier: workspace:* version: link:theme @@ -37,14 +43,14 @@ importers: specifier: ^1.6.0 version: 1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6) vue-tsc: - specifier: 2.0.17 - version: 2.0.17(typescript@5.5.3) + specifier: 2.0.26 + version: 2.0.26(typescript@5.5.3) demo: dependencies: valaxy-addon-algolia: specifier: ^0.0.3 - version: 0.0.3(@algolia/client-search@4.24.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(valaxy@0.18.9(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3)) + version: 0.0.3(@algolia/client-search@4.24.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(valaxy@0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3)) valaxy-addon-live2d: specifier: workspace:* version: link:../packages/valaxy-addon-live2d @@ -53,20 +59,20 @@ importers: version: 0.1.3 valaxy-addon-twikoo: specifier: ^0.0.3 - version: 0.0.3(valaxy@0.18.9(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3)) + version: 0.0.3(valaxy@0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3)) valaxy-addon-waline: specifier: 0.1.1 - version: 0.1.1(typescript@5.5.3)(valaxy@0.18.9(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3)) + version: 0.1.1(typescript@5.5.3)(valaxy@0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3)) valaxy-theme-sakura: specifier: workspace:* version: link:../theme devDependencies: nodemon: - specifier: ^3.1.3 + specifier: ^3.1.4 version: 3.1.4 valaxy: - specifier: ^0.18.9 - version: 0.18.9(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3) + specifier: ^0.19.0 + version: 0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3) docs: dependencies: @@ -150,8 +156,8 @@ importers: specifier: ^3.0.9 version: 3.0.10 valaxy: - specifier: ^0.18.9 - version: 0.18.9(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3) + specifier: ^0.19.0 + version: 0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3) valaxy-addon-hitokoto: specifier: 0.0.1 version: 0.0.1 @@ -160,7 +166,7 @@ importers: version: 0.0.5 valaxy-addon-waline: specifier: 0.1.1 - version: 0.1.1(typescript@5.5.3)(valaxy@0.18.9(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3)) + version: 0.1.1(typescript@5.5.3)(valaxy@0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3)) packages: @@ -233,22 +239,29 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@antfu/eslint-config@2.7.0': - resolution: {integrity: sha512-CMILR+ZeiahWk8LhDlsHij/LPygX6QvQxl5AknTXm2QcFpMR6CZ14JHxTgkQJnRLM78D/CYZXwV38rU3us3PlQ==} + '@antfu/eslint-config@2.22.0-beta.3': + resolution: {integrity: sha512-fGeDxkjB3IBD2hfP0PcOpc7qL/MYymrbO7WK1MpbNOa5PoTbWP1jPVgjZ64RIwnycmT1DjAUs6gtbnJpGqQapw==} hasBin: true peerDependencies: + '@eslint-react/eslint-plugin': ^1.5.8 + '@prettier/plugin-xml': ^3.4.1 '@unocss/eslint-plugin': '>=0.50.0' - astro-eslint-parser: ^0.16.3 + astro-eslint-parser: ^1.0.2 eslint: '>=8.40.0' - eslint-plugin-astro: ^0.31.4 + eslint-plugin-astro: ^1.2.0 eslint-plugin-format: '>=0.1.0' - eslint-plugin-react: ^7.33.2 eslint-plugin-react-hooks: ^4.6.0 eslint-plugin-react-refresh: ^0.4.4 - eslint-plugin-svelte: ^2.34.1 + eslint-plugin-solid: ^0.13.2 + eslint-plugin-svelte: '>=2.35.1' + prettier-plugin-astro: ^0.13.0 prettier-plugin-slidev: ^1.0.5 - svelte-eslint-parser: ^0.33.1 + svelte-eslint-parser: '>=0.37.0' peerDependenciesMeta: + '@eslint-react/eslint-plugin': + optional: true + '@prettier/plugin-xml': + optional: true '@unocss/eslint-plugin': optional: true astro-eslint-parser: @@ -257,23 +270,21 @@ packages: optional: true eslint-plugin-format: optional: true - eslint-plugin-react: - optional: true eslint-plugin-react-hooks: optional: true eslint-plugin-react-refresh: optional: true + eslint-plugin-solid: + optional: true eslint-plugin-svelte: optional: true + prettier-plugin-astro: + optional: true prettier-plugin-slidev: optional: true svelte-eslint-parser: optional: true - '@antfu/eslint-define-config@1.23.0-2': - resolution: {integrity: sha512-LvxY21+ZhpuBf/aHeBUtGQhSEfad4PkNKXKvDOSvukaM3XVTfBhwmHX2EKwAsdq5DlfjbT3qqYyMiueBIO5iDQ==} - engines: {node: '>=18.0.0', npm: '>=9.0.0', pnpm: '>= 8.6.0'} - '@antfu/install-pkg@0.1.1': resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} @@ -462,6 +473,14 @@ packages: '@braintree/sanitize-url@6.0.4': resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} + '@clack/core@0.3.4': + resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==} + + '@clack/prompts@0.7.0': + resolution: {integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==} + bundledDependencies: + - is-unicode-supported + '@ctrl/tinycolor@4.1.0': resolution: {integrity: sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==} engines: {node: '>=14'} @@ -489,6 +508,15 @@ packages: search-insights: optional: true + '@dprint/formatter@0.3.0': + resolution: {integrity: sha512-N9fxCxbaBOrDkteSOzaCqwWjso5iAe+WJPsHC021JfHNj2ThInPNEF13ORDKta3llq5D1TlclODCvOvipH7bWQ==} + + '@dprint/markdown@0.17.1': + resolution: {integrity: sha512-Mk9C9tHHSScB3JOUd2PEP3keWnJZ8Kqcd99qaVhknzhxgZF/gGTx0CMyd+lpsIV+Moe+OtbRnqAjp+hKVtT1zQ==} + + '@dprint/toml@0.6.2': + resolution: {integrity: sha512-Mk5unEANsL/L+WHYU3NpDXt1ARU5bNU5k5OZELxaJodDycKG6RoRnSlZXpW6+7UN2PSnETAFVUdKrh937ZwtHA==} + '@es-joy/jsdoccomment@0.43.1': resolution: {integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==} engines: {node: '>=16'} @@ -641,19 +669,14 @@ packages: resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-types/jsdoc@46.8.2-1': - resolution: {integrity: sha512-FwD7V0xX0jyaqj8Ul5ZY+TAAPohDfVqtbuXJNHb+OIv1aTIqZi5+Zn3F2UwQ5O3BnQd2mTduyK0+HjGx3/AMFg==} - - '@eslint-types/typescript-eslint@7.5.0': - resolution: {integrity: sha512-zKvsPBDq6o0L4p2sRtq8fxOtGc+mm37aZSXLsiD4DIRl2kYUxKNO9CKDTAgmuMYUzih9J7lbLxAomreLrdAiVQ==} - - '@eslint-types/unicorn@51.0.1': - resolution: {integrity: sha512-RuuEK+dBISEikf7a8lrWOrDCUYv09sZfqLoG/kozH+5UqEvot1xMmGHXomGkTyB68rzjgJe0N4uESVyL62obJw==} - '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@8.57.0': resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -885,6 +908,9 @@ packages: '@shikijs/core@1.10.1': resolution: {integrity: sha512-qdiJS5a/QGCff7VUFIqd0hDdWly9rDp8lhVmXVrS11aazX8LOTRLHAXkkEeONNsS43EcCd7gax9LLoOz4vlFQA==} + '@shikijs/core@1.10.3': + resolution: {integrity: sha512-D45PMaBaeDHxww+EkcDQtDAtzv00Gcsp72ukBtaLSmqRvh0WgGMq3Al0rl1QQBZfuneO75NXMIzEZGFitThWbg==} + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -892,32 +918,32 @@ packages: resolution: {integrity: sha512-HJAGf2DeM+BTvKzHv752z6Z7zy6bA643nZM7W88Ft9tnw2GsJSp6iJ+3cekjyMIWH+cloL2U9X82dKXgdU8kPg==} deprecated: '''@studio-freight/lenis'' has been renamed to just ''lenis'', run ''npx @darkroom.engineering/codemods'' to update your dependecies accordingly.' - '@stylistic/eslint-plugin-js@1.8.1': - resolution: {integrity: sha512-c5c2C8Mos5tTQd+NWpqwEu7VT6SSRooAguFPMj1cp2RkTYl1ynKoXo8MWy3k4rkbzoeYHrqC2UlUzsroAN7wtQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@stylistic/eslint-plugin-js@2.6.0-beta.0': + resolution: {integrity: sha512-KQiNvzNzvl9AmMs1MiIBszLIy/Xy1bTExnyaVy5dSzOF9c+yT64JQfH0p0jP6XpGwoCnZsrPUNflwP30G42QBQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-jsx@1.8.1': - resolution: {integrity: sha512-k1Eb6rcjMP+mmjvj+vd9y5KUdWn1OBkkPLHXhsrHt5lCDFZxJEs0aVQzE5lpYrtVZVkpc5esTtss/cPJux0lfA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@stylistic/eslint-plugin-jsx@2.6.0-beta.0': + resolution: {integrity: sha512-TOimEpr3vndXHRhuQ5gMqmJv1SBlFI3poIJzyeNMmXi3NWVHoPxfd4QAJHGNJe5G3EO2NAXGf2H7nl8gY5QaZA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-plus@1.8.1': - resolution: {integrity: sha512-4+40H3lHYTN8OWz+US8CamVkO+2hxNLp9+CAjorI7top/lHqemhpJvKA1LD9Uh+WMY9DYWiWpL2+SZ2wAXY9fQ==} + '@stylistic/eslint-plugin-plus@2.6.0-beta.0': + resolution: {integrity: sha512-Wp+e4sTbFq0Uk5ncU3PETYfg1IcCZ1KycdlqFYXIA7/bgcieeShXouXUcA+S/S5+gWLXGuVJ12IxNzY8yfe4IA==} peerDependencies: eslint: '*' - '@stylistic/eslint-plugin-ts@1.8.1': - resolution: {integrity: sha512-/q1m+ZuO1JHfiSF16EATFzv7XSJkc5W6DocfvH5o9oB6WWYFMF77fVoBWnKT3wGptPOc2hkRupRKhmeFROdfWA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@stylistic/eslint-plugin-ts@2.6.0-beta.0': + resolution: {integrity: sha512-WMz1zgmMC3bvg1L/tiYt5ygvDbTDKlbezoHoX2lV9MnUCAEQZUP4xJ9Wj3jmIKxb4mUuK5+vFZJVcOygvbbqow==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin@1.8.1': - resolution: {integrity: sha512-64My6I7uCcmSQ//427Pfg2vjSf9SDzfsGIWohNFgISMLYdC5BzJqDo647iDDJzSxINh3WTC0Ql46ifiKuOoTyA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@stylistic/eslint-plugin@2.6.0-beta.0': + resolution: {integrity: sha512-1NJy1iIDSFC4gelDJ82VMTq9J32tNvQ9k1lnxOsipZ0YQB826U5zGLiH37QAM8dRfNY6yeYhjlrUVtZUxFR19w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' @@ -1032,9 +1058,15 @@ packages: '@types/gravatar@1.8.6': resolution: {integrity: sha512-RM21doTkeywTC+kAzlt25a+YIj0DITJIL729xPlrV91oowIGgthEXWFXNQ9wpm/44eCyn01xYt9AfK69esGEyQ==} + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/http-proxy@1.17.14': resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + '@types/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -1065,70 +1097,57 @@ packages: '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@types/unist@2.0.10': resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - '@typescript-eslint/eslint-plugin@7.15.0': - resolution: {integrity: sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/eslint-plugin@8.0.0-alpha.40': + resolution: {integrity: sha512-yku4NjpP0UujYq8d1GWXYELpKYwuoESSgvXPd9uAiO24OszGxQhPsGWTe4fmZV05J47qILfaGANO9SCa9fEU0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@7.15.0': - resolution: {integrity: sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/parser@8.0.0-alpha.40': + resolution: {integrity: sha512-cjIgiaxmGtjlA6rRSs0Gsh0mWR08kPv1W+HsrZcuFwWxoGavBZPKtNctXND0NVf6MgSKyIcd4AHqBwE0htp5uw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/scope-manager@6.21.0': - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/scope-manager@7.15.0': resolution: {integrity: sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.15.0': - resolution: {integrity: sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@8.0.0-alpha.40': + resolution: {integrity: sha512-KQL502sCGZW+dYvxIzF6rEozbgppN0mBkYV6kT8ciY5OtFIRlLDTP7NdVAMMDk7q35T7Ad8negaQ9AGpZ8+Y5w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/type-utils@8.0.0-alpha.40': + resolution: {integrity: sha512-/Aynkgxy3x22i6Zxy73MR/r0y1OELOMC9Atn7MO97NsjBOrQQYJHi/UEklZ423aB8SCkYH34lO6EAzXX/lIN3g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/types@6.21.0': - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/types@7.15.0': resolution: {integrity: sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/typescript-estree@6.21.0': - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/types@8.0.0-alpha.40': + resolution: {integrity: sha512-44mUq4VZVydxNlOM8Xtp/BXDkyfuvvjgPIBf7vRQDutrLDeNS0pJ9pcSloSbop5MwKLfJjBU+PbwnJPQM+DWNg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@7.15.0': resolution: {integrity: sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==} @@ -1139,11 +1158,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@6.21.0': - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/typescript-estree@8.0.0-alpha.40': + resolution: {integrity: sha512-bz1rX5GXvGdx686FghDxPqGwgntlseZCQSRrVGDDOZlLSoWJnbfkzxXGOWch9c3ttcGkdFy/DiCyKKga3hrq0g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true '@typescript-eslint/utils@7.15.0': resolution: {integrity: sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA==} @@ -1151,14 +1173,20 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/visitor-keys@6.21.0': - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/utils@8.0.0-alpha.40': + resolution: {integrity: sha512-ijxO1Hs3YWveuWK+Vbt25D05Q41UeK08JwEJbWTzV38LmkdCBktQd7X1sTw4W9Qku692HWuHgesZf6OhC8t3aA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 '@typescript-eslint/visitor-keys@7.15.0': resolution: {integrity: sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@8.0.0-alpha.40': + resolution: {integrity: sha512-y1stojSPb5D3M8VlGGpaiBU5XxGLe+sPuW0YbLe09Lxvo4AwKGvhAr5lhqJZo4z6qHNz385+6+BS63+qIQdYLw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -1190,90 +1218,183 @@ packages: vite: optional: true + '@unocss/astro@0.61.3': + resolution: {integrity: sha512-VTgO+nm7PW7/VJt1kf1/4qTqMp4X4CdNG1XjYRGmCTONW+yHhFUEC1NAXt7t2wKEvCYSf5ObmjYowr2qM+GafQ==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + vite: + optional: true + '@unocss/cli@0.61.0': resolution: {integrity: sha512-NuwBFHpnI40PBu84/3c9JpyO02TBNoRPzZ+kJ0hmFa+dv8Ro7Sb1AMlLJ5t3ZjELhsh0zXQf6ucS9mpqu+785g==} engines: {node: '>=14'} hasBin: true + '@unocss/cli@0.61.3': + resolution: {integrity: sha512-yj4whI4PwwK9cZXVrtl10AkZlyl9+569xYX+g89cBxqG2wpnbfBvug/hsvw3DyPG6i2MxKAv3Z78uruKnzCIjw==} + engines: {node: '>=14'} + hasBin: true + '@unocss/config@0.61.0': resolution: {integrity: sha512-k8uV4n8eMti4S6BFeAkc9QBXJefDIlPyOWrdKykUMOHLIWVAIS53JixW9FJNgJRw0RVI6B7UR+rOznWwKpORPA==} engines: {node: '>=14'} + '@unocss/config@0.61.3': + resolution: {integrity: sha512-ZSSj5ST8XhiKoi2hLtVcyS8YJxn+Ug/WfasQ2wwOArcYfVFzZUoOQKbLo85hFuI7NV5Fh/aQREoVaJQI111jDA==} + engines: {node: '>=14'} + '@unocss/core@0.61.0': resolution: {integrity: sha512-Y/Ly3LPIAzOBlWCdKBVzVzIaaWDsf+oWPIUZlaW7DL++WWypVBCghmxXIT5dyuMGXE560Hj92st4AkXfuVdxGQ==} + '@unocss/core@0.61.3': + resolution: {integrity: sha512-9vixY1i5E0DQFtHJz/pHyFlFsiXJgL1bKHuocbl+GUi09lY/gE9TRm2qr2JOJx/BF720tMv9VxYI8Zq3EyPOXA==} + + '@unocss/eslint-plugin@0.61.3': + resolution: {integrity: sha512-Ss6xw5KDoccRDGC+BcZeB3ePAqgUJkf6idMOx/BG3cJATatk0Ydkr/o3KwEg7XDD5JIkACcTSz7YWRJ0z0s7YA==} + engines: {node: '>=14'} + '@unocss/extractor-arbitrary-variants@0.61.0': resolution: {integrity: sha512-9ru/UR4kZ1+jGXpMawV9T8kpL54FrJBmWKMuFlDTEDIwtzDyyfLbt/buoXdzKDLmil9hOXH3IH8+dah/OiiDoA==} + '@unocss/extractor-arbitrary-variants@0.61.3': + resolution: {integrity: sha512-8yFAavi4PXTZTyJqsSQJuZNdaERMyLP4Gs4IzBDt8zjmUrXmYfgV+bKif2eE52QKvtb5/Jsij3fgfMsJouln7A==} + '@unocss/inspector@0.61.0': resolution: {integrity: sha512-gpL2RNw6Cp145kTxWN0BG/tWd4x3LVbgkZfyUlh5IAZHWKAq9MWA0jIifV2RU94h4rbSBNHxz50bodYtkzeM8A==} + '@unocss/inspector@0.61.3': + resolution: {integrity: sha512-F2WfVYdzM+CnocVSptBh945G85+RcxGd0KDm6q+Ctjs5NrHtT0TzX83USMLSjfFzTz/j+Q/kR1WOJWjKynVTXQ==} + '@unocss/postcss@0.61.0': resolution: {integrity: sha512-0ZHUeLYu057xL1vXg2coV62ly6zaCgYdA/oHKCMaU9KT0TI49+DE73GouHypRNM5YXfuUPfXhPGGUuFWkAbI1A==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 + '@unocss/postcss@0.61.3': + resolution: {integrity: sha512-i76kuYbrvqkVhdfD37mnVqiBJiq9azGzbKZHFIjFWApOxFLak1OTHX5TIwxPspFm8u7U7kmU03JCnqyxWIE0wQ==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + '@unocss/preset-attributify@0.61.0': resolution: {integrity: sha512-E0oIfYAnnm8piSU7cbAnLIKKz0TwlHMOfAcg0Z0jv2N/MatCpq0BCJZHeE0fEw53OUc+oa6Dpd509rOEUXp/tA==} + '@unocss/preset-attributify@0.61.3': + resolution: {integrity: sha512-TSgje5WDfoicTOoh/Od6qlizkZd68vXTdtT7jYEvjCm2mV7EgDJpX+sj2eVv0rPuaARtIqs1b4yG7w3HA6BBnQ==} + '@unocss/preset-icons@0.61.0': resolution: {integrity: sha512-xI7isKu1fQbyGee1lcJBLwvUlmubYbPN4ymepUamfprNPlWrzb5Gj2+SROERlzzrTaI8C0YdBxsYMGyOV94dXQ==} + '@unocss/preset-icons@0.61.3': + resolution: {integrity: sha512-XNti2mgfbRCClzKxy7eMPukgk/mepyGGJNqtONnZmOkzkyhx6KQ2/luhMYnz5xONMG/aseoXMc4Zc1VzOqePRA==} + '@unocss/preset-mini@0.61.0': resolution: {integrity: sha512-P+DdMtPtzAQ2aQ1/WWPoO3X/qvky+Fqq4eKXIvbqXOQ9c2oem7/dnsPeT08zzLIqxVJnuykymPwRT85EumS0gg==} + '@unocss/preset-mini@0.61.3': + resolution: {integrity: sha512-QY9P7jcLePkmCGQSqX+ha4Rh2YhY9b9P8gtLFnjzqcdmSxvDFkT7Kf5Un/u/jwV+zCz/5t4F88vWLzBM6js6yQ==} + '@unocss/preset-tagify@0.61.0': resolution: {integrity: sha512-Q3709A8/4fFZdQ4vfKfgDSugQYd21BoSO+TomJp/QMi9iyPjGsrERQilciMmkuRyAe8Q1rdLh+6ioGiJEU0XHQ==} + '@unocss/preset-tagify@0.61.3': + resolution: {integrity: sha512-ir+gZJ20hZKapsrxWRTjFjyVJmmUcnkvhk1AiMgoG62MP6GzBQgbkAiy2TzJIEU0zQb8pYhtZ5KePtno+1vcaQ==} + '@unocss/preset-typography@0.61.0': resolution: {integrity: sha512-chT2KvgeKsXoDFSedfP0BjhFLYgcDUBJCX0omJOXVVz9q7vB898abhZ5zA9Rcpmbkby4ovtbIjc2RqG9uIKLaQ==} + '@unocss/preset-typography@0.61.3': + resolution: {integrity: sha512-0b1JSk5/oi4DT86dO2sdscZlih4fVo//U6bh1cROAfLlYJsHlAEZau8IxLADcgBAYwCGtY94npfp6y60R37T/A==} + '@unocss/preset-uno@0.61.0': resolution: {integrity: sha512-mkKOra3dQEc3uI7aPIqa3t8MJXlmpLSgGaPfEJK52xkFe991ex6CiUunYMMWbh6ZSzmdxkO31IwQIH9lcmj/Uw==} + '@unocss/preset-uno@0.61.3': + resolution: {integrity: sha512-ULP0hLBTNJuB0iQqaYaJZYbC4jwQYy0C6H7un3o4R+KsqIuyDanme2VsY51U5mN/pp7K6QJK6qE8EHVvtjCLHQ==} + '@unocss/preset-web-fonts@0.61.0': resolution: {integrity: sha512-9bYvk2BSryLgguZ5qTDPVEhgD/olZiTAy/7JqHzrKKTh7xPURO1IcG2vbX354unfhTDR6GZIKiAkk64qJZUDPw==} + '@unocss/preset-web-fonts@0.61.3': + resolution: {integrity: sha512-uBQKjIY+vUWCEqcgjEzdxok8svOmNNHDk1r+qh/Y5VLPWvPdA+Bb5iIwrxib3zzQvkT+au/utCeTGKGgIVhcXA==} + '@unocss/preset-wind@0.61.0': resolution: {integrity: sha512-PooyLVAF4wH9KvW4OKfDxYFuM4qmnlU+Ci6O6RGgVsKyQMq76crRqqK76lbnehg7jOoZJVxmWfQ6k5gT3aQeXQ==} + '@unocss/preset-wind@0.61.3': + resolution: {integrity: sha512-THdTNAYEtvLz/jhHNgkpLFxC+LNn4W2VqDmpmK/fVMgSlhOYJ8IoQlt8nwgBRbNkEksvgItq8gL/t5+2sHGHhA==} + '@unocss/reset@0.61.0': resolution: {integrity: sha512-VqemtmzH8Rgu5yNomtv50gIcy4KZ2x1aP+7WZCds9x5ZdTSEjbfCOgUDI9rDrrGSipJkCmJ1yOhUPMC7ND6Hfw==} + '@unocss/reset@0.61.3': + resolution: {integrity: sha512-WegQ6Plmr/H0D9wuKCVjhUMzi/xAn55A0mJgUnKl1pJHTZetRdK29u0bnpVQzynmlh/Lh4YtD+X4r8DVkASgPw==} + '@unocss/rule-utils@0.61.0': resolution: {integrity: sha512-MCdmfhE6Q9HSWjWqi2sx5/nnKyOEhfhoo+pVumHIqkHQICQ/LuKioFf7Y7e5ycqjFE/7dC2hKGZJ8WTMGIOMwA==} engines: {node: '>=14'} + '@unocss/rule-utils@0.61.3': + resolution: {integrity: sha512-XwzXE6YUAEc1+4TvJruZfntIM7eo+HdQDMlMI289w9YLLAXw973fp00E9U1dR16JRt1BWzlCnnY1RHAqSiXCVw==} + engines: {node: '>=14'} + '@unocss/scope@0.61.0': resolution: {integrity: sha512-uDk84LX2meZHskSvy0Mad7jgF0Be6el16F9DKYYvxlUxlzu/mCj6PQpQrXi8uZ2+O3akneHFqAbO6ewYShKdQA==} + '@unocss/scope@0.61.3': + resolution: {integrity: sha512-yElJs2uUiBHyTHKLqWZRK5zvY+7XIqoFXc1Fkv+fxiGy1+4u+zLGoGA66bUWwbjDFLiFgEqwUBJ2+SzDC4Q0Ig==} + '@unocss/transformer-attributify-jsx-babel@0.61.0': resolution: {integrity: sha512-D9z28MQM4w8oowMZRiz7kxEVlor1/XUfaVBTujAS6Ks7Ly+0/91LuOLSHU9uC7vcKmMRI0Q2+Ww2hsVNf2z7ww==} + '@unocss/transformer-attributify-jsx-babel@0.61.3': + resolution: {integrity: sha512-Ubr2/XhB61C2EqrH0TnbJ9bGREvrORyotdRxpCCAzkBWh3i+J+kPrdGCFUgB+wHFcUPUuOKou+8o0rhWVY7mjw==} + '@unocss/transformer-attributify-jsx@0.61.0': resolution: {integrity: sha512-mC0+O7KmxP5b0DlPyGVdu/3NM/33f9CgfXmwu+U+3NSsAfcCLjJ7nD1MOjl3vcFV5YpudTy1EVaqhcROQRSZIg==} + '@unocss/transformer-attributify-jsx@0.61.3': + resolution: {integrity: sha512-KK4pi7xsxjRKk/RSFxkdl1JODsefD1YMaqgs6HM2KCdXctqUXd6RYQez7IfQwxnAeZupgatwoFe2CZd0Bbhq2g==} + '@unocss/transformer-compile-class@0.61.0': resolution: {integrity: sha512-iTQyWz+IbNZrQWCQaibHMY2+8+VoG4ZpizeyYKXHZe11/HaomSvorJwZdufEUTrdWmUzRhJgumGl1TW4FaJwpg==} + '@unocss/transformer-compile-class@0.61.3': + resolution: {integrity: sha512-qHxJtRo+yjC0d+IIoNrOxnO8j5bdw7R4XDpR8+MKpGZgVQRmEGwl7Ej0PUGTudVknYGUdPmDTZGr693bzhwzQg==} + '@unocss/transformer-directives@0.61.0': resolution: {integrity: sha512-15nIynJPYFYnW/TUQu0NyZ5uxTDcrRyY8sB3axcYZOqqlu1hgPFotVukl6jqCZgGUR1AbfbnJwuDlcBQeT8xpA==} + '@unocss/transformer-directives@0.61.3': + resolution: {integrity: sha512-FNJCOlXwi62tVXr4B8lDkHGxOIhNJw2qQpM5jeohLT7xpGPOmVvscWaWI0h6fjSREFwnnbRNif4YPLe/rB6PsA==} + '@unocss/transformer-variant-group@0.61.0': resolution: {integrity: sha512-5DHEram3iv+c9jPQW8p629aFyptyzdP5yNnRSMLBZcwyJ672VAKzPUZLYHh5UOUb69eaet3og1cU8uxpHhGKtQ==} + '@unocss/transformer-variant-group@0.61.3': + resolution: {integrity: sha512-F7v05kfVDhIJ4lu3fjgkwV2GWoeJX4aszER8iqhwWz+0jVUaJRYAxzsVqE299uJ0ut07d+Di+JB7M4ZBRoH3qw==} + '@unocss/vite@0.61.0': resolution: {integrity: sha512-gjxLJrja1hqDwdd8z3QvzfMCcKppGqiL2+A6aHwG/AXfEmZMydA50U7VvJK7Wx8/Enm26G6JQrtGrpu+kK3QpQ==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + '@unocss/vite@0.61.3': + resolution: {integrity: sha512-Z2kq/hSv1RC3PYAaoXOGB0PEWXCVsgYtdnuFXR/8Tp0Yj2Wdeq906/s411/sqMUvXIaIhm2O9WaDfe0ISoV0sg==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + '@valaxyjs/devtools@0.18.10': resolution: {integrity: sha512-hcnVd4GzkMZaJiPpVPi9DYo+KR0W2i4PosXTgser/yE7ohLXDGTHbEoe7WcnRsjNTj0hPjQG98cS49blR/9f4w==} '@valaxyjs/devtools@0.18.9': resolution: {integrity: sha512-7Yc2Y9V2CH61+VfA71KigjUEhsdVGUWSknkTFJ/eI5e9WW82nXBIsRwTAHOm9oUsriGzouXigAMqSbGeQEnFjg==} + '@valaxyjs/devtools@0.19.0': + resolution: {integrity: sha512-x7zGjvrvoFZ4QAoJVkzXzV7ZNppXCmdmBmi8/QupbYr6ISuW3zdQdV5AA0tEaBgT5CDDSNshAToTru1HC9v8sQ==} + '@vitejs/plugin-vue@5.0.5': resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -1296,14 +1417,14 @@ packages: '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} - '@volar/language-core@2.2.5': - resolution: {integrity: sha512-2htyAuxRrAgETmFeUhT4XLELk3LiEcqoW/B8YUXMF6BrGWLMwIR09MFaZYvrA2UhbdAeSyeQ726HaWSWkexUcQ==} + '@volar/language-core@2.4.0-alpha.15': + resolution: {integrity: sha512-mt8z4Fm2WxfQYoQHPcKVjLQV6PgPqyKLbkCVY2cr5RSaamqCHjhKEpsFX66aL4D/7oYguuaUw9Bx03Vt0TpIIA==} - '@volar/source-map@2.2.5': - resolution: {integrity: sha512-wrOEIiZNf4E+PWB0AxyM4tfhkfldPsb3bxg8N6FHrxJH2ohar7aGu48e98bp3pR9HUA7P/pR9VrLmkTrgCCnWQ==} + '@volar/source-map@2.4.0-alpha.15': + resolution: {integrity: sha512-8Htngw5TmBY4L3ClDqBGyfLhsB8EmoEXUH1xydyEtEoK0O6NX5ur4Jw8jgvscTlwzizyl/wsN1vn0cQXVbbXYg==} - '@volar/typescript@2.2.5': - resolution: {integrity: sha512-eSV/n75+ppfEVugMC/salZsI44nXDPAyL6+iTYCNLtiLHGJsnMv9GwiDMujrvAUj/aLQyqRJgYtXRoxop2clCw==} + '@volar/typescript@2.4.0-alpha.15': + resolution: {integrity: sha512-U3StRBbDuxV6Woa4hvGS4kz3XcOzrWUKgFdEFN+ba1x3eaYg7+ytau8ul05xgA+UNGLXXsKur7fTUhDFyISk0w==} '@vue-macros/common@1.10.4': resolution: {integrity: sha512-akO6Bd6U4jP0+ZKbHq6mbYkw1coOrJpLeVmkuMlUsT5wZRi11BjauGcZHusBSzUjgCBsa1kZTyipxrxrWB54Hw==} @@ -1359,8 +1480,8 @@ packages: '@vue/devtools-shared@7.3.5': resolution: {integrity: sha512-Rqii3VazmWTi67a86rYopi61n5Ved05EybJCwyrfoO9Ok3MaS/4yRFl706ouoISMlyrASJFEzM0/AiDA6w4f9A==} - '@vue/language-core@2.0.17': - resolution: {integrity: sha512-tHw2J6G9yL4kn3jN5MftOHEq86Y6qnuohBQ1OHkJ73fAv3OYgwDI1cfX7ds0OEJEycOMG64BA3ql5bDgDa41zw==} + '@vue/language-core@2.0.26': + resolution: {integrity: sha512-/lt6SfQ3O1yDAhPsnLv9iSUgXd1dMHqUm/t3RctfqjuwQf1LnftZ414X3UBn6aXT4MiwXWtbNJ4Z0NZWwDWgJQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -1562,9 +1683,6 @@ packages: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} - builtins@5.1.0: - resolution: {integrity: sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==} - bumpp@9.4.1: resolution: {integrity: sha512-kzhp/LpNX0HkUpEyLd7sU2LTN/mbAVgcxJ1Zi2cAJTE/tul6rypSKGpH8UywDpzKWItL8LVdKsIFnwmylw0+7g==} engines: {node: '>=10'} @@ -2110,6 +2228,10 @@ packages: encode-utf8@1.0.3: resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} + enhanced-resolve@5.17.0: + resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + engines: {node: '>=10.13.0'} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -2156,20 +2278,22 @@ packages: engines: {node: '>=6.0'} hasBin: true - eslint-compat-utils@0.4.1: - resolution: {integrity: sha512-5N7ZaJG5pZxUeNNJfUchurLVrunD1xJvyg5kYOIVF8kg1f3ajTikmAu/5fZ9w100omNPOoMjngRszh/Q/uFGMg==} - engines: {node: '>=12'} - peerDependencies: - eslint: '>=6.0.0' - eslint-compat-utils@0.5.1: resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} engines: {node: '>=12'} peerDependencies: eslint: '>=6.0.0' - eslint-config-flat-gitignore@0.1.5: - resolution: {integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==} + eslint-config-flat-gitignore@0.1.6: + resolution: {integrity: sha512-9MDrX6SNdwb+QtYR4Ox88f5HUPeDog1TgkqFXMJAXpLHZqVpTA5sT/DAGKUj8+TBrQXXemM325dROAofRtTa+w==} + + eslint-flat-config-utils@0.2.5: + resolution: {integrity: sha512-iO+yLZtC/LKgACerkpvsZ6NoRVB2sxT04mOpnNcEM1aTwKy+6TsT46PUvrML4y2uVBS6I67hRCd2JiKAPaL/Uw==} + + eslint-formatting-reporter@0.0.0: + resolution: {integrity: sha512-k9RdyTqxqN/wNYVaTk/ds5B5rA8lgoAmvceYN7bcZMBwU7TuXx5ntewJv81eF3pIL/CiJE+pJZm36llG8yhyyw==} + peerDependencies: + eslint: '>=8.40.0' eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -2179,32 +2303,19 @@ packages: peerDependencies: eslint: '*' - eslint-module-utils@2.8.1: - resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true + eslint-parser-plain@0.1.0: + resolution: {integrity: sha512-oOeA6FWU0UJT/Rxc3XF5Cq0nbIZbylm7j8+plqq0CZoE6m4u32OXJrR+9iy4srGMmF6v6pmgvP1zPxSRIGh3sg==} eslint-plugin-antfu@2.3.4: resolution: {integrity: sha512-5RIjJpBK1tuNHuLyFyZ90/iW9s439dP1u2cxA4dH70djx9sKq1CqI+O6Q95aVjgFNTDtQzSC9uYdAD5uEEKciQ==} peerDependencies: eslint: '*' + eslint-plugin-command@0.2.3: + resolution: {integrity: sha512-1bBYNfjZg60N2ZpLV5ATYSYyueIJ+zl5yKrTs0UFDdnyu07dNSZ7Xplnc+Wb6SXTdc1sIaoIrnuyhvztcltX6A==} + peerDependencies: + eslint: '*' + eslint-plugin-es-x@7.8.0: resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -2217,11 +2328,16 @@ packages: peerDependencies: eslint: '>=4.19.1' - eslint-plugin-i@2.29.1: - resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} - engines: {node: '>=12'} + eslint-plugin-format@0.1.2: + resolution: {integrity: sha512-ZrcO3aiumgJ6ENAv65IWkPjtW77ML/5mp0YrRK0jdvvaZJb+4kKWbaQTMr/XbJo6CtELRmCApAziEKh7L2NbdQ==} peerDependencies: - eslint: ^7.2.0 || ^8 + eslint: ^8.40.0 || ^9.0.0 + + eslint-plugin-import-x@0.5.3: + resolution: {integrity: sha512-hJ/wkMcsLQXAZL3+txXIDpbW5cqwdm1rLTqV4VRY03aIbzE3zWE7rPZKW6Gzf7xyl1u3V1iYC6tOG77d9NF4GQ==} + engines: {node: '>=16'} + peerDependencies: + eslint: ^8.56.0 || ^9.0.0-0 eslint-plugin-jsdoc@48.5.2: resolution: {integrity: sha512-VXBJFviQz30rynlOEQ+dNWLmeopjoAgutUVrWOZwm6Ki4EVDm4XkyIqAV/Zhf7FcDr0AG0aGmRn5FxxCtAF0tA==} @@ -2235,17 +2351,17 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-plugin-markdown@3.0.1: - resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-plugin-markdown@5.0.0: + resolution: {integrity: sha512-kY2u9yDhzvfZ0kmRTsvgm3mTnvZgTSGIIPeHg3yesSx4R5CTCnITUjCPhzCD1MUhNcqHU5Tr6lzx+02EclVPbw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: '>=8' - eslint-plugin-n@16.6.2: - resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} - engines: {node: '>=16.0.0'} + eslint-plugin-n@17.9.0: + resolution: {integrity: sha512-CPSaXDXdrT4nsrOrO4mT4VB6FMUkoySRkHWuuJJHVqsIEjIeZgMY1H7AzSwPbDScikBmLN82KeM1u7ixV7PzGg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '>=7.0.0' + eslint: '>=8.23.0' eslint-plugin-no-only-tests@3.1.0: resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} @@ -2269,34 +2385,40 @@ packages: vue-eslint-parser: optional: true - eslint-plugin-toml@0.9.2: - resolution: {integrity: sha512-ri0xf63PYf3pIq/WY9BIwrqxZmGTIwSkAO0bHddI0ajUwN4KGz6W8vOvdXFHOpRdRfzxlmXze/vfsY/aTEXESg==} + eslint-plugin-regexp@2.6.0: + resolution: {integrity: sha512-FCL851+kislsTEQEMioAlpDuK5+E5vs0hi1bF8cFlPlHcEjeRhuAzEsGikXRreE+0j4WhW2uO54MqTjXtYOi3A==} + engines: {node: ^18 || >=20} + peerDependencies: + eslint: '>=8.44.0' + + eslint-plugin-toml@0.11.1: + resolution: {integrity: sha512-Y1WuMSzfZpeMIrmlP1nUh3kT8p96mThIq4NnHrYUhg10IKQgGfBZjAWnrg9fBqguiX4iFps/x/3Hb5TxBisfdw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' - eslint-plugin-unicorn@51.0.1: - resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} - engines: {node: '>=16'} + eslint-plugin-unicorn@54.0.0: + resolution: {integrity: sha512-XxYLRiYtAWiAjPv6z4JREby1TAE2byBC7wlh0V4vWDCpccOSU1KovWV//jqPXF6bq3WKxqX9rdjoRQ1EhdmNdQ==} + engines: {node: '>=18.18'} peerDependencies: eslint: '>=8.56.0' - eslint-plugin-unused-imports@3.2.0: - resolution: {integrity: sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-plugin-unused-imports@4.0.0: + resolution: {integrity: sha512-mzM+y2B7XYpQryVa1usT+Y/BdNAtAZiXzwpSyDCboFoJN/LZRN67TNvQxKtuTK/Aplya3sLNQforiubzPPaIcQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/eslint-plugin': 6 - 7 - eslint: '8' + '@typescript-eslint/eslint-plugin': '8' + eslint: '9' peerDependenciesMeta: '@typescript-eslint/eslint-plugin': optional: true - eslint-plugin-vitest@0.3.26: - resolution: {integrity: sha512-oxe5JSPgRjco8caVLTh7Ti8PxpwJdhSV0hTQAmkFcNcmy/9DnqLB/oNVRA11RmVRP//2+jIIT6JuBEcpW3obYg==} + eslint-plugin-vitest@0.5.4: + resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==} engines: {node: ^18.0.0 || >= 20.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': '*' - eslint: '>=8.0.0' + eslint: ^8.57.0 || ^9.0.0 vitest: '*' peerDependenciesMeta: '@typescript-eslint/eslint-plugin': @@ -2334,11 +2456,19 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true + espree@10.1.0: + resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2388,6 +2518,9 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -2538,6 +2671,10 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} + globals@15.8.0: + resolution: {integrity: sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==} + engines: {node: '>=18'} + globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -2964,6 +3101,10 @@ packages: resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} engines: {node: 14 || >=16.14} + lru-cache@10.4.0: + resolution: {integrity: sha512-bfJaPTuEiTYBu+ulDaeQ0F+uLmlfFkMgXj4cbwfuMSjgObGMzb55FMMbDvbRU0fAHZ4sLGkz2mKwcMg8Dvm8Ww==} + engines: {node: '>=18'} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -3149,10 +3290,6 @@ packages: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -3472,6 +3609,10 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + prettier@3.3.2: resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} engines: {node: '>=14'} @@ -3562,6 +3703,14 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + refa@0.12.1: + resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + regexp-ast-analysis@0.7.1: + resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + regexp-tree@0.1.27: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true @@ -3657,6 +3806,10 @@ packages: scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scslre@0.3.0: + resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} + engines: {node: ^14.0.0 || >=16.0.0} + scule@1.3.0: resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} @@ -3704,6 +3857,9 @@ packages: shiki@1.10.1: resolution: {integrity: sha512-uafV7WCgN4YYrccH6yxpnps6k38sSTlFRrwc4jycWmhWxJIm9dPrk+XkY1hZ2t0I7jmacMNb15Lf2fspa/Y3lg==} + shiki@1.10.3: + resolution: {integrity: sha512-eneCLncGuvPdTutJuLyUGS8QNPAVFO5Trvld2wgEq1e002mwctAhJKeMGWtWVXOIEzmlcLRqcgPSorR6AVzOmQ==} + side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} @@ -3766,12 +3922,18 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + stable-hash@0.0.4: + resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} star-markdown-css@0.4.2: resolution: {integrity: sha512-H9KLteIZDPqjXOOJ0qVUEDk4V/S8xXOkBJcTTrbiPi/bLRwTOMesKcQ2/dMJXjgtximcGfCQRQjjsitrS4CfYQ==} + star-markdown-css@0.5.1: + resolution: {integrity: sha512-c8tN9e1teWe9ckRiirCbBIhPX3JIqGO/oRdOwp+gk9Ew76OG9V3Wb0iWQtPsBwoY/bLxeOBt6Co3Re6lESM94w==} + statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} @@ -3859,6 +4021,10 @@ packages: resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} engines: {node: ^14.18.0 || >=16.0.0} + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} @@ -3892,8 +4058,8 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - toml-eslint-parser@0.9.3: - resolution: {integrity: sha512-moYoCvkNUAPCxSW9jmHmRElhm4tVJpHL8ItC/+uYD0EpPSFXbck7yREz9tNdJVTSpHVod8+HoipcpbQ0oE6gsw==} + toml-eslint-parser@0.10.0: + resolution: {integrity: sha512-khrZo4buq4qVmsGzS5yQjKe/WsFvV8fGfOjDQN0q4iy9FjRfPWRgTFrU8u1R2iu/SfWLhY9WnCi4Jhdrcbtg+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} totalist@3.0.1: @@ -4013,6 +4179,18 @@ packages: vite: optional: true + unocss@0.61.3: + resolution: {integrity: sha512-Mpci+yP9CUnDjSwm0EAq9U76cgiNB5UM0ztXfDjjMiSe+jOS6sZ2A+kZ5JY9ZBRx5TX0Wh4kQBoPQQ1ooxHicg==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.61.3 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} @@ -4120,6 +4298,11 @@ packages: engines: {node: ^14.18.0 || >=16.0.0} hasBin: true + valaxy@0.19.0: + resolution: {integrity: sha512-DIwIhQMIgiJ01hd0Ov/W/MqqZwopk/tx5AqYmVZeQqbH/ikOT7hkvZ0e87y2LqoLTlut1kFx/0bYv0UeZnd4PQ==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -4235,6 +4418,9 @@ packages: jsdom: optional: true + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + vue-demi@0.14.8: resolution: {integrity: sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==} engines: {node: '>=12'} @@ -4271,11 +4457,11 @@ packages: peerDependencies: vue: ^3.0.2 - vue-tsc@2.0.17: - resolution: {integrity: sha512-RRZsiCBD1hvATQb321xV+SkRDKsK5hgFQ4WXy5wuYsyyjz8xAK4DjxHkpH7PFoJKUbZTbeW8KzhejzXZS49Tzw==} + vue-tsc@2.0.26: + resolution: {integrity: sha512-tOhuwy2bIXbMhz82ef37qeiaQHMXKQkD6mOF6CCPl3/uYtST3l6fdNyfMxipudrQTxTfXVPlgJdMENBFfC1CfQ==} hasBin: true peerDependencies: - typescript: '*' + typescript: '>=5.0.0' vue@3.4.31: resolution: {integrity: sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ==} @@ -4530,56 +4716,54 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@antfu/eslint-config@2.7.0(@vue/compiler-sfc@3.4.31)(eslint@8.57.0)(typescript@5.5.3)(vitest@1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6))': + '@antfu/eslint-config@2.22.0-beta.3(@unocss/eslint-plugin@0.61.3(eslint@8.57.0)(typescript@5.5.3))(@vue/compiler-sfc@3.4.31)(eslint-plugin-format@0.1.2(eslint@8.57.0))(eslint@8.57.0)(typescript@5.5.3)(vitest@1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6))': dependencies: - '@antfu/eslint-define-config': 1.23.0-2 '@antfu/install-pkg': 0.3.3 - '@eslint-types/jsdoc': 46.8.2-1 - '@eslint-types/typescript-eslint': 7.5.0 - '@eslint-types/unicorn': 51.0.1 - '@stylistic/eslint-plugin': 1.8.1(eslint@8.57.0)(typescript@5.5.3) - '@typescript-eslint/eslint-plugin': 7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) - '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + '@clack/prompts': 0.7.0 + '@stylistic/eslint-plugin': 2.6.0-beta.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/parser': 8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 - eslint-config-flat-gitignore: 0.1.5 + eslint-config-flat-gitignore: 0.1.6 + eslint-flat-config-utils: 0.2.5 eslint-merge-processors: 0.1.0(eslint@8.57.0) eslint-plugin-antfu: 2.3.4(eslint@8.57.0) + eslint-plugin-command: 0.2.3(eslint@8.57.0) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) - eslint-plugin-i: 2.29.1(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0) + eslint-plugin-import-x: 0.5.3(eslint@8.57.0)(typescript@5.5.3) eslint-plugin-jsdoc: 48.5.2(eslint@8.57.0) eslint-plugin-jsonc: 2.16.0(eslint@8.57.0) - eslint-plugin-markdown: 3.0.1(eslint@8.57.0) - eslint-plugin-n: 16.6.2(eslint@8.57.0) + eslint-plugin-markdown: 5.0.0(eslint@8.57.0) + eslint-plugin-n: 17.9.0(eslint@8.57.0) eslint-plugin-no-only-tests: 3.1.0 eslint-plugin-perfectionist: 2.11.0(eslint@8.57.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@8.57.0)) - eslint-plugin-toml: 0.9.2(eslint@8.57.0) - eslint-plugin-unicorn: 51.0.1(eslint@8.57.0) - eslint-plugin-unused-imports: 3.2.0(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0) - eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)(vitest@1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)) + eslint-plugin-regexp: 2.6.0(eslint@8.57.0) + eslint-plugin-toml: 0.11.1(eslint@8.57.0) + eslint-plugin-unicorn: 54.0.0(eslint@8.57.0) + eslint-plugin-unused-imports: 4.0.0(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0) + eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)(vitest@1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)) eslint-plugin-vue: 9.27.0(eslint@8.57.0) eslint-plugin-yml: 1.14.0(eslint@8.57.0) eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.31)(eslint@8.57.0) - globals: 14.0.0 + globals: 15.8.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.0 parse-gitignore: 2.0.0 picocolors: 1.0.1 - prompts: 2.4.2 - toml-eslint-parser: 0.9.3 + toml-eslint-parser: 0.10.0 vue-eslint-parser: 9.4.3(eslint@8.57.0) yaml-eslint-parser: 1.2.3 yargs: 17.7.2 + optionalDependencies: + '@unocss/eslint-plugin': 0.61.3(eslint@8.57.0)(typescript@5.5.3) + eslint-plugin-format: 0.1.2(eslint@8.57.0) transitivePeerDependencies: - '@vue/compiler-sfc' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - supports-color - svelte - typescript - vitest - '@antfu/eslint-define-config@1.23.0-2': {} - '@antfu/install-pkg@0.1.1': dependencies: execa: 5.1.1 @@ -4842,6 +5026,17 @@ snapshots: '@braintree/sanitize-url@6.0.4': {} + '@clack/core@0.3.4': + dependencies: + picocolors: 1.0.1 + sisteransi: 1.0.5 + + '@clack/prompts@0.7.0': + dependencies: + '@clack/core': 0.3.4 + picocolors: 1.0.1 + sisteransi: 1.0.5 + '@ctrl/tinycolor@4.1.0': {} '@docsearch/css@3.6.0': {} @@ -4870,6 +5065,12 @@ snapshots: transitivePeerDependencies: - '@algolia/client-search' + '@dprint/formatter@0.3.0': {} + + '@dprint/markdown@0.17.1': {} + + '@dprint/toml@0.6.2': {} + '@es-joy/jsdoccomment@0.43.1': dependencies: '@types/eslint': 8.56.10 @@ -4955,12 +5156,6 @@ snapshots: '@eslint-community/regexpp@4.11.0': {} - '@eslint-types/jsdoc@46.8.2-1': {} - - '@eslint-types/typescript-eslint@7.5.0': {} - - '@eslint-types/unicorn@51.0.1': {} - '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 @@ -4975,6 +5170,20 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/eslintrc@3.1.0': + dependencies: + ajv: 6.12.6 + debug: 4.3.5(supports-color@5.5.0) + espree: 10.1.0 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + '@eslint/js@8.57.0': {} '@humanwhocodes/config-array@0.11.14': @@ -5194,52 +5403,55 @@ snapshots: '@shikijs/core@1.10.1': {} + '@shikijs/core@1.10.3': + dependencies: + '@types/hast': 3.0.4 + '@sinclair/typebox@0.27.8': {} '@studio-freight/lenis@1.0.42': {} - '@stylistic/eslint-plugin-js@1.8.1(eslint@8.57.0)': + '@stylistic/eslint-plugin-js@2.6.0-beta.0(eslint@8.57.0)': dependencies: '@types/eslint': 8.56.10 acorn: 8.12.1 - escape-string-regexp: 4.0.0 eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-visitor-keys: 4.0.0 + espree: 10.1.0 - '@stylistic/eslint-plugin-jsx@1.8.1(eslint@8.57.0)': + '@stylistic/eslint-plugin-jsx@2.6.0-beta.0(eslint@8.57.0)': dependencies: - '@stylistic/eslint-plugin-js': 1.8.1(eslint@8.57.0) + '@stylistic/eslint-plugin-js': 2.6.0-beta.0(eslint@8.57.0) '@types/eslint': 8.56.10 eslint: 8.57.0 estraverse: 5.3.0 picomatch: 4.0.2 - '@stylistic/eslint-plugin-plus@1.8.1(eslint@8.57.0)(typescript@5.5.3)': + '@stylistic/eslint-plugin-plus@2.6.0-beta.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@types/eslint': 8.56.10 - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin-ts@1.8.1(eslint@8.57.0)(typescript@5.5.3)': + '@stylistic/eslint-plugin-ts@2.6.0-beta.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@stylistic/eslint-plugin-js': 1.8.1(eslint@8.57.0) + '@stylistic/eslint-plugin-js': 2.6.0-beta.0(eslint@8.57.0) '@types/eslint': 8.56.10 - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin@1.8.1(eslint@8.57.0)(typescript@5.5.3)': + '@stylistic/eslint-plugin@2.6.0-beta.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@stylistic/eslint-plugin-js': 1.8.1(eslint@8.57.0) - '@stylistic/eslint-plugin-jsx': 1.8.1(eslint@8.57.0) - '@stylistic/eslint-plugin-plus': 1.8.1(eslint@8.57.0)(typescript@5.5.3) - '@stylistic/eslint-plugin-ts': 1.8.1(eslint@8.57.0)(typescript@5.5.3) + '@stylistic/eslint-plugin-js': 2.6.0-beta.0(eslint@8.57.0) + '@stylistic/eslint-plugin-jsx': 2.6.0-beta.0(eslint@8.57.0) + '@stylistic/eslint-plugin-plus': 2.6.0-beta.0(eslint@8.57.0)(typescript@5.5.3) + '@stylistic/eslint-plugin-ts': 2.6.0-beta.0(eslint@8.57.0)(typescript@5.5.3) '@types/eslint': 8.56.10 eslint: 8.57.0 transitivePeerDependencies: @@ -5383,10 +5595,16 @@ snapshots: '@types/gravatar@1.8.6': {} + '@types/hast@3.0.4': + dependencies: + '@types/unist': 2.0.10 + '@types/http-proxy@1.17.14': dependencies: '@types/node': 20.14.9 + '@types/js-yaml@4.0.9': {} + '@types/json-schema@7.0.15': {} '@types/jsonfile@6.1.4': @@ -5416,20 +5634,18 @@ snapshots: '@types/normalize-package-data@2.4.4': {} - '@types/semver@7.5.8': {} - '@types/unist@2.0.10': {} '@types/web-bluetooth@0.0.20': {} - '@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.15.0 - '@typescript-eslint/type-utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) - '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) - '@typescript-eslint/visitor-keys': 7.15.0 + '@typescript-eslint/parser': 8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 8.0.0-alpha.40 + '@typescript-eslint/type-utils': 8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 @@ -5440,12 +5656,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/scope-manager': 7.15.0 - '@typescript-eslint/types': 7.15.0 - '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3) - '@typescript-eslint/visitor-keys': 7.15.0 + '@typescript-eslint/scope-manager': 8.0.0-alpha.40 + '@typescript-eslint/types': 8.0.0-alpha.40 + '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 debug: 4.3.5(supports-color@5.5.0) eslint: 8.57.0 optionalDependencies: @@ -5453,40 +5669,40 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@6.21.0': - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - '@typescript-eslint/scope-manager@7.15.0': dependencies: '@typescript-eslint/types': 7.15.0 '@typescript-eslint/visitor-keys': 7.15.0 - '@typescript-eslint/type-utils@7.15.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/scope-manager@8.0.0-alpha.40': dependencies: - '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3) - '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/types': 8.0.0-alpha.40 + '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 + + '@typescript-eslint/type-utils@8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.5.3) + '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3) debug: 4.3.5(supports-color@5.5.0) - eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: + - eslint - supports-color - '@typescript-eslint/types@6.21.0': {} - '@typescript-eslint/types@7.15.0': {} - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.5.3)': + '@typescript-eslint/types@8.0.0-alpha.40': {} + + '@typescript-eslint/typescript-estree@7.15.0(typescript@5.5.3)': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/visitor-keys': 7.15.0 debug: 4.3.5(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.3 + minimatch: 9.0.5 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: @@ -5494,10 +5710,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.15.0(typescript@5.5.3)': + '@typescript-eslint/typescript-estree@8.0.0-alpha.40(typescript@5.5.3)': dependencies: - '@typescript-eslint/types': 7.15.0 - '@typescript-eslint/visitor-keys': 7.15.0 + '@typescript-eslint/types': 8.0.0-alpha.40 + '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 debug: 4.3.5(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 @@ -5509,39 +5725,36 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/utils@7.15.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.15.0 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3) eslint: 8.57.0 - semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@7.15.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/utils@8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.15.0 - '@typescript-eslint/types': 7.15.0 - '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3) + '@typescript-eslint/scope-manager': 8.0.0-alpha.40 + '@typescript-eslint/types': 8.0.0-alpha.40 + '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.5.3) eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@6.21.0': + '@typescript-eslint/visitor-keys@7.15.0': dependencies: - '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/types': 7.15.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.15.0': + '@typescript-eslint/visitor-keys@8.0.0-alpha.40': dependencies: - '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/types': 8.0.0-alpha.40 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} @@ -5595,6 +5808,16 @@ snapshots: transitivePeerDependencies: - rollup + '@unocss/astro@0.61.3(rollup@4.18.0)(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6))': + dependencies: + '@unocss/core': 0.61.3 + '@unocss/reset': 0.61.3 + '@unocss/vite': 0.61.3(rollup@4.18.0)(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6)) + optionalDependencies: + vite: 5.3.3(@types/node@20.14.9)(sass@1.77.6) + transitivePeerDependencies: + - rollup + '@unocss/cli@0.61.0(rollup@4.18.0)': dependencies: '@ampproject/remapping': 2.3.0 @@ -5613,24 +5836,72 @@ snapshots: transitivePeerDependencies: - rollup - '@unocss/config@0.61.0': - dependencies: - '@unocss/core': 0.61.0 - unconfig: 0.3.13 - - '@unocss/core@0.61.0': {} - - '@unocss/extractor-arbitrary-variants@0.61.0': - dependencies: - '@unocss/core': 0.61.0 - - '@unocss/inspector@0.61.0': + '@unocss/cli@0.61.3(rollup@4.18.0)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + '@unocss/config': 0.61.3 + '@unocss/core': 0.61.3 + '@unocss/preset-uno': 0.61.3 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.2.3 + fast-glob: 3.3.2 + magic-string: 0.30.10 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + + '@unocss/config@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + unconfig: 0.3.13 + + '@unocss/config@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + unconfig: 0.3.13 + + '@unocss/core@0.61.0': {} + + '@unocss/core@0.61.3': {} + + '@unocss/eslint-plugin@0.61.3(eslint@8.57.0)(typescript@5.5.3)': + dependencies: + '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + '@unocss/config': 0.61.3 + '@unocss/core': 0.61.3 + magic-string: 0.30.10 + synckit: 0.9.0 + transitivePeerDependencies: + - eslint + - supports-color + - typescript + + '@unocss/extractor-arbitrary-variants@0.61.0': + dependencies: + '@unocss/core': 0.61.0 + + '@unocss/extractor-arbitrary-variants@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + + '@unocss/inspector@0.61.0': dependencies: '@unocss/core': 0.61.0 '@unocss/rule-utils': 0.61.0 gzip-size: 6.0.0 sirv: 2.0.4 + '@unocss/inspector@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + '@unocss/rule-utils': 0.61.3 + gzip-size: 6.0.0 + sirv: 2.0.4 + '@unocss/postcss@0.61.0(postcss@8.4.39)': dependencies: '@unocss/config': 0.61.0 @@ -5641,10 +5912,24 @@ snapshots: magic-string: 0.30.10 postcss: 8.4.39 + '@unocss/postcss@0.61.3(postcss@8.4.39)': + dependencies: + '@unocss/config': 0.61.3 + '@unocss/core': 0.61.3 + '@unocss/rule-utils': 0.61.3 + css-tree: 2.3.1 + fast-glob: 3.3.2 + magic-string: 0.30.10 + postcss: 8.4.39 + '@unocss/preset-attributify@0.61.0': dependencies: '@unocss/core': 0.61.0 + '@unocss/preset-attributify@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + '@unocss/preset-icons@0.61.0': dependencies: '@iconify/utils': 2.1.25 @@ -5653,21 +5938,44 @@ snapshots: transitivePeerDependencies: - supports-color + '@unocss/preset-icons@0.61.3': + dependencies: + '@iconify/utils': 2.1.25 + '@unocss/core': 0.61.3 + ofetch: 1.3.4 + transitivePeerDependencies: + - supports-color + '@unocss/preset-mini@0.61.0': dependencies: '@unocss/core': 0.61.0 '@unocss/extractor-arbitrary-variants': 0.61.0 '@unocss/rule-utils': 0.61.0 + '@unocss/preset-mini@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + '@unocss/extractor-arbitrary-variants': 0.61.3 + '@unocss/rule-utils': 0.61.3 + '@unocss/preset-tagify@0.61.0': dependencies: '@unocss/core': 0.61.0 + '@unocss/preset-tagify@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + '@unocss/preset-typography@0.61.0': dependencies: '@unocss/core': 0.61.0 '@unocss/preset-mini': 0.61.0 + '@unocss/preset-typography@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + '@unocss/preset-mini': 0.61.3 + '@unocss/preset-uno@0.61.0': dependencies: '@unocss/core': 0.61.0 @@ -5675,26 +5983,53 @@ snapshots: '@unocss/preset-wind': 0.61.0 '@unocss/rule-utils': 0.61.0 + '@unocss/preset-uno@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + '@unocss/preset-mini': 0.61.3 + '@unocss/preset-wind': 0.61.3 + '@unocss/rule-utils': 0.61.3 + '@unocss/preset-web-fonts@0.61.0': dependencies: '@unocss/core': 0.61.0 ofetch: 1.3.4 + '@unocss/preset-web-fonts@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + ofetch: 1.3.4 + '@unocss/preset-wind@0.61.0': dependencies: '@unocss/core': 0.61.0 '@unocss/preset-mini': 0.61.0 '@unocss/rule-utils': 0.61.0 + '@unocss/preset-wind@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + '@unocss/preset-mini': 0.61.3 + '@unocss/rule-utils': 0.61.3 + '@unocss/reset@0.61.0': {} + '@unocss/reset@0.61.3': {} + '@unocss/rule-utils@0.61.0': dependencies: '@unocss/core': 0.61.0 magic-string: 0.30.10 + '@unocss/rule-utils@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + magic-string: 0.30.10 + '@unocss/scope@0.61.0': {} + '@unocss/scope@0.61.3': {} + '@unocss/transformer-attributify-jsx-babel@0.61.0': dependencies: '@babel/core': 7.24.7 @@ -5704,24 +6039,51 @@ snapshots: transitivePeerDependencies: - supports-color + '@unocss/transformer-attributify-jsx-babel@0.61.3': + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7) + '@unocss/core': 0.61.3 + transitivePeerDependencies: + - supports-color + '@unocss/transformer-attributify-jsx@0.61.0': dependencies: '@unocss/core': 0.61.0 + '@unocss/transformer-attributify-jsx@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + '@unocss/transformer-compile-class@0.61.0': dependencies: '@unocss/core': 0.61.0 + '@unocss/transformer-compile-class@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + '@unocss/transformer-directives@0.61.0': dependencies: '@unocss/core': 0.61.0 '@unocss/rule-utils': 0.61.0 css-tree: 2.3.1 + '@unocss/transformer-directives@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + '@unocss/rule-utils': 0.61.3 + css-tree: 2.3.1 + '@unocss/transformer-variant-group@0.61.0': dependencies: '@unocss/core': 0.61.0 + '@unocss/transformer-variant-group@0.61.3': + dependencies: + '@unocss/core': 0.61.3 + '@unocss/vite@0.61.0(rollup@4.18.0)(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6))': dependencies: '@ampproject/remapping': 2.3.0 @@ -5738,6 +6100,22 @@ snapshots: transitivePeerDependencies: - rollup + '@unocss/vite@0.61.3(rollup@4.18.0)(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + '@unocss/config': 0.61.3 + '@unocss/core': 0.61.3 + '@unocss/inspector': 0.61.3 + '@unocss/scope': 0.61.3 + '@unocss/transformer-directives': 0.61.3 + chokidar: 3.6.0 + fast-glob: 3.3.2 + magic-string: 0.30.10 + vite: 5.3.3(@types/node@20.14.9)(sass@1.77.6) + transitivePeerDependencies: + - rollup + '@valaxyjs/devtools@0.18.10(debug@4.3.5)(rollup@4.18.0)': dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.18.0) @@ -5764,6 +6142,19 @@ snapshots: - rollup - supports-color + '@valaxyjs/devtools@0.19.0(debug@4.3.5)(rollup@4.18.0)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + axios: 1.7.2(debug@4.3.5) + body-parser: 1.20.2 + http-proxy-middleware: 3.0.0 + picocolors: 1.0.1 + sirv: 2.0.4 + transitivePeerDependencies: + - debug + - rollup + - supports-color + '@vitejs/plugin-vue@5.0.5(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6))(vue@3.4.31(typescript@5.5.3))': dependencies: vite: 5.3.3(@types/node@20.14.9)(sass@1.77.6) @@ -5798,18 +6189,17 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 - '@volar/language-core@2.2.5': + '@volar/language-core@2.4.0-alpha.15': dependencies: - '@volar/source-map': 2.2.5 + '@volar/source-map': 2.4.0-alpha.15 - '@volar/source-map@2.2.5': - dependencies: - muggle-string: 0.4.1 + '@volar/source-map@2.4.0-alpha.15': {} - '@volar/typescript@2.2.5': + '@volar/typescript@2.4.0-alpha.15': dependencies: - '@volar/language-core': 2.2.5 + '@volar/language-core': 2.4.0-alpha.15 path-browserify: 1.0.1 + vscode-uri: 3.0.8 '@vue-macros/common@1.10.4(rollup@4.18.0)(vue@3.4.31(typescript@5.5.3))': dependencies: @@ -5915,13 +6305,14 @@ snapshots: dependencies: rfdc: 1.4.1 - '@vue/language-core@2.0.17(typescript@5.5.3)': + '@vue/language-core@2.0.26(typescript@5.5.3)': dependencies: - '@volar/language-core': 2.2.5 + '@volar/language-core': 2.4.0-alpha.15 '@vue/compiler-dom': 3.4.31 '@vue/shared': 3.4.31 computeds: 0.0.1 minimatch: 9.0.5 + muggle-string: 0.4.1 path-browserify: 1.0.1 vue-template-compiler: 2.7.16 optionalDependencies: @@ -6139,10 +6530,6 @@ snapshots: builtin-modules@3.3.0: {} - builtins@5.1.0: - dependencies: - semver: 7.6.2 - bumpp@9.4.1: dependencies: '@jsdevtools/ez-spawn': 3.0.4 @@ -6695,6 +7082,11 @@ snapshots: encode-utf8@1.0.3: {} + enhanced-resolve@5.17.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + entities@4.5.0: {} error-ex@1.3.2: @@ -6753,21 +7145,26 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.4.1(eslint@8.57.0): - dependencies: - eslint: 8.57.0 - semver: 7.6.2 - eslint-compat-utils@0.5.1(eslint@8.57.0): dependencies: eslint: 8.57.0 semver: 7.6.2 - eslint-config-flat-gitignore@0.1.5: + eslint-config-flat-gitignore@0.1.6: dependencies: find-up: 7.0.0 parse-gitignore: 2.0.0 + eslint-flat-config-utils@0.2.5: + dependencies: + '@types/eslint': 8.56.10 + pathe: 1.1.2 + + eslint-formatting-reporter@0.0.0(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + prettier-linter-helpers: 1.0.0 + eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 @@ -6780,21 +7177,18 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.5.3) - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color + eslint-parser-plain@0.1.0: {} eslint-plugin-antfu@2.3.4(eslint@8.57.0): dependencies: '@antfu/utils': 0.7.10 eslint: 8.57.0 + eslint-plugin-command@0.2.3(eslint@8.57.0): + dependencies: + '@es-joy/jsdoccomment': 0.43.1 + eslint: 8.57.0 + eslint-plugin-es-x@7.8.0(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -6808,22 +7202,33 @@ snapshots: eslint: 8.57.0 ignore: 5.3.1 - eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0): + eslint-plugin-format@0.1.2(eslint@8.57.0): dependencies: + '@dprint/formatter': 0.3.0 + '@dprint/markdown': 0.17.1 + '@dprint/toml': 0.6.2 + eslint: 8.57.0 + eslint-formatting-reporter: 0.0.0(eslint@8.57.0) + eslint-parser-plain: 0.1.0 + prettier: 3.3.2 + synckit: 0.9.0 + + eslint-plugin-import-x@0.5.3(eslint@8.57.0)(typescript@5.5.3): + dependencies: + '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) debug: 4.3.5(supports-color@5.5.0) doctrine: 3.0.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) get-tsconfig: 4.7.5 is-glob: 4.0.3 - minimatch: 3.1.2 + minimatch: 9.0.5 semver: 7.6.2 + stable-hash: 0.0.4 + tslib: 2.6.3 transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - supports-color + - typescript eslint-plugin-jsdoc@48.5.2(eslint@8.57.0): dependencies: @@ -6852,26 +7257,23 @@ snapshots: natural-compare: 1.4.0 synckit: 0.6.2 - eslint-plugin-markdown@3.0.1(eslint@8.57.0): + eslint-plugin-markdown@5.0.0(eslint@8.57.0): dependencies: eslint: 8.57.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - eslint-plugin-n@16.6.2(eslint@8.57.0): + eslint-plugin-n@17.9.0(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - builtins: 5.1.0 + enhanced-resolve: 5.17.0 eslint: 8.57.0 eslint-plugin-es-x: 7.8.0(eslint@8.57.0) get-tsconfig: 4.7.5 - globals: 13.24.0 + globals: 15.8.0 ignore: 5.3.1 - is-builtin-module: 3.2.1 - is-core-module: 2.14.0 - minimatch: 3.1.2 - resolve: 1.22.8 + minimatch: 9.0.5 semver: 7.6.2 eslint-plugin-no-only-tests@3.1.0: {} @@ -6888,21 +7290,32 @@ snapshots: - supports-color - typescript - eslint-plugin-toml@0.9.2(eslint@8.57.0): + eslint-plugin-regexp@2.6.0(eslint@8.57.0): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.11.0 + comment-parser: 1.4.1 + eslint: 8.57.0 + jsdoc-type-pratt-parser: 4.0.0 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 + scslre: 0.3.0 + + eslint-plugin-toml@0.11.1(eslint@8.57.0): dependencies: debug: 4.3.5(supports-color@5.5.0) eslint: 8.57.0 - eslint-compat-utils: 0.4.1(eslint@8.57.0) + eslint-compat-utils: 0.5.1(eslint@8.57.0) lodash: 4.17.21 - toml-eslint-parser: 0.9.3 + toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@51.0.1(eslint@8.57.0): + eslint-plugin-unicorn@54.0.0(eslint@8.57.0): dependencies: '@babel/helper-validator-identifier': 7.24.7 '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint/eslintrc': 2.1.4 + '@eslint/eslintrc': 3.1.0 ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.37.1 @@ -6920,19 +7333,19 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0): + eslint-plugin-unused-imports@4.0.0(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0): dependencies: eslint: 8.57.0 eslint-rule-composer: 0.3.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) - eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)(vitest@1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)): + eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)(vitest@1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6)): dependencies: '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) eslint: 8.57.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) vitest: 1.6.0(@types/node@20.14.9)(jsdom@24.1.0)(sass@1.77.6) transitivePeerDependencies: - supports-color @@ -6977,6 +7390,8 @@ snapshots: eslint-visitor-keys@3.4.3: {} + eslint-visitor-keys@4.0.0: {} + eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -7020,6 +7435,12 @@ snapshots: transitivePeerDependencies: - supports-color + espree@10.1.0: + dependencies: + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 4.0.0 + espree@9.6.1: dependencies: acorn: 8.12.1 @@ -7078,6 +7499,8 @@ snapshots: fast-deep-equal@3.1.3: {} + fast-diff@1.3.0: {} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -7230,6 +7653,8 @@ snapshots: globals@14.0.0: {} + globals@15.8.0: {} + globby@11.1.0: dependencies: array-union: 2.1.0 @@ -7633,6 +8058,8 @@ snapshots: lru-cache@10.3.0: {} + lru-cache@10.4.0: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -7914,10 +8341,6 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.3: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -8226,6 +8649,10 @@ snapshots: prelude-ls@1.2.1: {} + prettier-linter-helpers@1.0.0: + dependencies: + fast-diff: 1.3.0 + prettier@3.3.2: {} pretty-format@29.7.0: @@ -8319,6 +8746,15 @@ snapshots: dependencies: picomatch: 2.3.1 + refa@0.12.1: + dependencies: + '@eslint-community/regexpp': 4.11.0 + + regexp-ast-analysis@0.7.1: + dependencies: + '@eslint-community/regexpp': 4.11.0 + refa: 0.12.1 + regexp-tree@0.1.27: {} regjsparser@0.10.0: @@ -8414,6 +8850,12 @@ snapshots: dependencies: loose-envify: 1.4.0 + scslre@0.3.0: + dependencies: + '@eslint-community/regexpp': 4.11.0 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 + scule@1.3.0: {} search-insights@2.14.0: {} @@ -8456,6 +8898,11 @@ snapshots: dependencies: '@shikijs/core': 1.10.1 + shiki@1.10.3: + dependencies: + '@shikijs/core': 1.10.3 + '@types/hast': 3.0.4 + side-channel@1.0.6: dependencies: call-bind: 1.0.7 @@ -8512,10 +8959,14 @@ snapshots: sprintf-js@1.0.3: {} + stable-hash@0.0.4: {} + stackback@0.0.2: {} star-markdown-css@0.4.2: {} + star-markdown-css@0.5.1: {} + statuses@2.0.1: {} std-env@3.7.0: {} @@ -8589,6 +9040,8 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.6.3 + tapable@2.2.1: {} + tar@6.2.1: dependencies: chownr: 2.0.0 @@ -8616,7 +9069,7 @@ snapshots: toidentifier@1.0.1: {} - toml-eslint-parser@0.9.3: + toml-eslint-parser@0.10.0: dependencies: eslint-visitor-keys: 3.4.3 @@ -8735,6 +9188,35 @@ snapshots: - rollup - supports-color + unocss@0.61.3(postcss@8.4.39)(rollup@4.18.0)(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6)): + dependencies: + '@unocss/astro': 0.61.3(rollup@4.18.0)(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6)) + '@unocss/cli': 0.61.3(rollup@4.18.0) + '@unocss/core': 0.61.3 + '@unocss/extractor-arbitrary-variants': 0.61.3 + '@unocss/postcss': 0.61.3(postcss@8.4.39) + '@unocss/preset-attributify': 0.61.3 + '@unocss/preset-icons': 0.61.3 + '@unocss/preset-mini': 0.61.3 + '@unocss/preset-tagify': 0.61.3 + '@unocss/preset-typography': 0.61.3 + '@unocss/preset-uno': 0.61.3 + '@unocss/preset-web-fonts': 0.61.3 + '@unocss/preset-wind': 0.61.3 + '@unocss/reset': 0.61.3 + '@unocss/transformer-attributify-jsx': 0.61.3 + '@unocss/transformer-attributify-jsx-babel': 0.61.3 + '@unocss/transformer-compile-class': 0.61.3 + '@unocss/transformer-directives': 0.61.3 + '@unocss/transformer-variant-group': 0.61.3 + '@unocss/vite': 0.61.3(rollup@4.18.0)(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6)) + optionalDependencies: + vite: 5.3.3(@types/node@20.14.9)(sass@1.77.6) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + unpipe@1.0.0: {} unplugin-ast@0.10.0(rollup@4.18.0): @@ -8858,11 +9340,11 @@ snapshots: kleur: 4.1.5 sade: 1.8.1 - valaxy-addon-algolia@0.0.3(@algolia/client-search@4.24.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(valaxy@0.18.9(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3)): + valaxy-addon-algolia@0.0.3(@algolia/client-search@4.24.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(valaxy@0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3)): dependencies: '@docsearch/css': 3.6.0 '@docsearch/js': 3.6.0(@algolia/client-search@4.24.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0) - valaxy: 0.18.9(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3) + valaxy: 0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3) transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -8878,6 +9360,10 @@ snapshots: dependencies: valaxy: 0.18.9(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3) + valaxy-addon-twikoo@0.0.3(valaxy@0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3)): + dependencies: + valaxy: 0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3) + valaxy-addon-vercount@0.0.5: {} valaxy-addon-waline@0.1.1(typescript@5.5.3)(valaxy@0.18.9(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3)): @@ -8888,6 +9374,14 @@ snapshots: - '@vue/composition-api' - typescript + valaxy-addon-waline@0.1.1(typescript@5.5.3)(valaxy@0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3)): + dependencies: + '@waline/client': 2.15.8(typescript@5.5.3) + valaxy: 0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3) + transitivePeerDependencies: + - '@vue/composition-api' + - typescript + valaxy@0.18.10(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3): dependencies: '@antfu/utils': 0.7.10 @@ -9094,6 +9588,111 @@ snapshots: - utf-8-validate - vue-i18n-bridge + valaxy@0.19.0(@babel/parser@7.24.7)(@types/markdown-it@14.1.1)(@types/node@20.14.9)(axios@1.7.2)(postcss@8.4.39)(rollup@4.18.0)(typescript@5.5.3): + dependencies: + '@antfu/utils': 0.7.10 + '@ctrl/tinycolor': 4.1.0 + '@iconify-json/carbon': 1.1.36 + '@iconify-json/ri': 1.1.21 + '@intlify/unplugin-vue-i18n': 4.0.0(rollup@4.18.0)(vue-i18n@9.13.1(vue@3.4.31(typescript@5.5.3))) + '@types/js-yaml': 4.0.9 + '@types/katex': 0.16.7 + '@unhead/addons': 1.9.15(rollup@4.18.0) + '@unhead/schema-org': 1.9.15 + '@unhead/vue': 1.9.15(vue@3.4.31(typescript@5.5.3)) + '@valaxyjs/devtools': 0.19.0(debug@4.3.5)(rollup@4.18.0) + '@vitejs/plugin-vue': 5.0.5(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6))(vue@3.4.31(typescript@5.5.3)) + '@vue/devtools-api': 7.3.5 + '@vueuse/core': 10.11.0(vue@3.4.31(typescript@5.5.3)) + '@vueuse/integrations': 10.11.0(axios@1.7.2)(fuse.js@7.0.0)(nprogress@0.2.0)(qrcode@1.5.3)(vue@3.4.31(typescript@5.5.3)) + consola: 3.2.3 + critters: 0.0.24 + cross-spawn: 7.0.3 + css-i18n: 0.0.2 + date-fns: 3.6.0 + date-fns-tz: 3.1.3(date-fns@3.6.0) + debug: 4.3.5(supports-color@5.5.0) + defu: 6.1.4 + ejs: 3.1.10 + escape-html: 1.0.3 + feed: 4.2.2 + fs-extra: 11.2.0 + fuse.js: 7.0.0 + gray-matter: 4.0.3 + hookable: 5.5.3 + html-to-text: 9.0.5 + is-installed-globally: 1.0.0 + jiti: 1.21.6 + js-base64: 3.7.7 + js-yaml: 4.1.0 + katex: 0.16.11 + lru-cache: 10.4.0 + markdown-it: 14.1.0 + markdown-it-anchor: 9.0.1(@types/markdown-it@14.1.1)(markdown-it@14.1.0) + markdown-it-attrs: 4.1.6(markdown-it@14.1.0) + markdown-it-container: 4.0.0 + markdown-it-emoji: 3.0.0 + markdown-it-footnote: 4.0.0 + markdown-it-image-figures: 2.1.1(markdown-it@14.1.0) + markdown-it-table-of-contents: 0.6.0 + markdown-it-task-lists: 2.1.1 + medium-zoom: 1.1.0 + mermaid: 10.9.1 + nprogress: 0.2.0 + open: 10.1.0 + ora: 8.0.1 + pascalcase: 2.0.0 + pathe: 1.1.2 + pinia: 2.1.7(typescript@5.5.3)(vue@3.4.31(typescript@5.5.3)) + qrcode: 1.5.3 + sass: 1.77.6 + shiki: 1.10.3 + star-markdown-css: 0.5.1 + unocss: 0.61.3(postcss@8.4.39)(rollup@4.18.0)(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6)) + unplugin-vue-components: 0.27.2(@babel/parser@7.24.7)(rollup@4.18.0)(vue@3.4.31(typescript@5.5.3)) + unplugin-vue-markdown: 0.26.2(rollup@4.18.0)(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6)) + unplugin-vue-router: 0.10.0(rollup@4.18.0)(vue-router@4.4.0(vue@3.4.31(typescript@5.5.3)))(vue@3.4.31(typescript@5.5.3)) + vanilla-lazyload: 19.1.3 + vite: 5.3.3(@types/node@20.14.9)(sass@1.77.6) + vite-plugin-vue-devtools: 7.3.5(rollup@4.18.0)(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6))(vue@3.4.31(typescript@5.5.3)) + vite-plugin-vue-layouts: 0.11.0(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6))(vue-router@4.4.0(vue@3.4.31(typescript@5.5.3)))(vue@3.4.31(typescript@5.5.3)) + vite-ssg: 0.23.7(critters@0.0.24)(vite@5.3.3(@types/node@20.14.9)(sass@1.77.6))(vue-router@4.4.0(vue@3.4.31(typescript@5.5.3)))(vue@3.4.31(typescript@5.5.3)) + vite-ssg-sitemap: 0.6.1 + vue: 3.4.31(typescript@5.5.3) + vue-i18n: 9.13.1(vue@3.4.31(typescript@5.5.3)) + vue-router: 4.4.0(vue@3.4.31(typescript@5.5.3)) + yargs: 17.7.2 + transitivePeerDependencies: + - '@babel/parser' + - '@nuxt/kit' + - '@types/markdown-it' + - '@types/node' + - '@unocss/webpack' + - '@vue/composition-api' + - async-validator + - axios + - bufferutil + - canvas + - change-case + - drauu + - focus-trap + - idb-keyval + - jwt-decode + - less + - lightningcss + - petite-vue-i18n + - postcss + - rollup + - sortablejs + - stylus + - sugarss + - supports-color + - terser + - typescript + - universal-cookie + - utf-8-validate + - vue-i18n-bridge + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 @@ -9269,6 +9868,8 @@ snapshots: - supports-color - terser + vscode-uri@3.0.8: {} + vue-demi@0.14.8(vue@3.4.31(typescript@5.5.3)): dependencies: vue: 3.4.31(typescript@5.5.3) @@ -9307,10 +9908,10 @@ snapshots: dependencies: vue: 3.4.31(typescript@5.5.3) - vue-tsc@2.0.17(typescript@5.5.3): + vue-tsc@2.0.26(typescript@5.5.3): dependencies: - '@volar/typescript': 2.2.5 - '@vue/language-core': 2.0.17(typescript@5.5.3) + '@volar/typescript': 2.4.0-alpha.15 + '@vue/language-core': 2.0.26(typescript@5.5.3) semver: 7.6.2 typescript: 5.5.3 diff --git a/theme/App.vue b/theme/App.vue index 569d7a76..174c2043 100644 --- a/theme/App.vue +++ b/theme/App.vue @@ -1,11 +1,11 @@ diff --git a/theme/client/aside.ts b/theme/client/aside.ts deleted file mode 100644 index debd7711..00000000 --- a/theme/client/aside.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { ref } from 'vue' - -export function useAside() { - // const { hasSidebar } = useSidebar() - // const is960 = useMediaQuery('(min-width: 960px)') - // const is1280 = useMediaQuery('(min-width: 1280px)') - - const isAsideEnabled = ref(true) - - return { - isAsideEnabled, - } -} diff --git a/theme/client/index.ts b/theme/client/index.ts index 39a36c49..3b54ff1a 100644 --- a/theme/client/index.ts +++ b/theme/client/index.ts @@ -1,2 +1 @@ export * from '../composables' -export * from './outlineAnchor' diff --git a/theme/components/SakuraBackgroundDisplay.vue b/theme/components/SakuraBackgroundDisplay.vue index 869aa6eb..14d2ee59 100644 --- a/theme/components/SakuraBackgroundDisplay.vue +++ b/theme/components/SakuraBackgroundDisplay.vue @@ -2,7 +2,7 @@ import { computed, onMounted, ref, watch } from 'vue' import { isVideoUrl } from '../utils' import { getLocalStorageItem, setLocalStorageItem } from '../utils/localStorage' -import { useSakuraAppStore } from '../stores/app' +import { useSakuraAppStore } from '../stores' import { useThemeConfig } from '../composables' const props = withDefaults(defineProps<{ diff --git a/theme/components/SakuraNavbar.vue b/theme/components/SakuraNavbar.vue index ab5fbe0f..6130f85a 100644 --- a/theme/components/SakuraNavbar.vue +++ b/theme/components/SakuraNavbar.vue @@ -1,9 +1,9 @@ diff --git a/theme/components/SakuraSidebar.vue b/theme/components/SakuraSidebar.vue index 8afdb2db..13f9a791 100644 --- a/theme/components/SakuraSidebar.vue +++ b/theme/components/SakuraSidebar.vue @@ -1,51 +1,31 @@ diff --git a/theme/components/common/SakuraToggleThemeDynamic.vue b/theme/components/common/SakuraToggleThemeDynamic.vue index 3f858b72..8d50fcdb 100644 --- a/theme/components/common/SakuraToggleThemeDynamic.vue +++ b/theme/components/common/SakuraToggleThemeDynamic.vue @@ -1,5 +1,5 @@