From 3e6a8d2875af673600fa080d7d6654a83b5b028b Mon Sep 17 00:00:00 2001 From: xiaohuohumax <1915970986@qq.com> Date: Wed, 10 Jan 2024 19:07:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=9B=E5=BB=BA=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- README.md | 11 +- app/label/.env | 11 + app/label/CHANGELOG.md | 8 + app/label/README.md | 14 + app/label/app.config.ts | 126 ++++++ app/label/package.json | 28 ++ app/label/src/api/index.ts | 28 ++ app/label/src/index.ts | 204 ++++++++++ app/label/tsconfig.json | 15 + app/label/types/env.d.ts | 14 + app/web/CHANGELOG.md | 7 + app/web/package.json | 2 +- app/web/src/api/index.ts | 2 +- package.json | 1 + package/api/CHANGELOG.md | 8 +- package/api/package.json | 2 +- package/api/src/api/label.api.ts | 5 +- pnpm-lock.yaml | 663 ++++++++++++++++++++++++++++--- 19 files changed, 1094 insertions(+), 58 deletions(-) create mode 100644 app/label/.env create mode 100644 app/label/CHANGELOG.md create mode 100644 app/label/README.md create mode 100644 app/label/app.config.ts create mode 100644 app/label/package.json create mode 100644 app/label/src/api/index.ts create mode 100644 app/label/src/index.ts create mode 100644 app/label/tsconfig.json create mode 100644 app/label/types/env.d.ts diff --git a/.gitignore b/.gitignore index f02f724..d072980 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,4 @@ node_modules dist *.local .vscode/* -!.vscode/extensions.json -app/tool \ No newline at end of file +!.vscode/extensions.json \ No newline at end of file diff --git a/README.md b/README.md index 4dbddf2..ad851df 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,13 @@ **基于 `Github API` `Github Pages` `Issue` `Label` 实现的简单网站, 可用于搭建简单博客, 记录笔记等** -### 在线访问 +### 🔗在线访问 [Live Demo](https://xiaohuohumax.github.io/MiaoJi/) 由于未添加 `Token`, 所以访问频次有限制(大概60次/每人/每小时), 详见[REST API](https://docs.github.com/zh/rest/using-the-rest-api/rate-limits-for-the-rest-api) -## 功能 +## 📊功能 + 文章笔记 + 轮播图 @@ -29,7 +29,7 @@ pnpm dev pnpm build ``` -## 标签规则 +## 📏标签规则 [标签规则](./doc/label.md) @@ -45,3 +45,8 @@ pnpm build ## 📂配置文件 [app.config.ts](./app/web/app.config.ts) 或者 [dist/app.config.ts](./app/web/dist/app.config.js) + + +## 🧰标签生成辅助工具 + +[工具 app/create-label](./app/create-label/README.md) \ No newline at end of file diff --git a/app/label/.env b/app/label/.env new file mode 100644 index 0000000..32952ab --- /dev/null +++ b/app/label/.env @@ -0,0 +1,11 @@ +# 项目名称 +VITE_APP_NAME = MiaoJi(喵记) + +# Issue 仓库名称 +VITE_ISSUE_REPO = test-github + +# Issue 仓库持有者 +VITE_ISSUE_owner = xiaohuohumax + +# Issue 标签创建权限 Token +VITE_GITHUB_TOKEN = \ No newline at end of file diff --git a/app/label/CHANGELOG.md b/app/label/CHANGELOG.md new file mode 100644 index 0000000..b113179 --- /dev/null +++ b/app/label/CHANGELOG.md @@ -0,0 +1,8 @@ +# @miaoji/label + +## 0.1.1 + +### Patch Changes + +- Updated dependencies + - @miaoji/api@1.4.0 diff --git a/app/label/README.md b/app/label/README.md new file mode 100644 index 0000000..23cdf3e --- /dev/null +++ b/app/label/README.md @@ -0,0 +1,14 @@ +# MiaoJi(喵记)标签辅助工具 + +**此工具用于快速创建 MiaoJi(喵记) Issue 标签** + +## 使用 + +1. 修改环境变量 (仓库, 拥有者, Token等) +2. 修改[配置](./app.config.ts)自定义标签 (名称, 描述, 颜色等) +3. 执行脚本 + +``` +pnpm i +pnpm start +``` \ No newline at end of file diff --git a/app/label/app.config.ts b/app/label/app.config.ts new file mode 100644 index 0000000..806467d --- /dev/null +++ b/app/label/app.config.ts @@ -0,0 +1,126 @@ +import { Label } from '@miaoji/api'; +import { defaultLabel, LabelName } from '@miaoji/base'; + +const { label } = defaultLabel; + +const appConfig: AppConfig = { + // 需要创建的标签 + // 颜色不填则为随机 + cLabels: [ + { + title: '主要功能标签', + labels: [ + { + name: label.communicationLabel, + description: '留言', + }, + { + name: label.linkLabel, + description: '友链', + }, + { + name: label.aboutLabel, + description: '关于', + }, + { + name: label.docLabel, + description: '文章', + }, + { + name: label.bannerLabel, + description: '轮播图', + }, + { + name: label.historyLabel, + description: '历史记录', + }, + { + name: label.photoLabel, + description: '相册', + } + ] + }, + { + title: '友链相关', + labels: [ + { + name: label.applyLinkLabel, + description: '友链申请', + }, + ] + }, + { + title: '历史记录相关', + labels: [ + { + name: 'func:history:warning', + description: '历史:警告', + color: 'f08a00' + }, + { + name: 'func:history:success', + description: '历史:成功', + color: '2a947d' + }, + { + name: 'func:history:info', + description: '历史:信息', + color: '3889c5' + }, + { + name: 'func:history:error', + description: '历史:错误', + color: 'd03a52' + }, + { + name: 'func:history:default', + description: '历史:默认', + color: '909092' + }, + ] + }, + { + title: '其他辅助', + labels: [ + { + name: label.hiddenCommentLabel, + description: '隐藏评论', + }, + ] + }, + ], + name: import.meta.env.VITE_APP_NAME, + api: { + // github rest api 一般不变 + apiBaseUrl: 'https://api.github.com', + // 仓库名称 + repo: import.meta.env.VITE_ISSUE_REPO, + // 持有者 + owner: import.meta.env.VITE_ISSUE_owner, + // github token Issue 标签创建权限 + accessToken: import.meta.env.VITE_GITHUB_TOKEN, + }, + // 标签 + label: label, +}; + +export type CLabel = Partial> & { + name: string +} + +type AppConfig = { + cLabels: { + title: string, + labels: CLabel[] + }[], + name: string, + api: { + apiBaseUrl: string, + repo: string, + owner: string, + accessToken?: string + }, + label: LabelName +} + +export default appConfig; \ No newline at end of file diff --git a/app/label/package.json b/app/label/package.json new file mode 100644 index 0000000..8f6d9ac --- /dev/null +++ b/app/label/package.json @@ -0,0 +1,28 @@ +{ + "name": "@miaoji/label", + "version": "0.1.1", + "description": "MiaoJi(喵记)标签辅助工具", + "main": "index.ts", + "type": "module", + "repository": "https://github.com/xiaohuohumax/MiaoJi", + "author": { + "name": "xiaohuohumax", + "url": "https://github.com/xiaohuohumax" + }, + "scripts": { + "start": "vite-node src/index.ts" + }, + "keywords": [], + "license": "MIT", + "dependencies": { + "@inquirer/prompts": "^3.3.0", + "@miaoji/api": "workspace:^", + "@miaoji/base": "workspace:^", + "@miaoji/util": "workspace:^", + "@types/node": "^20.10.6", + "await-to-js": "^3.0.0", + "axios": "^1.6.3", + "typescript": "^5.0.2", + "vite-node": "^1.1.3" + } +} diff --git a/app/label/src/api/index.ts b/app/label/src/api/index.ts new file mode 100644 index 0000000..9d8f889 --- /dev/null +++ b/app/label/src/api/index.ts @@ -0,0 +1,28 @@ +import { LabelApi } from '@miaoji/api'; +import { RequestExecutor } from '@miaoji/util'; +import appConfig from '../../app.config'; + +const executor = RequestExecutor.create({ + baseURL: appConfig.api.apiBaseUrl, + timeout: 10_0000, + headers: { + Accept: 'application/json', + Authorization: 'Bearer ' + appConfig.api.accessToken + }, + interceptors: { + reqtInterceptors(config) { + return config; + }, + reqInterceptorCatch(err) { + return Promise.reject(err); + }, + resInterceptors(response) { + return response; + }, + resInterceptorCatch(err) { + return Promise.reject(err); + }, + } +}); + +export const labelApi = new LabelApi(executor, appConfig.api.owner, appConfig.api.repo); diff --git a/app/label/src/index.ts b/app/label/src/index.ts new file mode 100644 index 0000000..0469b09 --- /dev/null +++ b/app/label/src/index.ts @@ -0,0 +1,204 @@ +import { checkbox, confirm, input, select, Separator } from '@inquirer/prompts'; +import awaitTo from 'await-to-js'; +import { AxiosError } from 'axios'; +import appConfig, { CLabel } from '../app.config'; +import { labelApi } from './api'; + +const allLabels = appConfig.cLabels.map(l => l.labels).flat(1); + +/** + * 创建标签 + * @param label 标签信息 + * @returns [是否成功, 提示消息] + */ +async function createLabel(label: CLabel): Promise<[success: boolean, msg: string]> { + const [err, res] = await awaitTo(labelApi.createLabel(label)); + + if (!err) { + const { name, color, description } = res.data; + return [true, `创建成功: ${description} 标签(${name}) 颜色(${color})`]; + } + + if (err instanceof AxiosError) { + const { response, code, message } = err; + if (code == AxiosError.ERR_NETWORK) { + return [false, '网络异常!']; + } + + switch (response?.status) { + case 401: + return [false, '无权限!']; + case 422: + if ((response.data.errors as any[])?.find(e => e.code == 'already_exists')) { + return [true, '此标签已存在!']; + } + return [false, '请求参数异常: ' + JSON.stringify(response.data?.errors[0])]; + case 404: + return [false, '404!']; + } + + return [false, `其他异常: code: ${code} message: ${message}`]; + } + return [false, '未知异常!']; +} + +/** + * 创建配置文件标签 + */ +async function createDefaultLabels() { + const { repo, owner, accessToken } = appConfig.api; + + const table = [ + { + name: '仓库地址', + value: repo + }, + { + name: '仓库持有者', + value: owner + }, + { + name: 'Github Token', + value: accessToken ? accessToken.substring(0, 10) + '...' : '无' + } + ]; + console.table(table); + console.log(); + + let [nErr, isNext] = await awaitTo(confirm({ message: '是否继续?' })); + if (nErr || !isNext) { + return console.log('已取消!'); + } + + // 检查 Token 是否存在 + if (!appConfig.api.accessToken) { + return console.log('未填写 Github Token!'); + } + const labelChoices: any[] = []; + + appConfig.cLabels.forEach(cLabel => { + // 分割线 + labelChoices.push(new Separator(`[${cLabel.title}]`)); + cLabel.labels.forEach(l => { + const color = l.color ?? '随机'; + labelChoices.push({ + name: `${l.description} 颜色(${color}) 标签(${l.name})`, + value: l.name, + // checked: true + }); + }); + }); + + const [lErr, labelNames] = await awaitTo(checkbox({ + message: '请选择需要创建的标签', + loop: false, + choices: labelChoices + })); + + if (lErr) { + return console.log('已取消!'); + } + + if (labelNames.length == 0) { + return console.log('未选择标签, 已退出!'); + } + + // 表格显示已选标签 + const labels = allLabels.filter(l => labelNames.includes(l.name)); + console.table(labels.map(l => ({ ...l, color: l.color ?? '随机' }))); + + // 最后确认 + [nErr, isNext] = await awaitTo(confirm({ message: `已选择[${labelNames.length}]个标签, 是否开始创建?` })); + if (nErr || !isNext) { + return console.log('已取消!'); + } + + console.log('\n开始创建:'); + const res = []; + for (const [index, label] of labels.entries()) { + console.log(`正在处理[${index + 1}/${labelNames.length}]: ` + label.description); + const [success, msg] = await createLabel(label); + res.push({ + label: `${label.description} ${label.name}`, + msg: msg, + status: success ? '成功' : '失败' + }); + if (!success) { + break; + } + } + // 创建结果 + console.log(); + console.table(res); +} + +/** + * 创建自定义标签 + */ +async function createCustomLabels() { + let label: CLabel; + try { + label = { + name: await input({ message: '[1/3]请输入标签名称:' }), + description: await input({ message: '[2/3]请输入标签描述:' }), + color: await input({ message: '[3/3]请输入标签颜色(16进制, 空则随机, 例如: ffffff):' }) + }; + } catch (error) { + return console.log('已取消!'); + } + const [next, msg] = await createLabel(label); + console.table([{ + label: `${label.description} ${label.name}`, + msg: msg, + status: next ? '成功' : '失败' + }]); +} + +/** + * 批量删除标签 + */ +// async function deleteLabels() { + +// } + +interface Command { + title: string, + value: string, + doFunc: () => Promise +} + +const commands: Command[] = [ + { + title: '创建默认标签', + value: 'create_default_labels', + doFunc: createDefaultLabels + }, + { + title: '创建自定义标签', + value: 'create_custom_labels', + doFunc: createCustomLabels + }, + // { + // title: '批量删除标签', + // value: 'delete_labels', + // doFunc: deleteLabels + // } +]; + +(async () => { + console.log(`欢迎使用 ${appConfig.name} 标签辅助工具`); + console.log('此工具用于快速创建 Issue 标签\n'); + + const [err, sRes] = await awaitTo(select({ + message: '请选择工具', + choices: commands.map(c => ({ + name: c.title, + value: c.value + })) + })); + if (err) { + return console.log('已取消!'); + } + // 执行 + commands.find(c => c.value == sRes)?.doFunc(); +})(); diff --git a/app/label/tsconfig.json b/app/label/tsconfig.json new file mode 100644 index 0000000..afe141d --- /dev/null +++ b/app/label/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "types": [ + "vite/client" + ], + "moduleResolution": "Bundler" + }, + "include": [ + "src/**/*.ts", + "app.config.ts", + "types/**/*.d.ts" + ], +} \ No newline at end of file diff --git a/app/label/types/env.d.ts b/app/label/types/env.d.ts new file mode 100644 index 0000000..f2ffc7d --- /dev/null +++ b/app/label/types/env.d.ts @@ -0,0 +1,14 @@ +interface ImportMetaEnv { + // 项目名称 + readonly VITE_APP_NAME: string; + // Issue 仓库名称 + readonly VITE_ISSUE_REPO: string; + // Issue 仓库持有者 + readonly VITE_ISSUE_owner: string; + // Issue 标签创建权限 Token + readonly VITE_GITHUB_TOKEN?: string +} + +interface ImportMeta { + readonly env: ImportMetaEnv +} diff --git a/app/web/CHANGELOG.md b/app/web/CHANGELOG.md index f3508e3..35a110d 100644 --- a/app/web/CHANGELOG.md +++ b/app/web/CHANGELOG.md @@ -1,5 +1,12 @@ # @miaoji/web +## 0.5.3 + +### Patch Changes + +- Updated dependencies + - @miaoji/api@1.4.0 + ## 0.5.2 ### Patch Changes diff --git a/app/web/package.json b/app/web/package.json index bada916..3c1ac31 100644 --- a/app/web/package.json +++ b/app/web/package.json @@ -1,7 +1,7 @@ { "name": "@miaoji/web", "private": true, - "version": "0.5.2", + "version": "0.5.3", "type": "module", "repository": "https://github.com/xiaohuohumax/MiaoJi", "author": { diff --git a/app/web/src/api/index.ts b/app/web/src/api/index.ts index 4c080ab..cf97200 100644 --- a/app/web/src/api/index.ts +++ b/app/web/src/api/index.ts @@ -44,7 +44,7 @@ function handleError(err: any) { } const executor = RequestExecutor.create({ - baseURL: 'https://api.github.com', + baseURL: appConfig.api.apiBaseUrl, timeout: 10_0000, headers: { Accept: 'application/json', diff --git a/package.json b/package.json index 31c4cb9..35a1a69 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "scripts": { "dev": "pnpm --filter @miaoji/web dev", "build": "pnpm --filter @miaoji/web build", + "label":"pnpm --filter @miaoji/label start", "lint": "eslint --fix --ext=.ts,.d.ts,.vue . && echo success 🎉🎉" }, "keywords": [], diff --git a/package/api/CHANGELOG.md b/package/api/CHANGELOG.md index 9ecc752..2384439 100644 --- a/package/api/CHANGELOG.md +++ b/package/api/CHANGELOG.md @@ -1,10 +1,16 @@ # @miaoji/api +## 1.4.0 + +### Minor Changes + +- 修改创建标签方法参数 + ## 1.3.0 ### Minor Changes -- 添加i18n(中英) API接口优化 文章不匹配拦截跳转404 +- 添加 i18n(中英) API 接口优化 文章不匹配拦截跳转 404 ### Patch Changes diff --git a/package/api/package.json b/package/api/package.json index 6c3443d..30ea2ef 100644 --- a/package/api/package.json +++ b/package/api/package.json @@ -1,6 +1,6 @@ { "name": "@miaoji/api", - "version": "1.3.0", + "version": "1.4.0", "description": "", "main": "index.ts", "private": "true", diff --git a/package/api/src/api/label.api.ts b/package/api/src/api/label.api.ts index 3e0f868..abf0aef 100644 --- a/package/api/src/api/label.api.ts +++ b/package/api/src/api/label.api.ts @@ -38,14 +38,11 @@ export class LabelApi extends Api { return labels; } // 创建标签 - createLabel(label: CreateLabelData, token: string = '') { + createLabel(label: CreateLabelData) { return this.request, CreateLabelData>({ url: `/repos/${this.owner}/${this.repo}/labels`, method: 'POST', data: label, - headers: !token - ? { Authorization: 'Bearer ' + token } - : {} }); } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2dcdf75..5c3d411 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,45 +27,35 @@ importers: specifier: ^9.19.2 version: 9.19.2(eslint@8.56.0) - app/tool: + app/label: dependencies: + '@inquirer/prompts': + specifier: ^3.3.0 + version: 3.3.0 '@miaoji/api': specifier: workspace:^ version: link:../../package/api '@miaoji/base': specifier: workspace:^ version: link:../../package/base - '@miaoji/components': - specifier: workspace:^ - version: link:../../package/components '@miaoji/util': specifier: workspace:^ version: link:../../package/util + '@types/node': + specifier: ^20.10.6 + version: 20.10.6 await-to-js: specifier: ^3.0.0 version: 3.0.0 axios: specifier: ^1.6.3 version: 1.6.3 - naive-ui: - specifier: ^2.36.0 - version: 2.36.0(vue@3.4.2) - vue: - specifier: ^3.3.4 - version: 3.4.2(typescript@5.3.3) - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.2.3 - version: 4.6.1(vite@4.5.1)(vue@3.4.2) typescript: specifier: ^5.0.2 version: 5.3.3 - vite: - specifier: ^4.4.5 - version: 4.5.1(@types/node@20.10.6) - vue-tsc: - specifier: ^1.8.5 - version: 1.8.27(typescript@5.3.3) + vite-node: + specifier: ^1.1.3 + version: 1.1.3(@types/node@20.10.6) app/web: dependencies: @@ -718,6 +708,15 @@ packages: resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} dev: false + /@esbuild/aix-ppc64@0.19.11: + resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -727,6 +726,15 @@ packages: dev: true optional: true + /@esbuild/android-arm64@0.19.11: + resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-arm@0.18.20: resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} @@ -736,6 +744,15 @@ packages: dev: true optional: true + /@esbuild/android-arm@0.19.11: + resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-x64@0.18.20: resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -745,6 +762,15 @@ packages: dev: true optional: true + /@esbuild/android-x64@0.19.11: + resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/darwin-arm64@0.18.20: resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -754,6 +780,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64@0.19.11: + resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@esbuild/darwin-x64@0.18.20: resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -763,6 +798,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64@0.19.11: + resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@esbuild/freebsd-arm64@0.18.20: resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -772,6 +816,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64@0.19.11: + resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/freebsd-x64@0.18.20: resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} @@ -781,6 +834,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64@0.19.11: + resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-arm64@0.18.20: resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} @@ -790,6 +852,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64@0.19.11: + resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-arm@0.18.20: resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -799,6 +870,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm@0.19.11: + resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-ia32@0.18.20: resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -808,6 +888,15 @@ packages: dev: true optional: true + /@esbuild/linux-ia32@0.19.11: + resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-loong64@0.18.20: resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} @@ -817,6 +906,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64@0.19.11: + resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-mips64el@0.18.20: resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -826,6 +924,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el@0.19.11: + resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-ppc64@0.18.20: resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -835,6 +942,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64@0.19.11: + resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-riscv64@0.18.20: resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -844,6 +960,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64@0.19.11: + resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-s390x@0.18.20: resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -853,6 +978,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x@0.19.11: + resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-x64@0.18.20: resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -862,6 +996,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64@0.19.11: + resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/netbsd-x64@0.18.20: resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -871,6 +1014,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64@0.19.11: + resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/openbsd-x64@0.18.20: resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -880,6 +1032,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64@0.19.11: + resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/sunos-x64@0.18.20: resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} @@ -889,6 +1050,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64@0.19.11: + resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-arm64@0.18.20: resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -898,6 +1068,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64@0.19.11: + resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-ia32@0.18.20: resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -907,6 +1086,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32@0.19.11: + resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-x64@0.18.20: resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} @@ -916,6 +1104,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64@0.19.11: + resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -982,6 +1179,125 @@ packages: vue: 3.4.2(typescript@5.3.3) dev: false + /@inquirer/checkbox@1.5.0: + resolution: {integrity: sha512-3cKJkW1vIZAs4NaS0reFsnpAjP0azffYII4I2R7PTI7ZTMg5Y1at4vzXccOH3762b2c2L4drBhpJpf9uiaGNxA==} + engines: {node: '>=14.18.0'} + dependencies: + '@inquirer/core': 5.1.1 + '@inquirer/type': 1.1.5 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + figures: 3.2.0 + dev: false + + /@inquirer/confirm@2.0.15: + resolution: {integrity: sha512-hj8Q/z7sQXsF0DSpLQZVDhWYGN6KLM/gNjjqGkpKwBzljbQofGjn0ueHADy4HUY+OqDHmXuwk/bY+tZyIuuB0w==} + engines: {node: '>=14.18.0'} + dependencies: + '@inquirer/core': 5.1.1 + '@inquirer/type': 1.1.5 + chalk: 4.1.2 + dev: false + + /@inquirer/core@5.1.1: + resolution: {integrity: sha512-IuJyZQUg75+L5AmopgnzxYrgcU6PJKL0hoIs332G1Gv55CnmZrhG6BzNOeZ5sOsTi1YCGOopw4rYICv74ejMFg==} + engines: {node: '>=14.18.0'} + dependencies: + '@inquirer/type': 1.1.5 + '@types/mute-stream': 0.0.4 + '@types/node': 20.10.6 + '@types/wrap-ansi': 3.0.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-spinners: 2.9.2 + cli-width: 4.1.0 + figures: 3.2.0 + mute-stream: 1.0.0 + run-async: 3.0.0 + signal-exit: 4.1.0 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: false + + /@inquirer/editor@1.2.13: + resolution: {integrity: sha512-gBxjqt0B9GLN0j6M/tkEcmcIvB2fo9Cw0f5NRqDTkYyB9AaCzj7qvgG0onQ3GVPbMyMbbP4tWYxrBOaOdKpzNA==} + engines: {node: '>=14.18.0'} + dependencies: + '@inquirer/core': 5.1.1 + '@inquirer/type': 1.1.5 + chalk: 4.1.2 + external-editor: 3.1.0 + dev: false + + /@inquirer/expand@1.1.14: + resolution: {integrity: sha512-yS6fJ8jZYAsxdxuw2c8XTFMTvMR1NxZAw3LxDaFnqh7BZ++wTQ6rSp/2gGJhMacdZ85osb+tHxjVgx7F+ilv5g==} + engines: {node: '>=14.18.0'} + dependencies: + '@inquirer/core': 5.1.1 + '@inquirer/type': 1.1.5 + chalk: 4.1.2 + figures: 3.2.0 + dev: false + + /@inquirer/input@1.2.14: + resolution: {integrity: sha512-tISLGpUKXixIQue7jypNEShrdzJoLvEvZOJ4QRsw5XTfrIYfoWFqAjMQLerGs9CzR86yAI89JR6snHmKwnNddw==} + engines: {node: '>=14.18.0'} + dependencies: + '@inquirer/core': 5.1.1 + '@inquirer/type': 1.1.5 + chalk: 4.1.2 + dev: false + + /@inquirer/password@1.1.14: + resolution: {integrity: sha512-vL2BFxfMo8EvuGuZYlryiyAB3XsgtbxOcFs4H9WI9szAS/VZCAwdVqs8rqEeaAf/GV/eZOghIOYxvD91IsRWSg==} + engines: {node: '>=14.18.0'} + dependencies: + '@inquirer/input': 1.2.14 + '@inquirer/type': 1.1.5 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + dev: false + + /@inquirer/prompts@3.3.0: + resolution: {integrity: sha512-BBCqdSnhNs+WziSIo4f/RNDu6HAj4R/Q5nMgJb5MNPFX8sJGCvj9BoALdmR0HTWXyDS7TO8euKj6W6vtqCQG7A==} + engines: {node: '>=14.18.0'} + dependencies: + '@inquirer/checkbox': 1.5.0 + '@inquirer/confirm': 2.0.15 + '@inquirer/core': 5.1.1 + '@inquirer/editor': 1.2.13 + '@inquirer/expand': 1.1.14 + '@inquirer/input': 1.2.14 + '@inquirer/password': 1.1.14 + '@inquirer/rawlist': 1.2.14 + '@inquirer/select': 1.3.1 + dev: false + + /@inquirer/rawlist@1.2.14: + resolution: {integrity: sha512-xIYmDpYgfz2XGCKubSDLKEvadkIZAKbehHdWF082AyC2I4eHK44RUfXaoOAqnbqItZq4KHXS6jDJ78F2BmQvxg==} + engines: {node: '>=14.18.0'} + dependencies: + '@inquirer/core': 5.1.1 + '@inquirer/type': 1.1.5 + chalk: 4.1.2 + dev: false + + /@inquirer/select@1.3.1: + resolution: {integrity: sha512-EgOPHv7XOHEqiBwBJTyiMg9r57ySyW4oyYCumGp+pGyOaXQaLb2kTnccWI6NFd9HSi5kDJhF7YjA+3RfMQJ2JQ==} + engines: {node: '>=14.18.0'} + dependencies: + '@inquirer/core': 5.1.1 + '@inquirer/type': 1.1.5 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + figures: 3.2.0 + dev: false + + /@inquirer/type@1.1.5: + resolution: {integrity: sha512-wmwHvHozpPo4IZkkNtbYenem/0wnfI6hvOcGKmPEa0DwuaH5XUQzFqy6OpEpjEegZMhYIk8HDYITI16BPLtrRA==} + engines: {node: '>=14.18.0'} + dev: false + /@intlify/core-base@9.8.0: resolution: {integrity: sha512-UxaSZVZ1DwqC/CltUZrWZNaWNhfmKtfyV4BJSt/Zt4Or/fZs1iFj0B+OekYk1+MRHfIOe3+x00uXGQI4PbO/9g==} engines: {node: '>= 16'} @@ -1221,6 +1537,119 @@ packages: picomatch: 2.3.1 dev: true + /@rollup/rollup-android-arm-eabi@4.9.4: + resolution: {integrity: sha512-ub/SN3yWqIv5CWiAZPHVS1DloyZsJbtXmX4HxUTIpS0BHm9pW5iYBo2mIZi+hE3AeiTzHz33blwSnhdUo+9NpA==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-android-arm64@4.9.4: + resolution: {integrity: sha512-ehcBrOR5XTl0W0t2WxfTyHCR/3Cq2jfb+I4W+Ch8Y9b5G+vbAecVv0Fx/J1QKktOrgUYsIKxWAKgIpvw56IFNA==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-darwin-arm64@4.9.4: + resolution: {integrity: sha512-1fzh1lWExwSTWy8vJPnNbNM02WZDS8AW3McEOb7wW+nPChLKf3WG2aG7fhaUmfX5FKw9zhsF5+MBwArGyNM7NA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-darwin-x64@4.9.4: + resolution: {integrity: sha512-Gc6cukkF38RcYQ6uPdiXi70JB0f29CwcQ7+r4QpfNpQFVHXRd0DfWFidoGxjSx1DwOETM97JPz1RXL5ISSB0pA==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.9.4: + resolution: {integrity: sha512-g21RTeFzoTl8GxosHbnQZ0/JkuFIB13C3T7Y0HtKzOXmoHhewLbVTFBQZu+z5m9STH6FZ7L/oPgU4Nm5ErN2fw==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.9.4: + resolution: {integrity: sha512-TVYVWD/SYwWzGGnbfTkrNpdE4HON46orgMNHCivlXmlsSGQOx/OHHYiQcMIOx38/GWgwr/po2LBn7wypkWw/Mg==} + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm64-musl@4.9.4: + resolution: {integrity: sha512-XcKvuendwizYYhFxpvQ3xVpzje2HHImzg33wL9zvxtj77HvPStbSGI9czrdbfrf8DGMcNNReH9pVZv8qejAQ5A==} + cpu: [arm64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.9.4: + resolution: {integrity: sha512-LFHS/8Q+I9YA0yVETyjonMJ3UA+DczeBd/MqNEzsGSTdNvSJa1OJZcSH8GiXLvcizgp9AlHs2walqRcqzjOi3A==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-x64-gnu@4.9.4: + resolution: {integrity: sha512-dIYgo+j1+yfy81i0YVU5KnQrIJZE8ERomx17ReU4GREjGtDW4X+nvkBak2xAUpyqLs4eleDSj3RrV72fQos7zw==} + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-x64-musl@4.9.4: + resolution: {integrity: sha512-RoaYxjdHQ5TPjaPrLsfKqR3pakMr3JGqZ+jZM0zP2IkDtsGa4CqYaWSfQmZVgFUCgLrTnzX+cnHS3nfl+kB6ZQ==} + cpu: [x64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.9.4: + resolution: {integrity: sha512-T8Q3XHV+Jjf5e49B4EAaLKV74BbX7/qYBRQ8Wop/+TyyU0k+vSjiLVSHNWdVd1goMjZcbhDmYZUYW5RFqkBNHQ==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.9.4: + resolution: {integrity: sha512-z+JQ7JirDUHAsMecVydnBPWLwJjbppU+7LZjffGf+Jvrxq+dVjIE7By163Sc9DKc3ADSU50qPVw0KonBS+a+HQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-x64-msvc@4.9.4: + resolution: {integrity: sha512-LfdGXCV9rdEify1oxlN9eamvDSjv9md9ZVMAbNHA87xqIfFCxImxan9qZ8+Un54iK2nnqPlbnSi4R54ONtbWBw==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: false + /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true @@ -1265,6 +1694,12 @@ packages: resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true + /@types/mute-stream@0.0.4: + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + dependencies: + '@types/node': 20.10.6 + dev: false + /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true @@ -1273,7 +1708,6 @@ packages: resolution: {integrity: sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==} dependencies: undici-types: 5.26.5 - dev: true /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1283,6 +1717,10 @@ packages: resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true + /@types/wrap-ansi@3.0.0: + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + dev: false + /@typescript-eslint/eslint-plugin@6.16.0(@typescript-eslint/parser@6.16.0)(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-O5f7Kv5o4dLWQtPX4ywPPa+v9G+1q1x8mz0Kr0pXUtKsevo+gIJHLkGc8RxaZWtP8RrhwhSNIWThnW42K9/0rQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1569,10 +2007,16 @@ packages: engines: {node: '>=6'} dev: true + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: false + /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - dev: true /ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} @@ -1591,7 +2035,6 @@ packages: engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - dev: true /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} @@ -1772,6 +2215,11 @@ packages: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: false + /call-bind@1.0.5: resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} dependencies: @@ -1830,11 +2278,9 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true /chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true /chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} @@ -1863,6 +2309,16 @@ packages: source-map: 0.6.1 dev: true + /cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + dev: false + + /cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + dev: false + /cliui@6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} dependencies: @@ -1910,7 +2366,6 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - dev: true /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} @@ -1918,7 +2373,6 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true /colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} @@ -2075,7 +2529,6 @@ packages: optional: true dependencies: ms: 2.1.2 - dev: true /decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} @@ -2212,7 +2665,6 @@ packages: /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} @@ -2344,6 +2796,37 @@ packages: '@esbuild/win32-x64': 0.18.20 dev: true + /esbuild@0.19.11: + resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.11 + '@esbuild/android-arm': 0.19.11 + '@esbuild/android-arm64': 0.19.11 + '@esbuild/android-x64': 0.19.11 + '@esbuild/darwin-arm64': 0.19.11 + '@esbuild/darwin-x64': 0.19.11 + '@esbuild/freebsd-arm64': 0.19.11 + '@esbuild/freebsd-x64': 0.19.11 + '@esbuild/linux-arm': 0.19.11 + '@esbuild/linux-arm64': 0.19.11 + '@esbuild/linux-ia32': 0.19.11 + '@esbuild/linux-loong64': 0.19.11 + '@esbuild/linux-mips64el': 0.19.11 + '@esbuild/linux-ppc64': 0.19.11 + '@esbuild/linux-riscv64': 0.19.11 + '@esbuild/linux-s390x': 0.19.11 + '@esbuild/linux-x64': 0.19.11 + '@esbuild/netbsd-x64': 0.19.11 + '@esbuild/openbsd-x64': 0.19.11 + '@esbuild/sunos-x64': 0.19.11 + '@esbuild/win32-arm64': 0.19.11 + '@esbuild/win32-ia32': 0.19.11 + '@esbuild/win32-x64': 0.19.11 + dev: false + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -2352,7 +2835,6 @@ packages: /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: true /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} @@ -2502,7 +2984,6 @@ packages: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - dev: true /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2533,6 +3014,13 @@ packages: reusify: 1.0.4 dev: true + /figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: false + /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2662,7 +3150,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true - dev: true optional: true /function-bind@1.1.2: @@ -2803,7 +3290,6 @@ packages: /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true /has-property-descriptors@1.0.1: resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} @@ -2872,7 +3358,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: true /ignore@5.3.0: resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} @@ -2976,7 +3461,6 @@ packages: /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - dev: true /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} @@ -3447,12 +3931,16 @@ packages: /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true /muggle-string@0.3.1: resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} dev: true + /mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: false + /mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: @@ -3589,7 +4077,6 @@ packages: /os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} - dev: true /outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} @@ -3711,6 +4198,10 @@ packages: resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} dev: true + /pathe@1.1.1: + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -3998,6 +4489,34 @@ packages: fsevents: 2.3.3 dev: true + /rollup@4.9.4: + resolution: {integrity: sha512-2ztU7pY/lrQyXSCnnoU4ICjT/tCG9cdH3/G25ERqE3Lst6vl2BCM5hL2Nw+sslAvAf+ccKsAq1SkKQALyqhR7g==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.9.4 + '@rollup/rollup-android-arm64': 4.9.4 + '@rollup/rollup-darwin-arm64': 4.9.4 + '@rollup/rollup-darwin-x64': 4.9.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.4 + '@rollup/rollup-linux-arm64-gnu': 4.9.4 + '@rollup/rollup-linux-arm64-musl': 4.9.4 + '@rollup/rollup-linux-riscv64-gnu': 4.9.4 + '@rollup/rollup-linux-x64-gnu': 4.9.4 + '@rollup/rollup-linux-x64-musl': 4.9.4 + '@rollup/rollup-win32-arm64-msvc': 4.9.4 + '@rollup/rollup-win32-ia32-msvc': 4.9.4 + '@rollup/rollup-win32-x64-msvc': 4.9.4 + fsevents: 2.3.3 + dev: false + + /run-async@3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} + dev: false + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -4024,7 +4543,6 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true /seemly@0.3.8: resolution: {integrity: sha512-MW8Qs6vbzo0pHmDpFSYPna+lwpZ6Zk1ancbajw/7E8TKtHdV+1DfZZD+kKJEhG/cAoB/i+LiT+5msZOqj0DwRA==} @@ -4105,7 +4623,6 @@ packages: /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - dev: true /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} @@ -4187,7 +4704,6 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: true /string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} @@ -4228,7 +4744,6 @@ packages: engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - dev: true /strip-ansi@7.1.0: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} @@ -4284,7 +4799,6 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - dev: true /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} @@ -4360,7 +4874,6 @@ packages: engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 - dev: true /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} @@ -4434,6 +4947,11 @@ packages: engines: {node: '>=10'} dev: true + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: false + /type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} @@ -4506,7 +5024,6 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true /universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} @@ -4555,6 +5072,27 @@ packages: vue: 3.4.2(typescript@5.3.3) dev: false + /vite-node@1.1.3(@types/node@20.10.6): + resolution: {integrity: sha512-BLSO72YAkIUuNrOx+8uznYICJfTEbvBAmWClY3hpath5+h1mbPS5OMn42lrTxXuyCazVyZoDkSRnju78GiVCqA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 5.0.11(@types/node@20.10.6) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: false + /vite-plugin-html@3.0.6(vite@4.5.1): resolution: {integrity: sha512-B6ZAufvqUqdfPhcV+El8NNI3qV0d3ZntIur2UnP4tcHBV/O2d+6wHF79bJWuqR4WsvmsV7dejCNS3rAYFCisWw==} peerDependencies: @@ -4611,6 +5149,42 @@ packages: fsevents: 2.3.3 dev: true + /vite@5.0.11(@types/node@20.10.6): + resolution: {integrity: sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.10.6 + esbuild: 0.19.11 + postcss: 8.4.32 + rollup: 4.9.4 + optionalDependencies: + fsevents: 2.3.3 + dev: false + /vooks@0.2.12(vue@3.4.2): resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} peerDependencies: @@ -4788,7 +5362,6 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}