diff --git a/.env b/.env index a84741b8..434cf575 100644 --- a/.env +++ b/.env @@ -4,11 +4,6 @@ VITE_APP_TITLE = Admin # 网站前缀 VITE_BASE_URL = / -# base api -VITE_BASE_API_URL = '/api/admin/' -VITE_BASE_SOCKET_PATH = '/ws-api' -VITE_BASE_SOCKET_NSP = '/admin' - -# mock api -VITE_MOCK_API = '/api/' +# enable mock in production +VITE_MOCK_IN_PROD = true diff --git a/.env.development b/.env.development index 11fc3dc1..00f3fa10 100644 --- a/.env.development +++ b/.env.development @@ -5,8 +5,6 @@ ENV = 'development' VITE_BASE_URL = / # base api url -VITE_BASE_API_URL = '/api' -VITE_BASE_SOCKET_PATH = '/ws-api' -VITE_BASE_SOCKET_NSP = '/auth' +VITE_BASE_API_URL = '/api' VITE_DROP_CONSOLE = false diff --git a/.env.production b/.env.production index 7aad938e..8db41913 100644 --- a/.env.production +++ b/.env.production @@ -3,9 +3,7 @@ ENV = 'production' # base api url VITE_BASE_API_URL = 'https://nest-api.buqiyuan.site' -# VITE_BASE_API_URL = 'http://127.0.0.1:7001' -VITE_BASE_SOCKET_PATH = '/ws-api' -VITE_BASE_SOCKET_NSP = 'wss://nest-api.buqiyuan.site/admin' +# VITE_BASE_API_URL = 'http://127.0.0.1:7001' # 网站前缀 VITE_BASE_URL = /vue3-antdv-admin/ diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml index 355d7342..caa8d92f 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/release-package.yml @@ -26,10 +26,12 @@ jobs: - name: Install dependencies run: pnpm install --frozen-lockfile - # run: pnpm run --filter \"./packages/**\" build + - name: Build + shell: bash + run: pnpm --filter "./packages/*" build - name: Publish 🚀 shell: bash - run: pnpm publish --filter ./packages/* --access public --no-git-checks + run: pnpm publish --filter ./packages/* --access public --no-git-checks --registry https://registry.npmjs.org --verbose env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/sync-to-gitee.yml b/.github/workflows/sync-to-gitee.yml index 8e4c47ae..f89f1371 100644 --- a/.github/workflows/sync-to-gitee.yml +++ b/.github/workflows/sync-to-gitee.yml @@ -7,6 +7,11 @@ on: push: branches: [main] +# Ensures that only one mirror task will run at a time. +concurrency: + group: repo-sync + cancel-in-progress: true + jobs: repo-sync: runs-on: ubuntu-latest diff --git a/.gitignore b/.gitignore index ad4d7eb9..83377964 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ node_modules .DS_Store dist -.npmrc .cache tests/server/static diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..6ac1657c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "docs"] + path = docs + url = https://github.com/buqiyuan/vue3-antdv-admin-docs.git + branch = main diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..c9290356 --- /dev/null +++ b/.npmrc @@ -0,0 +1,18 @@ +# 使用淘宝镜像源 +registry = https://registry.npmmirror.com +# registry = https://registry.npmjs.org + +# 根据需要提升含有以下的依赖包到根 node_modules 目录下 +public-hoist-pattern[]=husky +public-hoist-pattern[]=*eslint* +public-hoist-pattern[]=*prettier* +public-hoist-pattern[]=lint-staged +public-hoist-pattern[]=*stylelint* +public-hoist-pattern[]=@commitlint/cli +public-hoist-pattern[]=core-js + +# 提升所有依赖到根 node_modules 目录下,相当于 public-hoist-pattern[]=*,与上面一种方式一般二选一使用 +# 极不推荐用这样的方式解决依赖问题,这样没有充分利用 pnpm 依赖访问安全性的优势,又走回了 npm / yarn 的老路。 +# shamefully-hoist=true + +enable-pre-post-scripts=true \ No newline at end of file diff --git a/README.md b/README.md index c2aa5b6d..b1229d29 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,21 @@ # vue3-antdv-admin -> 基于 vite4.x 重构整个前后端项目,完善后端权限控制细粒度,封装更多场景化组件...正在完善中 +基于 vite5.x + vue3.x + antd-design-vue4.x + typescript5.x 的后台管理系统 -基于 vite4.x + vue3.x + antd-design-vue4.x + typescript5.x 的后台管理系统模板 - -- 账号:rootadmin,密码:123456 -- 在线预览( [gitee](http://buqiyuan.gitee.io/vue3-antdv-admin/) / [vercel](https://vue3-antdv-admin.vercel.app/) ) -- [swagger 文档](https://nest-api.buqiyuan.site/swagger-api/) -- [后台地址](https://github.com/buqiyuan/nest-admin) -- [vue-cli版](https://github.com/buqiyuan/vue3-antdv-admin/tree/vue-cli) +- 账号:admin,密码:a123456 +- [在线预览](http://buqiyuan.gitee.io/vue3-antdv-admin/) +- [项目文档](https://buqiyuan.github.io/vue3-antdv-admin-docs/) +- [swagger 文档](https://nest-api.buqiyuan.site/api-docs/) +- [后端仓库地址](https://github.com/buqiyuan/nest-admin) - [gitee 地址](https://gitee.com/buqiyuan/vue3-antdv-admin) - 根据 JSON 生成 typescript 的工具:[http://json2ts.com/](http://json2ts.com/) -部分设计参考了 [vue-vben-admin](https://github.com/vbenjs/vue-vben-admin) - ## 安装使用 - 获取项目代码 ```bash -git clone --depth 1 https://github.com/buqiyuan/vue3-antdv-admin +git clone https://github.com/buqiyuan/vue3-antdv-admin ``` - 安装依赖 @@ -47,11 +43,7 @@ pnpm build 安装项目根目录 `.vscode` 推荐的插件,再安装 `Volar`,并禁用 `Vetur`,重启 vscode 即可。 -> 使用了 Vue3.x 全家桶、ant-design-vue3.x 和 typescript4.x,实践 vue3.x 的新特性以及玩法,不得不说 vue3.x 的 Composition API 相比于 vue2.x 的 Options API 灵活很多,让我们可以灵活地组合组件逻辑,我们可以很轻松的使用 hooks 的形式去代替以前 mixins 等的写法。更多 hooks 可以参考[vueuse](https://vueuse.org/functions.html) - -## 项目简要说明 - -`rootadmin` 默认开放多点登录,其他新建的账号默认都是单点登录。建议自己拉后端代码到本地跑,避免多人同时操作时产生冲突和误解。 +> 使用了 Vue3.x 全家桶、ant-design-vue4.x 和 typescript5.x,实践 vue3.x 的新特性以及玩法,不得不说 vue3.x 的 Composition API 相比于 vue2.x 的 Options API 灵活很多,让我们可以灵活地组合组件逻辑,我们可以很轻松的使用 hooks 的形式去代替以前 mixins 等的写法。更多 hooks 可以参考[vueuse](https://vueuse.org/functions.html) ### todolist diff --git a/docs/.editorconfig b/docs/.editorconfig new file mode 100644 index 00000000..0de50015 --- /dev/null +++ b/docs/.editorconfig @@ -0,0 +1,10 @@ +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false diff --git a/docs/.github/workflows/gh-pages.yml b/docs/.github/workflows/gh-pages.yml new file mode 100644 index 00000000..fe322abe --- /dev/null +++ b/docs/.github/workflows/gh-pages.yml @@ -0,0 +1,54 @@ +name: GitHub Pages + +on: + push: + branches: [main] + +jobs: + deploy: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: '18' + registry-url: https://registry.npmjs.com/ + + - name: Setup pnpm + uses: pnpm/action-setup@v2 + with: + version: latest + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - uses: actions/cache@v3 + name: Setup pnpm cache + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm i --frozen-lockfile + + - name: Build + run: pnpm run deploy + env: + FORCE_COLOR: 2 + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + with: + publish_dir: ./.vitepress/dist + github_token: ${{ secrets.GITHUB_TOKEN }} + commit_message: Update ghPages + force_orphan: true diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..e44ac5a5 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,118 @@ +### OSX ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# pnpm link folder +pnpm-global + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# rollup.js default build output +dist/ + +# vitepress build output +.vitepress/dist +.vitepress/cache + +# Serverless directories +.serverless/ + +# Temporary folders +tmp/ +temp/ +TODOs.md +src/api/index.json +src/examples/data.json +src/tutorial/data.json +draft.md + +# IDEs +.idea + +test.html +.firebase \ No newline at end of file diff --git a/docs/.npmrc b/docs/.npmrc new file mode 100644 index 00000000..1e48054c --- /dev/null +++ b/docs/.npmrc @@ -0,0 +1,2 @@ +registry = https://registry.npmmirror.com +# registry = https://registry.npmjs.org diff --git a/docs/.prettierrc b/docs/.prettierrc new file mode 100644 index 00000000..2ecc4f49 --- /dev/null +++ b/docs/.prettierrc @@ -0,0 +1,6 @@ +{ + "semi": false, + "singleQuote": true, + "trailingComma": "none", + "printWidth": 75 +} diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts new file mode 100644 index 00000000..d311e95d --- /dev/null +++ b/docs/.vitepress/config.mts @@ -0,0 +1,119 @@ +import { defineConfig } from 'vitepress' +import path from 'node:path' + +const isProd = process.env.NODE_ENV === 'production' + +export default defineConfig({ + base: isProd ? '/vue3-antdv-admin-docs' : '', + title: 'Vue3 Antdv Admin', + description: '一个优雅、清新、漂亮的中后台模版', + ignoreDeadLinks: [ + // 自定义函数,忽略所有包含 "/playground/" 的链接 + (url) => { + return url.toLowerCase().includes('/playground/') + } + ], + head: [ + ['meta', { name: 'author', content: 'Vue3 Antdv Admin' }], + [ + 'meta', + { + name: 'keywords', + content: + 'buqiyuan, vue3-antdv-admin, vite, vue, vue3, vue3-antdv-admin docs' + } + ], + ['link', { rel: 'icon', type: 'image/svg+xml', href: '/logo.png' }], + [ + 'meta', + { + name: 'viewport', + content: + 'width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no' + } + ], + ['link', { rel: 'icon', href: '/favicon.ico' }] + ], + srcDir: `${path.resolve(process.cwd())}/src`, + themeConfig: { + logo: '/logo.png', + search: { + provider: 'local' + }, + editLink: { + text: '为此页提供修改建议', + pattern: + 'https://github.com/buqiyuan/vue3-antdv-admin-docs/tree/main/src/:path' + }, + socialLinks: [ + { + icon: 'github', + link: 'https://github.com/buqiyuan/vue3-antdv-admin' + } + ], + footer: { + message: 'Released under the MIT License.', + copyright: 'Copyright © 2024-PRESENT buqiyuan' + }, + nav: [ + { + text: '项目指南', + link: '/guide/getting-started', + activeMatch: '/guide/' + }, + { + text: '相关链接', + items: [ + { + text: '预览地址', + link: 'https://buqiyuan.gitee.io/vue3-antdv-admin' + }, + { + text: '前端源码', + link: 'https://github.com/buqiyuan/vue3-antdv-admin' + }, + { + text: '后端源码', + link: 'https://github.com/buqiyuan/nest-admin' + }, + { + text: '文档源码', + link: 'https://github.com/buqiyuan/vue3-antdv-admin-docs' + }, + { + text: '更新日志', + link: 'https://github.com/buqiyuan/vue3-antdv-admin/blob/main/CHANGELOG.md' + } + ] + }, + { + text: '赞助', + link: '/other/donate' + } + ], + sidebar: [ + { + text: '指南', + items: [ + { + text: '介绍', + link: '/guide/introduction' + }, + { + text: '开始', + link: '/guide/getting-started' + }, + { text: 'mock服务', link: '/guide/mock-service' }, + { text: '接口管理', link: '/guide/api-manage' } + ] + }, + { + text: '组件', + items: [ + { text: 'Table', link: '/components/table' }, + { text: 'Form', link: '/components/form' } + ] + } + ] + } +}) diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts new file mode 100644 index 00000000..fc475217 --- /dev/null +++ b/docs/.vitepress/theme/index.ts @@ -0,0 +1,10 @@ +import Theme from 'vitepress/theme' +import './style.css' +import Test from './test.vue' + +export default { + ...Theme, + enhanceApp(ctx: any) { + ctx.app.component('Test', Test) + } +} diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css new file mode 100644 index 00000000..d0247a69 --- /dev/null +++ b/docs/.vitepress/theme/style.css @@ -0,0 +1,108 @@ +/** + * Colors + * -------------------------------------------------------------------------- */ + +:root { + --vp-c-brand-1: #44bd87; + --vp-c-brand-2: #249252; + --vp-c-brand-3: #19633b; + --vp-c-brand-soft: #69e8af50; + + --vp-c-text-code: #528d52; + + --vp-code-block-bg: rgba(125, 125, 125, 0.04); + --vp-code-copy-code-bg: rgba(125, 125, 125, 0.1); + --vp-code-copy-code-hover-bg: rgba(125, 125, 125, 0.2); + + --vp-c-disabled-bg: rgba(125, 125, 125, 0.2); + /* fix contrast on gray cards: used by --vp-c-text-2 */ + --vp-c-text-light-2: rgba(56 56 56 / 70%); + --vp-c-text-dark-2: rgba(56 56 56 / 70%); + + --vp-custom-block-info-bg: transparent; + --vp-custom-block-tip-bg: transparent; + + --vp-custom-block-warning-bg: #d9a40605; + --vp-custom-block-warning-text: #d9a406; + --vp-custom-block-warning-border: #d9a40630; + + --vp-custom-block-tip-bg: #44bd8705; + --vp-custom-block-tip-text: #44bd87; + --vp-custom-block-tip-border: #44bd8730; + + --vp-code-color: #729772; +} + +.dark { + --vp-code-block-bg: var(--vp-c-bg-alt); + --vp-c-text-code: #c0cec0; + /* fix contrast on gray cards: check the same above (this is the default) */ + --vp-c-text-dark-2: rgba(235, 235, 235, 0.6); +} + +/** + * Component: Code + * -------------------------------------------------------------------------- */ + +:root { + --vp-code-line-highlight-color: rgba(125, 125, 125, 0.2); +} + +.dark { + --vp-code-line-highlight-color: rgba(0, 0, 0, 0.5); +} + +/** + * Component: Button + * -------------------------------------------------------------------------- */ + +:root { + --vp-button-brand-border: var(--vp-c-brand-soft); + --vp-button-brand-text: var(--vp-c-text-dark-1); + --vp-button-brand-bg: var(--vp-c-brand-1); + --vp-button-brand-hover-border: var(--vp-c-brand-soft); + --vp-button-brand-hover-text: var(--vp-c-text-dark-1); + --vp-button-brand-hover-bg: var(--vp-c-brand-soft); + --vp-button-brand-active-border: var(--vp-c-brand-soft); + --vp-button-brand-active-text: var(--vp-c-text-dark-1); + --vp-button-brand-active-bg: var(--vp-button-brand-bg); +} + +/** + * Component: Home + * -------------------------------------------------------------------------- */ + +:root { + --vp-home-hero-name-color: transparent; + --vp-home-hero-name-background: -webkit-linear-gradient( + 120deg, + #35495e -80%, + #41b883 + ); + --vp-home-hero-image-background-image: linear-gradient( + -45deg, + #41b88380 30%, + #35495e80 + ); + --vp-home-hero-image-filter: blur(30px); +} + +@media (min-width: 640px) { + :root { + --vp-home-hero-image-filter: blur(56px); + } +} + +@media (min-width: 960px) { + :root { + --vp-home-hero-image-filter: blur(72px); + } +} + +/** + * Component: Algolia + * -------------------------------------------------------------------------- */ + +.DocSearch { + --docsearch-primary-color: var(--vp-c-brand) !important; +} diff --git a/docs/.vitepress/theme/test.vue b/docs/.vitepress/theme/test.vue new file mode 100644 index 00000000..d978529a --- /dev/null +++ b/docs/.vitepress/theme/test.vue @@ -0,0 +1,3 @@ + diff --git a/docs/.vscode/launch.json b/docs/.vscode/launch.json new file mode 100644 index 00000000..1a709d67 --- /dev/null +++ b/docs/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "chrome", + "request": "launch", + "name": "Launch Chrome", + "url": "http://localhost:5173", + "webRoot": "${workspaceFolder}/src" + } + ] +} diff --git a/docs/.vscode/settings.json b/docs/.vscode/settings.json new file mode 100644 index 00000000..3296f056 --- /dev/null +++ b/docs/.vscode/settings.json @@ -0,0 +1,47 @@ +{ + "typescript.tsdk": "./node_modules/typescript/lib", + "typescript.preferences.importModuleSpecifier": "non-relative", + "npm.packageManager": "pnpm", + "editor.tabSize": 2, + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "files.eol": "\n", + "stylelint.enable": true, + "stylelint.validate": ["css", "less", "postcss", "scss", "vue", "sass"], + "stylelint.packageManager": "pnpm", + "path-intellisense.mappings": { + "@/": "${workspaceRoot}/src" + }, + "[javascriptreact]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[typescript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[typescriptreact]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[html]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[css]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[less]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[scss]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[markdown]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[jsonc]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[vue]": { + "editor.codeActionsOnSave": { + "source.fixAll.stylelint": "explicit" + } + } +} diff --git a/docs/.vscode/vue3.3.code-snippets b/docs/.vscode/vue3.3.code-snippets new file mode 100644 index 00000000..0bf32dee --- /dev/null +++ b/docs/.vscode/vue3.3.code-snippets @@ -0,0 +1,20 @@ +{ + "Vue3.3+defineOptions快速生成模板": { + "scope": "vue", + "prefix": "Vue3.3+", + "body": [ + "\n", + "\n", + "", + "$2" + ], + "description": "Vue3.3+defineOptions快速生成模板" + } +} diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..e956ecb4 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,7 @@ +# vue3-antdv-admin-docs + +**Vue3 Antdv Admin 的文档说明** +[预览地址](https://buqiyuan.github.io/vue3-antdv-admin-docs) + +**Vue3 Antdv Admin 仓库地址** +[地址](https://github.com/buqiyuan/vue3-antdv-admin) diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 00000000..e088ebe0 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,31 @@ +{ + "name": "vue3-antdv-admin-docs", + "version": "0.0.1", + "description": "vue3-antdv-admin 中后台管理系统的说明文档", + "author": { + "name": "buqiyuan", + "email": "1743369777@qq.com", + "url": "https://github.com/buqiyuan" + }, + "license": "MIT", + "homepage": "https://github.com/buqiyuan/vue3-antdv-admin-docs", + "repository": { + "url": "https://github.com/buqiyuan/vue3-antdv-admin-docs.git" + }, + "bugs": { + "url": "https://github.com/buqiyuan/vue3-antdv-admin-docs/issues" + }, + "scripts": { + "dev": "vitepress dev", + "build": "vitepress build", + "preview": "vitepress preview", + "serve": "vitepress serve", + "deploy": "pnpm build && pnpm -F playground build" + }, + "devDependencies": { + "@types/node": "20.11.16", + "typescript": "5.3.3", + "unplugin-icons": "^0.18.5", + "vitepress": "1.0.0-rc.44" + } +} diff --git a/docs/playground/README.md b/docs/playground/README.md new file mode 100644 index 00000000..8abaa81b --- /dev/null +++ b/docs/playground/README.md @@ -0,0 +1,19 @@ +# SFC Playground + +This is continuously deployed at [https://play.vuejs.org](https://play.vuejs.org). + +## Run Locally in Dev + +In repo root: + +```sh +pnpm dev-sfc +``` + +## Build for Prod + +In repo root + +```sh +pnpm build-sfc-playground +``` diff --git a/docs/playground/index.html b/docs/playground/index.html new file mode 100644 index 00000000..02d94b74 --- /dev/null +++ b/docs/playground/index.html @@ -0,0 +1,31 @@ + + + + + + + + Vue SFC Playground + + + + +
+ + diff --git a/docs/playground/package.json b/docs/playground/package.json new file mode 100644 index 00000000..70f76e06 --- /dev/null +++ b/docs/playground/package.json @@ -0,0 +1,22 @@ +{ + "name": "playground", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "serve": "vite preview" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.0.4", + "vite": "^5.0.12", + "vite-plugin-static-copy": "^1.0.1" + }, + "dependencies": { + "@vue/repl": "^4.1.1", + "file-saver": "^2.0.5", + "jszip": "^3.10.1", + "vue": "~3.4.19" + } +} diff --git a/docs/playground/public/logo.png b/docs/playground/public/logo.png new file mode 100644 index 00000000..3ac3627b Binary files /dev/null and b/docs/playground/public/logo.png differ diff --git a/docs/playground/src/App.vue b/docs/playground/src/App.vue new file mode 100644 index 00000000..0b341378 --- /dev/null +++ b/docs/playground/src/App.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/docs/playground/src/components/Header.vue b/docs/playground/src/components/Header.vue new file mode 100644 index 00000000..22e3c26a --- /dev/null +++ b/docs/playground/src/components/Header.vue @@ -0,0 +1,284 @@ + + + + + diff --git a/docs/playground/src/components/VersionSelect.vue b/docs/playground/src/components/VersionSelect.vue new file mode 100644 index 00000000..e613c7d6 --- /dev/null +++ b/docs/playground/src/components/VersionSelect.vue @@ -0,0 +1,120 @@ + + + + + diff --git a/docs/playground/src/download/download.ts b/docs/playground/src/download/download.ts new file mode 100644 index 00000000..f981134a --- /dev/null +++ b/docs/playground/src/download/download.ts @@ -0,0 +1,39 @@ +import { saveAs } from 'file-saver' + +import index from './template/index.html?raw' +import main from './template/main.js?raw' +import pkg from './template/package.json?raw' +import config from './template/vite.config.js?raw' +import readme from './template/README.md?raw' +import type { ReplStore } from '@vue/repl' + +export async function downloadProject(store: ReplStore) { + if (!confirm('Download project files?')) { + return + } + + const { default: JSZip } = await import('jszip') + const zip = new JSZip() + + // basic structure + zip.file('index.html', index) + zip.file('package.json', pkg) + zip.file('vite.config.js', config) + zip.file('README.md', readme) + + // project src + const src = zip.folder('src')! + src.file('main.js', main) + + const files = store.getFiles() + for (const file in files) { + if (file !== 'import-map.json') { + src.file(file, files[file]) + } else { + zip.file(file, files[file]) + } + } + + const blob = await zip.generateAsync({ type: 'blob' }) + saveAs(blob, 'vue-project.zip') +} diff --git a/docs/playground/src/download/template/README.md b/docs/playground/src/download/template/README.md new file mode 100644 index 00000000..39c47d25 --- /dev/null +++ b/docs/playground/src/download/template/README.md @@ -0,0 +1,14 @@ +# Vite Vue Starter + +This is a project template using [Vite](https://vitejs.dev/). It requires [Node.js](https://nodejs.org) v12+. + +To start: + +```sh +npm install +npm run dev + +# if using yarn: +yarn +yarn dev +``` diff --git a/docs/playground/src/download/template/index.html b/docs/playground/src/download/template/index.html new file mode 100644 index 00000000..ce6276f6 --- /dev/null +++ b/docs/playground/src/download/template/index.html @@ -0,0 +1,16 @@ + + + + + + + Vite App + + +
+ + + diff --git a/docs/playground/src/download/template/main.js b/docs/playground/src/download/template/main.js new file mode 100644 index 00000000..01433bca --- /dev/null +++ b/docs/playground/src/download/template/main.js @@ -0,0 +1,4 @@ +import { createApp } from 'vue' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/docs/playground/src/download/template/package.json b/docs/playground/src/download/template/package.json new file mode 100644 index 00000000..28c6334c --- /dev/null +++ b/docs/playground/src/download/template/package.json @@ -0,0 +1,17 @@ +{ + "name": "vite-vue-starter", + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "serve": "vite preview" + }, + "dependencies": { + "vue": "^3.4.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.0.3", + "vite": "^5.0.12" + } +} diff --git a/docs/playground/src/download/template/vite.config.js b/docs/playground/src/download/template/vite.config.js new file mode 100644 index 00000000..315212d6 --- /dev/null +++ b/docs/playground/src/download/template/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()] +}) diff --git a/docs/playground/src/icons/Download.vue b/docs/playground/src/icons/Download.vue new file mode 100644 index 00000000..338658f4 --- /dev/null +++ b/docs/playground/src/icons/Download.vue @@ -0,0 +1,34 @@ + diff --git a/docs/playground/src/icons/GitHub.vue b/docs/playground/src/icons/GitHub.vue new file mode 100644 index 00000000..87405325 --- /dev/null +++ b/docs/playground/src/icons/GitHub.vue @@ -0,0 +1,12 @@ + diff --git a/docs/playground/src/icons/Moon.vue b/docs/playground/src/icons/Moon.vue new file mode 100644 index 00000000..21f393d4 --- /dev/null +++ b/docs/playground/src/icons/Moon.vue @@ -0,0 +1,8 @@ + diff --git a/docs/playground/src/icons/Reload.vue b/docs/playground/src/icons/Reload.vue new file mode 100644 index 00000000..5ec5be80 --- /dev/null +++ b/docs/playground/src/icons/Reload.vue @@ -0,0 +1,14 @@ + diff --git a/docs/playground/src/icons/Share.vue b/docs/playground/src/icons/Share.vue new file mode 100644 index 00000000..8dd9ccd8 --- /dev/null +++ b/docs/playground/src/icons/Share.vue @@ -0,0 +1,17 @@ + diff --git a/docs/playground/src/icons/Sun.vue b/docs/playground/src/icons/Sun.vue new file mode 100644 index 00000000..4b739224 --- /dev/null +++ b/docs/playground/src/icons/Sun.vue @@ -0,0 +1,40 @@ + diff --git a/docs/playground/src/main.ts b/docs/playground/src/main.ts new file mode 100644 index 00000000..2e7bc652 --- /dev/null +++ b/docs/playground/src/main.ts @@ -0,0 +1,9 @@ +import { createApp } from 'vue' +import App from './App.vue' + +// @ts-expect-error Custom window property +window.VUE_DEVTOOLS_CONFIG = { + defaultSelectedAppId: 'repl' +} + +createApp(App).mount('#app') diff --git a/docs/playground/src/store/index.ts b/docs/playground/src/store/index.ts new file mode 100644 index 00000000..29bf3893 --- /dev/null +++ b/docs/playground/src/store/index.ts @@ -0,0 +1,146 @@ +import { + useStore as useReplStore, + File, + compileFile, + useVueImportMap, + OutputModes, + SFCOptions, + mergeImportMap +} from '@vue/repl' +import { computed, ref, watch, watchEffect } from 'vue' +import mainCode from '../template/main.vue?raw' +import setupCode from '../template/setup?raw' +import welcomeCode from '../template/welcome.vue?raw' +import tsconfigCode from '../template/tsconfig.json?raw' + +// retrieve some configuration options from the URL +const query = new URLSearchParams(location.search) +const MAIN_FILE = 'src/PlaygroundMain.vue' +const APP_FILE = 'src/App.vue' +const SETUP_FILE = 'src/setup.ts' +const IMPORT_MAP_FILE = 'import-map.json' +const TSCONFIG = 'tsconfig.json' + +export const useStore = () => { + const typescriptVersion = ref('5.2.2') + const antdVersion = ref('4.1.2') + const adminPkgVersion = ref('latest') + const files = ref>({ + [APP_FILE]: new File(APP_FILE, welcomeCode) + }) + const template = ref({ + welcomeSFC: welcomeCode + }) + + const { + importMap: builtinImportMap, + vueVersion, + productionMode, + defaultVersion + } = useVueImportMap({ + vueVersion: '3.4.19', + // specify the default URL to import Vue runtime from in the sandbox + // default is the CDN link from jsdelivr.com with version matching Vue's version + // from peerDependency + runtimeDev: + 'https://unpkg.com/vue@latest/dist/vue.runtime.esm-browser.js', + runtimeProd: + 'https://unpkg.com/vue@latest/dist/vue.runtime.esm-browser.prod.js', + serverRenderer: + 'https://unpkg.com/vue@latest/dist/server-renderer.esm-browser.js' + }) + + const sfcOptions = ref({ + script: { + inlineTemplate: productionMode.value, + isProd: productionMode.value, + propsDestructure: true + }, + style: { + isProd: productionMode.value + }, + template: { + isProd: productionMode.value, + compilerOptions: { + isCustomElement: (tag: string) => tag === 'mjx-container' + } + } + }) + + const store = useReplStore( + { + // pre-set import map + builtinImportMap, + vueVersion, + typescriptVersion, + template, + files, + sfcOptions, + // starts on the output pane (mobile only) if the URL has a showOutput query + showOutput: ref(query.has('showOutput')), + // starts on a different tab on the output pane if the URL has a outputMode query + // and default to the "preview" tab + outputMode: ref( + (query.get('outputMode') as OutputModes) || 'preview' + ), + dependencyVersion: computed(() => ({ + '@admin-pkg/components': adminPkgVersion.value, + 'ant-design-vue': antdVersion.value + })) + }, + // initialize repl with previously serialized state + location.hash + ) + + const mainFile = new File(MAIN_FILE, mainCode, true) + store.addFile(mainFile) + compileFile(store, mainFile) + store.mainFile = MAIN_FILE + store.addFile(new File(TSCONFIG, tsconfigCode, true)) + + const genSetupCode = () => { + return setupCode + .replace('__ANTDV_VERSION__', antdVersion.value) + .replace('__ADMIN_PKG_VERSION__', adminPkgVersion.value) + } + + watchEffect(() => history.replaceState({}, '', store.serialize())) + + watch( + [antdVersion, adminPkgVersion], + async ([antdVer, adminPkgVer]) => { + const importMapCode = mergeImportMap( + { ...builtinImportMap.value }, + { + imports: { + 'ant-design-vue': `https://cdn.jsdelivr.net/npm/ant-design-vue@${antdVer}/dist/antd.esm.js`, + '@admin-pkg/components': `https://cdn.jsdelivr.net/npm/@admin-pkg/components@${adminPkgVer}/dist/index.es.js` + } + } + ) + const importMapFile = new File( + IMPORT_MAP_FILE, + JSON.stringify(importMapCode, null, 2), + true + ) + store.addFile(importMapFile) + + const setupFile = new File(SETUP_FILE, genSetupCode(), true) + store.addFile(setupFile) + await compileFile(store, setupFile) + }, + { immediate: true } + ) + + return { + vueVersion, + typescriptVersion, + antdVersion, + adminPkgVersion, + productionMode, + defaultVersion, + template, + store, + sfcOptions + } +} diff --git a/docs/playground/src/template/global.d.ts b/docs/playground/src/template/global.d.ts new file mode 100644 index 00000000..86a458f1 --- /dev/null +++ b/docs/playground/src/template/global.d.ts @@ -0,0 +1,3 @@ +declare module '@admin-pkg/components' { + export function useTable(): any +} diff --git a/docs/playground/src/template/main.vue b/docs/playground/src/template/main.vue new file mode 100644 index 00000000..0097549b --- /dev/null +++ b/docs/playground/src/template/main.vue @@ -0,0 +1,9 @@ + + + diff --git a/docs/playground/src/template/setup.ts b/docs/playground/src/template/setup.ts new file mode 100644 index 00000000..db93bfe4 --- /dev/null +++ b/docs/playground/src/template/setup.ts @@ -0,0 +1,28 @@ +import { getCurrentInstance } from 'vue' +import * as Antdv from 'ant-design-vue' + +let installed = false + +const styleMap = { + 'ant-design-vue': '__ANTDV_VERSION__/dist/reset.css', + '@admin-pkg/components': '__ADMIN_PKG_VERSION__/dist/style.css' +} +await Promise.all( + Object.entries(styleMap).map(async ([pkg, version]) => { + await loadStyle(pkg, version) + }) +) + +export function setupAntdv() { + if (installed) return + const instance = getCurrentInstance() + instance?.appContext.app.use(Antdv) + installed = true +} + +function loadStyle(pkg: string, version: string) { + const link = document.createElement('link') + link.rel = 'stylesheet' + link.href = `https://cdn.jsdelivr.net/npm/${pkg}@${version}` + document.head.append(link) +} diff --git a/docs/playground/src/template/tsconfig.json b/docs/playground/src/template/tsconfig.json new file mode 100644 index 00000000..cf233930 --- /dev/null +++ b/docs/playground/src/template/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "allowJs": true, + "checkJs": true, + "jsx": "Preserve", + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "Bundler", + "allowImportingTsExtensions": true + }, + "vueCompilerOptions": { + "target": 3.4 + } +} diff --git a/docs/playground/src/template/welcome.vue b/docs/playground/src/template/welcome.vue new file mode 100644 index 00000000..eb022a09 --- /dev/null +++ b/docs/playground/src/template/welcome.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/docs/playground/vercel.json b/docs/playground/vercel.json new file mode 100644 index 00000000..4511eb79 --- /dev/null +++ b/docs/playground/vercel.json @@ -0,0 +1,16 @@ +{ + "github": { + "silent": true + }, + "headers": [ + { + "source": "/assets/(.*)", + "headers": [ + { + "key": "Cache-Control", + "value": "max-age=31536000, immutable" + } + ] + } + ] +} diff --git a/docs/playground/vite.config.ts b/docs/playground/vite.config.ts new file mode 100644 index 00000000..d2a1f9b4 --- /dev/null +++ b/docs/playground/vite.config.ts @@ -0,0 +1,35 @@ +import fs from 'node:fs' +import { viteStaticCopy } from 'vite-plugin-static-copy' +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import { resolve } from 'node:path' + +const isProd = process.env.NODE_ENV === 'production' + +export default defineConfig({ + base: isProd ? 'vue3-antdv-admin-docs/playground' : '', + plugins: [ + vue({ + script: { + fs: { + fileExists: fs.existsSync, + readFile: (file) => fs.readFileSync(file, 'utf-8') + } + } + }), + viteStaticCopy({ + targets: [ + { + src: resolve(__dirname, './dist/*'), + dest: resolve(__dirname, '../.vitepress/dist/playground') + } + ] + }) + ], + define: { + __VUE_PROD_DEVTOOLS__: JSON.stringify(true) + }, + optimizeDeps: { + exclude: ['@vue/repl'] + } +}) diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml new file mode 100644 index 00000000..ab1fc03b --- /dev/null +++ b/docs/pnpm-lock.yaml @@ -0,0 +1,1717 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@types/node': + specifier: 20.11.16 + version: 20.11.16 + typescript: + specifier: 5.3.3 + version: 5.3.3 + unplugin-icons: + specifier: ^0.18.5 + version: 0.18.5 + vitepress: + specifier: 1.0.0-rc.44 + version: 1.0.0-rc.44(@algolia/client-search@4.20.0)(@types/node@20.11.16)(search-insights@2.9.0)(typescript@5.3.3) + + playground: + dependencies: + '@vue/repl': + specifier: ^4.1.1 + version: 4.1.1 + file-saver: + specifier: ^2.0.5 + version: 2.0.5 + jszip: + specifier: ^3.10.1 + version: 3.10.1 + vue: + specifier: ~3.4.19 + version: 3.4.19(typescript@5.3.3) + devDependencies: + '@vitejs/plugin-vue': + specifier: ^5.0.4 + version: 5.0.4(vite@5.1.3)(vue@3.4.19) + vite: + specifier: ^5.0.12 + version: 5.1.3(@types/node@20.11.16) + vite-plugin-static-copy: + specifier: ^1.0.1 + version: 1.0.1(vite@5.1.3) + +packages: + + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.9.0): + resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.9.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + dev: true + + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.9.0): + resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} + peerDependencies: + search-insights: '>= 1 < 3' + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) + search-insights: 2.9.0 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + dev: true + + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0): + resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) + '@algolia/client-search': 4.20.0 + algoliasearch: 4.20.0 + dev: true + + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0): + resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/client-search': 4.20.0 + algoliasearch: 4.20.0 + dev: true + + /@algolia/cache-browser-local-storage@4.20.0: + resolution: {integrity: sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==} + dependencies: + '@algolia/cache-common': 4.20.0 + dev: true + + /@algolia/cache-common@4.20.0: + resolution: {integrity: sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==} + dev: true + + /@algolia/cache-in-memory@4.20.0: + resolution: {integrity: sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==} + dependencies: + '@algolia/cache-common': 4.20.0 + dev: true + + /@algolia/client-account@4.20.0: + resolution: {integrity: sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==} + dependencies: + '@algolia/client-common': 4.20.0 + '@algolia/client-search': 4.20.0 + '@algolia/transporter': 4.20.0 + dev: true + + /@algolia/client-analytics@4.20.0: + resolution: {integrity: sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==} + dependencies: + '@algolia/client-common': 4.20.0 + '@algolia/client-search': 4.20.0 + '@algolia/requester-common': 4.20.0 + '@algolia/transporter': 4.20.0 + dev: true + + /@algolia/client-common@4.20.0: + resolution: {integrity: sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==} + dependencies: + '@algolia/requester-common': 4.20.0 + '@algolia/transporter': 4.20.0 + dev: true + + /@algolia/client-personalization@4.20.0: + resolution: {integrity: sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==} + dependencies: + '@algolia/client-common': 4.20.0 + '@algolia/requester-common': 4.20.0 + '@algolia/transporter': 4.20.0 + dev: true + + /@algolia/client-search@4.20.0: + resolution: {integrity: sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==} + dependencies: + '@algolia/client-common': 4.20.0 + '@algolia/requester-common': 4.20.0 + '@algolia/transporter': 4.20.0 + dev: true + + /@algolia/logger-common@4.20.0: + resolution: {integrity: sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==} + dev: true + + /@algolia/logger-console@4.20.0: + resolution: {integrity: sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==} + dependencies: + '@algolia/logger-common': 4.20.0 + dev: true + + /@algolia/requester-browser-xhr@4.20.0: + resolution: {integrity: sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==} + dependencies: + '@algolia/requester-common': 4.20.0 + dev: true + + /@algolia/requester-common@4.20.0: + resolution: {integrity: sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==} + dev: true + + /@algolia/requester-node-http@4.20.0: + resolution: {integrity: sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==} + dependencies: + '@algolia/requester-common': 4.20.0 + dev: true + + /@algolia/transporter@4.20.0: + resolution: {integrity: sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==} + dependencies: + '@algolia/cache-common': 4.20.0 + '@algolia/logger-common': 4.20.0 + '@algolia/requester-common': 4.20.0 + dev: true + + /@antfu/install-pkg@0.1.1: + resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: true + + /@antfu/install-pkg@0.3.1: + resolution: {integrity: sha512-A3zWY9VeTPnxlMiZtsGHw2lSd3ghwvL8s9RiGOtqvDxhhFfZ781ynsGBa/iUnDJ5zBrmTFQrJDud3TGgRISaxw==} + dependencies: + execa: 8.0.1 + dev: true + + /@antfu/utils@0.7.7: + resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} + dev: true + + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.0 + + /@babel/types@7.23.0: + resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@docsearch/css@3.5.2: + resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} + dev: true + + /@docsearch/js@3.5.2(@algolia/client-search@4.20.0)(search-insights@2.9.0): + resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==} + dependencies: + '@docsearch/react': 3.5.2(@algolia/client-search@4.20.0)(search-insights@2.9.0) + preact: 10.18.1 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + dev: true + + /@docsearch/react@3.5.2(@algolia/client-search@4.20.0)(search-insights@2.9.0): + resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + dependencies: + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.9.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) + '@docsearch/css': 3.5.2 + algoliasearch: 4.20.0 + search-insights: 2.9.0 + transitivePeerDependencies: + - '@algolia/client-search' + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@iconify/types@2.0.0: + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + dev: true + + /@iconify/utils@2.1.22: + resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==} + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.7 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.5.0 + mlly: 1.5.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@rollup/rollup-android-arm-eabi@4.9.6: + resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.9.6: + resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.9.6: + resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.9.6: + resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.9.6: + resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.9.6: + resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==} + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.9.6: + resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==} + cpu: [arm64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.9.6: + resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.9.6: + resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==} + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.9.6: + resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==} + cpu: [x64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.9.6: + resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.9.6: + resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.9.6: + resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@shikijs/core@1.1.5: + resolution: {integrity: sha512-cKc5vGQ4p/4sjx48BHIO7CvLaN32vqpz5Wh7v2n+U1EezGdfX4Wms7khBctKz3iCg9yYq4sfGUc2t+JWj6EUsw==} + dev: true + + /@shikijs/transformers@1.1.5: + resolution: {integrity: sha512-ot6KWPmLuSN9nA9FAhttOXZIjKIy7cnwpNtI9aWmYN72RUaDz8eojRfMGUXsXXUxW/buvcvdZQAQldk7/pFpdw==} + dependencies: + shiki: 1.1.5 + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/linkify-it@3.0.4: + resolution: {integrity: sha512-hPpIeeHb/2UuCw06kSNAOVWgehBLXEo0/fUs0mw3W2qhqX89PI2yvok83MnuctYGCPrabGIoi0fFso4DQ+sNUQ==} + dev: true + + /@types/markdown-it@13.0.7: + resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==} + dependencies: + '@types/linkify-it': 3.0.4 + '@types/mdurl': 1.0.4 + dev: true + + /@types/mdurl@1.0.4: + resolution: {integrity: sha512-ARVxjAEX5TARFRzpDRVC6cEk0hUIXCCwaMhz8y7S1/PxU6zZS1UMjyobz7q4w/D/R552r4++EhwmXK1N2rAy0A==} + dev: true + + /@types/node@20.11.16: + resolution: {integrity: sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==} + dependencies: + undici-types: 5.26.5 + dev: true + + /@types/web-bluetooth@0.0.20: + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + dev: true + + /@vitejs/plugin-vue@5.0.4(vite@5.1.3)(vue@3.4.19): + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 5.1.3(@types/node@20.11.16) + vue: 3.4.19(typescript@5.3.3) + dev: true + + /@vue/compiler-core@3.4.19: + resolution: {integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==} + dependencies: + '@babel/parser': 7.23.9 + '@vue/shared': 3.4.19 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + /@vue/compiler-dom@3.4.19: + resolution: {integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==} + dependencies: + '@vue/compiler-core': 3.4.19 + '@vue/shared': 3.4.19 + + /@vue/compiler-sfc@3.4.19: + resolution: {integrity: sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==} + dependencies: + '@babel/parser': 7.23.9 + '@vue/compiler-core': 3.4.19 + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 + estree-walker: 2.0.2 + magic-string: 0.30.7 + postcss: 8.4.35 + source-map-js: 1.0.2 + + /@vue/compiler-ssr@3.4.19: + resolution: {integrity: sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==} + dependencies: + '@vue/compiler-dom': 3.4.19 + '@vue/shared': 3.4.19 + + /@vue/devtools-api@7.0.14: + resolution: {integrity: sha512-TluWR9qZ6aO11bwtYK8+fzXxBqLfsE0mWZz1q/EQBmO9k82Cm6deieLwNNXjNFJz7xutazoia5Qa+zTYkPPOfw==} + dependencies: + '@vue/devtools-kit': 7.0.14 + dev: true + + /@vue/devtools-kit@7.0.14: + resolution: {integrity: sha512-wAAJazr4hI0aVRpgWOCVPw+NzMQdthhnprHHIg4njp1MkKrpCNGQ7MtQbZF1AltAA7xpMCGyyt+0kYH0FqTiPg==} + dependencies: + '@vue/devtools-schema': 7.0.14 + '@vue/devtools-shared': 7.0.14 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + dev: true + + /@vue/devtools-schema@7.0.14: + resolution: {integrity: sha512-tpUeCLVrdHX+KzWMLTAwx/vAPFbo6jAUi7sr6Q+0mBIqIVSSIxNr5wEhegiFvYva+OtDeM2OrT+f7/X/5bvZNg==} + dev: true + + /@vue/devtools-shared@7.0.14: + resolution: {integrity: sha512-79RP1NDakBVWou9rDpVnT1WMjTbL1lJKm6YEOodjQ0dq5ehf0wsRbeYDhgAlnjehWRzTq5GAYFBFUPYBs0/QpA==} + dependencies: + rfdc: 1.3.1 + dev: true + + /@vue/reactivity@3.4.19: + resolution: {integrity: sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==} + dependencies: + '@vue/shared': 3.4.19 + + /@vue/repl@4.1.1: + resolution: {integrity: sha512-gkbnU+rM01/ILdnDJbsWS8+PW6qMAzprBo/U2+7eVci0kx6VAR26fL/qrcEPwEYa6q0vzzptZ4il0SaUGGqZKw==} + dev: false + + /@vue/runtime-core@3.4.19: + resolution: {integrity: sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==} + dependencies: + '@vue/reactivity': 3.4.19 + '@vue/shared': 3.4.19 + + /@vue/runtime-dom@3.4.19: + resolution: {integrity: sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==} + dependencies: + '@vue/runtime-core': 3.4.19 + '@vue/shared': 3.4.19 + csstype: 3.1.3 + + /@vue/server-renderer@3.4.19(vue@3.4.19): + resolution: {integrity: sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==} + peerDependencies: + vue: 3.4.19 + dependencies: + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 + vue: 3.4.19(typescript@5.3.3) + + /@vue/shared@3.4.19: + resolution: {integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==} + + /@vueuse/core@10.7.2(vue@3.4.19): + resolution: {integrity: sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==} + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.7.2 + '@vueuse/shared': 10.7.2(vue@3.4.19) + vue-demi: 0.14.6(vue@3.4.19) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /@vueuse/integrations@10.7.2(focus-trap@7.5.4)(vue@3.4.19): + resolution: {integrity: sha512-+u3RLPFedjASs5EKPc69Ge49WNgqeMfSxFn+qrQTzblPXZg6+EFzhjarS5edj2qAf6xQ93f95TUxRwKStXj/sQ==} + peerDependencies: + async-validator: '*' + axios: '*' + change-case: '*' + drauu: '*' + focus-trap: '*' + fuse.js: '*' + idb-keyval: '*' + jwt-decode: '*' + nprogress: '*' + qrcode: '*' + sortablejs: '*' + universal-cookie: '*' + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + dependencies: + '@vueuse/core': 10.7.2(vue@3.4.19) + '@vueuse/shared': 10.7.2(vue@3.4.19) + focus-trap: 7.5.4 + vue-demi: 0.14.6(vue@3.4.19) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /@vueuse/metadata@10.7.2: + resolution: {integrity: sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==} + dev: true + + /@vueuse/shared@10.7.2(vue@3.4.19): + resolution: {integrity: sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==} + dependencies: + vue-demi: 0.14.6(vue@3.4.19) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /algoliasearch@4.20.0: + resolution: {integrity: sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==} + dependencies: + '@algolia/cache-browser-local-storage': 4.20.0 + '@algolia/cache-common': 4.20.0 + '@algolia/cache-in-memory': 4.20.0 + '@algolia/client-account': 4.20.0 + '@algolia/client-analytics': 4.20.0 + '@algolia/client-common': 4.20.0 + '@algolia/client-personalization': 4.20.0 + '@algolia/client-search': 4.20.0 + '@algolia/logger-common': 4.20.0 + '@algolia/logger-console': 4.20.0 + '@algolia/requester-browser-xhr': 4.20.0 + '@algolia/requester-common': 4.20.0 + '@algolia/requester-node-http': 4.20.0 + '@algolia/transporter': 4.20.0 + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: false + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.2.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + dev: true + + /file-saver@2.0.5: + resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==} + dev: false + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + dependencies: + tabbable: 6.2.0 + dev: true + + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /immediate@3.0.6: + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + dev: false + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: false + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jszip@3.10.1: + resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} + dependencies: + lie: 3.3.0 + pako: 1.0.11 + readable-stream: 2.3.8 + setimmediate: 1.0.5 + dev: false + + /kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + dev: true + + /lie@3.3.0: + resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + dependencies: + immediate: 3.0.6 + dev: false + + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.5.0 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + /mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /minisearch@6.3.0: + resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} + dev: true + + /mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + dev: true + + /mlly@1.5.0: + resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.3.2 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.2.0: + resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + dev: false + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.5.0 + pathe: 1.1.2 + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /preact@10.18.1: + resolution: {integrity: sha512-mKUD7RRkQQM6s7Rkmi7IFkoEHjuFqRQUaXamO61E6Nn7vqF/bo7EZCmSyrUnp2UWHw0O7XjZ2eeXis+m7tf4lg==} + dev: true + + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: false + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: false + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: true + + /rollup@4.9.6: + resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} + 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.6 + '@rollup/rollup-android-arm64': 4.9.6 + '@rollup/rollup-darwin-arm64': 4.9.6 + '@rollup/rollup-darwin-x64': 4.9.6 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.6 + '@rollup/rollup-linux-arm64-gnu': 4.9.6 + '@rollup/rollup-linux-arm64-musl': 4.9.6 + '@rollup/rollup-linux-riscv64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-musl': 4.9.6 + '@rollup/rollup-win32-arm64-msvc': 4.9.6 + '@rollup/rollup-win32-ia32-msvc': 4.9.6 + '@rollup/rollup-win32-x64-msvc': 4.9.6 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: false + + /search-insights@2.9.0: + resolution: {integrity: sha512-bkWW9nIHOFkLwjQ1xqVaMbjjO5vhP26ERsH9Y3pKr8imthofEFIxlnOabkmGcw6ksRj9jWidcI65vvjJH/nTGg==} + dev: true + + /setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /shiki@1.1.5: + resolution: {integrity: sha512-754GuKIwkUdT810Xm8btuyNQPL+q3PqOkwGW/VlmAWyMYp+HbvvDt69sWXO1sm5aeczBJQjmQTTMR4GkKQNQPw==} + dependencies: + '@shikijs/core': 1.1.5 + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + dev: true + + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: false + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + + /ufo@1.3.2: + resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + + /unplugin-icons@0.18.5: + resolution: {integrity: sha512-KVNAohXbZ7tVcG1C3p6QaC7wU9Qrj7etv4XvsMMJAxr5LccQZ+Iuv5LOIv/7GtqXaGN1BuFCqRO1ErsHEgEXdQ==} + peerDependencies: + '@svgr/core': '>=7.0.0' + '@svgx/core': ^1.0.1 + '@vue/compiler-sfc': ^3.0.2 || ^2.7.0 + vue-template-compiler: ^2.6.12 + vue-template-es2015-compiler: ^1.9.0 + peerDependenciesMeta: + '@svgr/core': + optional: true + '@svgx/core': + optional: true + '@vue/compiler-sfc': + optional: true + vue-template-compiler: + optional: true + vue-template-es2015-compiler: + optional: true + dependencies: + '@antfu/install-pkg': 0.3.1 + '@antfu/utils': 0.7.7 + '@iconify/utils': 2.1.22 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.5.0 + unplugin: 1.6.0 + transitivePeerDependencies: + - supports-color + dev: true + + /unplugin@1.6.0: + resolution: {integrity: sha512-BfJEpWBu3aE/AyHx8VaNE/WgouoQxgH9baAiH82JjX8cqVyi3uJQstqwD5J+SZxIK326SZIhsSZlALXVBCknTQ==} + dependencies: + acorn: 8.11.3 + chokidar: 3.5.3 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: false + + /vite-plugin-static-copy@1.0.1(vite@5.1.3): + resolution: {integrity: sha512-3eGL4mdZoPJMDBT68pv/XKIHR4MgVolStIxxv1gIBP4R8TpHn9C9EnaU0hesqlseJ4ycLGUxckFTu/jpuJXQlA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + dependencies: + chokidar: 3.5.3 + fast-glob: 3.3.2 + fs-extra: 11.2.0 + picocolors: 1.0.0 + vite: 5.1.3(@types/node@20.11.16) + dev: true + + /vite@5.1.3(@types/node@20.11.16): + resolution: {integrity: sha512-UfmUD36DKkqhi/F75RrxvPpry+9+tTkrXfMNZD+SboZqBCMsxKtO52XeGzzuh7ioz+Eo/SYDBbdb0Z7vgcDJew==} + 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.11.16 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.9.6 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitepress@1.0.0-rc.44(@algolia/client-search@4.20.0)(@types/node@20.11.16)(search-insights@2.9.0)(typescript@5.3.3): + resolution: {integrity: sha512-tO5taxGI7fSpBK1D8zrZTyJJERlyU9nnt0jHSt3fywfq3VKn977Hg0wUuTkEmwXlFYwuW26+6+3xorf4nD3XvA==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4.3.2 + postcss: ^8.4.35 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true + dependencies: + '@docsearch/css': 3.5.2 + '@docsearch/js': 3.5.2(@algolia/client-search@4.20.0)(search-insights@2.9.0) + '@shikijs/core': 1.1.5 + '@shikijs/transformers': 1.1.5 + '@types/markdown-it': 13.0.7 + '@vitejs/plugin-vue': 5.0.4(vite@5.1.3)(vue@3.4.19) + '@vue/devtools-api': 7.0.14 + '@vueuse/core': 10.7.2(vue@3.4.19) + '@vueuse/integrations': 10.7.2(focus-trap@7.5.4)(vue@3.4.19) + focus-trap: 7.5.4 + mark.js: 8.11.1 + minisearch: 6.3.0 + shiki: 1.1.5 + vite: 5.1.3(@types/node@20.11.16) + vue: 3.4.19(typescript@5.3.3) + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - less + - lightningcss + - nprogress + - qrcode + - react + - react-dom + - sass + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie + dev: true + + /vue-demi@0.14.6(vue@3.4.19): + resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.4.19(typescript@5.3.3) + dev: true + + /vue@3.4.19(typescript@5.3.3): + resolution: {integrity: sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-sfc': 3.4.19 + '@vue/runtime-dom': 3.4.19 + '@vue/server-renderer': 3.4.19(vue@3.4.19) + '@vue/shared': 3.4.19 + typescript: 5.3.3 + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack-virtual-modules@0.6.1: + resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true diff --git a/docs/pnpm-workspace.yaml b/docs/pnpm-workspace.yaml new file mode 100644 index 00000000..52fdbb5d --- /dev/null +++ b/docs/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - playground diff --git a/docs/src/components/form.md b/docs/src/components/form.md new file mode 100644 index 00000000..a5d4479a --- /dev/null +++ b/docs/src/components/form.md @@ -0,0 +1,7 @@ +# Form + +在线演练场

+ +## 基本使用 + +可参考项目内的[使用示例](https://github.com/buqiyuan/vue3-antdv-admin/tree/main/src/views/demos/form) diff --git a/docs/src/components/table.md b/docs/src/components/table.md new file mode 100644 index 00000000..399850be --- /dev/null +++ b/docs/src/components/table.md @@ -0,0 +1,136 @@ +# Table + +在线演练场

+基于 `ant-design-vue` [Table](https://antdv.com/components/table-cn#api) 的二次封装,减少项目中的样板代码,对常用的逻辑进行封装。 + +## 基本使用 + +可参考项目内的[使用示例](https://github.com/buqiyuan/vue3-antdv-admin/tree/main/src/views/demos/tables) + +## 基本配置 + +配置表格的预设行为与逻辑
+文件位置:[src/components/core/dynamic-table/src/dynamic-table.config.ts](https://github.com/buqiyuan/vue3-antdv-admin/blob/main/src/components/core/dynamic-table/src/dynamic-table.config.ts) + +```ts +/** 表格配置 */ +export default { + fetchConfig: { + // The field name of the current page passed to the background + pageField: 'page', + // The number field name of each page displayed in the background + sizeField: 'pageSize', + // Field name of the form data returned by the interface + listField: 'items', + // Total number of tables returned by the interface field name + totalField: 'meta.totalItems' + }, + // Number of pages that can be selected + pageSizeOptions: ['10', '50', '80', '100'], + // Default display quantity on one page + defaultPageSize: 10, + // Default layout of table cells + defaultAlign: 'center' as AlignType, + // Custom general sort function + defaultSortFn: (sortInfo: SorterResult) => { + const { field, order } = sortInfo + if (field && order) { + return { + // The sort field passed to the backend you + field, + // Sorting method passed to the background asc/desc + order + } + } else { + return {} + } + }, + // Custom general filter function + defaultFilterFn: (data: Partial>) => { + return data + } +} as const +``` + +### 搜索表单 + +默认情况下,表格会根据 `TableColumn` 配置自动生成搜索表单。其配置方式与[动态表单](/components/form)一致。
+以下是搜索表单相关的基本使用方式: + +- **关闭搜索表单** + +表格的 `search` 属性为 `false` 时,将不再生成和显示搜索表单。 + +```vue + +``` + +- **通过`TableColumn`配置生成** + +自定义搜索表单项,可通过`formItemProps`属性配置,具体配置方式与[动态表单](/components/form)一致 + +```ts +const columns: TableColumn[] = [ + { + title: '状态', + dataIndex: 'status', + /** 搜索表单项配置 */ + formItemProps: { + component: 'Select', + componentProps: { + options: [ + { + label: '启用', + value: 1 + }, + { + label: '禁用', + value: 0 + } + ] + } + } + } +] +``` + +- **通过表格`formProps`属性配置生成** + +使用 `formProps` 相当于是直接对 [动态表单组件](/components/form) 本身进行配置 + +```ts +const searchFormSchemas: FormSchema[] = [ + { + field: 'status', + label: '状态', + component: 'Select', + componentProps: { + options: [ + { + label: '启用', + value: 1 + }, + { + label: '禁用', + value: 0 + } + ] + } + } +] + +const [DynamicTable, dynamicTableInstance] = useTable({ + formProps: { + /** 搜索表单 formSchemas 配置 */ + schemas: searchFormSchemas, + /** 搜索表单初始值 */ + initialValues: { typeId: typeId.value }, + /** 表单重置事件 */ + onReset(model) { + if (Number.isInteger(model?.typeId)) { + typeId.value = model.typeId + } + } + } +}) +``` diff --git a/docs/src/guide/api-manage.md b/docs/src/guide/api-manage.md new file mode 100644 index 00000000..b6905ccc --- /dev/null +++ b/docs/src/guide/api-manage.md @@ -0,0 +1,98 @@ +# 接口管理 + +在实际的开发中,联调永远都是比较麻烦的事情,尤其是在前后端分离之后,后端一般都需要维护一份文档来告诉我们具体的 API 有什么功能,具体的 +字段信息,这些信息的维护成本还是比较高的。然后前端则需要频繁的查阅接口文档,并且前端还需要手动定义相关的接口请求,如果追求极致的开发体验, +我们还需要手动定义很多 ts 类型与注释,例如:请求参数类型、响应结果类型、字段描述等。这个过程即耗时又容易出错,并且在实际的对接过程中还会反复修改。 + +## 工程化管理 + +作为一名 `Coder`,我们对于日常 coding 过程中的一些重复劳动,应该始终考虑如何“偷懒”,如何通过工程化手段去解决这些繁琐的体力活,解放双手! +现在有很多成熟的`接口文档生成接口请求`的工具可以帮我们做到这件事情,如:[@umijs/openapi](https://github.com/chenshuai2144/openapi2typescript)、[swagger-typescript-api](https://github.com/acacode/swagger-typescript-api) 等。本项目中采用的 +是`@umijs/openapi`。 + +## 使用 + +通过在项目根目录下执行以下命令,会自动生成请求接口,默认生成到 `src/api/backend`文件夹中 + +```bash +pnpm openapi +``` + +## 配置 + +相关的配置在 `openapi.config.ts`,你可以根据自己的实际情况做调整,以下配置是本项目对接后端 [swagger](https://nest-api.buqiyuan.site/api-docs) 文档的一个实际用例: + +```ts +import { generateService } from '@umijs/openapi' +import type { RequestOptions } from './src/utils/request' + +const re = /controller[-_ .](\w)/gi + +// 具体配置说明请查阅: https://github.com/chenshuai2144/openapi2typescript +generateService({ + // 后端 swagger json 的在线链接 + schemaPath: 'http://127.0.0.1:7001/api-docs-json', + // 生成接口的文件夹的路径 + serversPath: './src/api/backend', + requestOptionsType: 'RequestOptions', + // 自定义网络请求函数路径 + requestImportStatement: + 'import { request, type RequestOptions } from "@/utils/request";', + hook: { + // @ts-ignore + customFunctionName(operationObject, apiPath) { + const { operationId } = operationObject + + if (!operationId) { + console.warn('[Warning] no operationId', apiPath) + return + } + + const funcName = operationId.replace(re, (_all, letter) => + letter.toUpperCase() + ) + + operationObject.operationId = funcName + + return funcName + }, + // @ts-ignore + customFileNames(operationObject, apiPath) { + const { operationId } = operationObject + + if (!operationId) { + console.warn('[Warning] no operationId', apiPath) + return + } + const controllerName = operationId.split(re)[0] + const moduleName = operationObject.tags?.[0].split(' - ')[0] + + if (moduleName === controllerName) { + return [controllerName] + } else if (moduleName && moduleName !== controllerName) { + return [`${moduleName}_${controllerName}`] + } + return + }, + customType(schemaObject, namespace, defaultGetType) { + const type = defaultGetType(schemaObject, namespace) + // 提取出 data 的类型 + const regex = /API\.ResOp & { 'data'\?: (.+); }/ + return type.replace(regex, '$1') + }, + customOptionsDefaultValue(data): RequestOptions { + const { summary } = data + + if (summary?.startsWith('创建') || summary?.startsWith('新增')) { + return { successMsg: '创建成功' } + } else if (summary?.startsWith('更新')) { + return { successMsg: '更新成功' } + } else if (summary?.startsWith('删除')) { + return { successMsg: '删除成功' } + } + + return {} + } + } +}) +``` diff --git a/docs/src/guide/getting-started.md b/docs/src/guide/getting-started.md new file mode 100644 index 00000000..68f2b972 --- /dev/null +++ b/docs/src/guide/getting-started.md @@ -0,0 +1,39 @@ +# 快速开始 + +## 环境准备 + +本地环境需要安装 [pnpm 7.x+](https://pnpm.io/) 、[Node.js 16+](http://nodejs.org/) 和 [Git](https://git-scm.com/) + +## 工具配置 + +本项目推荐使用 VSCode 进行开发,项目里面已内置 VSCode 配置,包含推荐的插件和设置,在通过 VSCode 启动项目时,根据相关提示进行安装插件即可。 + +## 拉取代码 + +### 从 GitHub 获取代码 + +```bash +# 克隆代码 +git clone https://github.com/buqiyuan/vue3-antdv-admin.git +``` + +### 从 Gitee 获取代码 + +```bash +# 克隆代码 +git clone https://gitee.com/buqiyuan/vue3-antdv-admin.git +``` + +## 本地开发 + +安装项目依赖 + +```bash +pnpm i +``` + +启动项目 + +```bash +pnpm dev +``` diff --git a/docs/src/guide/introduction.md b/docs/src/guide/introduction.md new file mode 100644 index 00000000..5407cbd1 --- /dev/null +++ b/docs/src/guide/introduction.md @@ -0,0 +1,29 @@ +# 介绍 + +## 简介 + +
+ +
+ +[Vue3 Antdv Admin](https://github.com/buqiyuan/vue3-antdv-admin) 是一个基于 `Vue3`、`Vite`、`TypeScript`、`AntDesignVue`、`Pinia` 和 `UnoCSS` 的后台管理系统,使用了最新流行的前端技术栈,并且提供了一个配套的后台代码,希望能在全栈的路上对你有所帮助。 + +## 仓库 + +- 前端:[Vue3 Antdv Admin](https://github.com/buqiyuan/vue3-antdv-admin) +- 后端:[Nest Admin](https://github.com/buqiyuan/nest-admin) + +## 在线预览 + +- 完整项目演示地址:https://buqiyuan.github.io/vue3-antdv-admin +- 后端 swagger 文档地址:https://nest-api.buqiyuan.site/api-docs + +## 浏览器支持 + +本地开发推荐使用`Chrome 90+` 浏览器 + +支持现代浏览器, 不支持 IE + +| [IE](http://godban.github.io/browsers-support-badges/)IE | [ Edge](http://godban.github.io/browsers-support-badges/)Edge | [Firefox](http://godban.github.io/browsers-support-badges/)Firefox | [Chrome](http://godban.github.io/browsers-support-badges/)Chrome | [Safari](http://godban.github.io/browsers-support-badges/)Safari | +| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | +| not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions | diff --git a/docs/src/guide/mock-service.md b/docs/src/guide/mock-service.md new file mode 100644 index 00000000..556e4ed9 --- /dev/null +++ b/docs/src/guide/mock-service.md @@ -0,0 +1,21 @@ +# Mock 服务 + +采用 [msw](https://mswjs.io/) 作为 mock 数据服务。 + +## 优点 + +- 集成于前端,不需要写 node 中间件(比如 express, koa) +- 语法基本和 express 一致 +- 直接通过 chrome 快速 debugger +- 不存在跨域问题 + +## 缺点 + +由于浏览器 service Worker API 使用限制:只能在 https(已安装证书)、localhost、127.0.0.1 等服务下使用,否则控制台会出现 [MSW] Mocking enabled (fallback mode) 日志,也就是说 http 域名服务,包括本地 IP 服务,例如:http://192.168.31.171:8088/ 等服务下不可用。 + +> [!NOTE] +> 由于项目中使用到了 [vite-plugin-mkcert](https://github.com/liuweiGL/vite-plugin-mkcert) 插件,该插件使用 mkcert 为 vite https 开发服务提供证书支持,所以上述的缺点在本地开发中理论上不会出现不可用的问题。但若要在生产环境中使用 mock,则服务端需要开启 https, 同时也要安装证书,没有证书 msw 会直接报错! + +## 如何使用 msw + +具体的使用,可以参考[Msw Docs](https://mswjs.io/) diff --git a/docs/src/index.md b/docs/src/index.md new file mode 100644 index 00000000..16b44001 --- /dev/null +++ b/docs/src/index.md @@ -0,0 +1,55 @@ +--- +layout: home +title: Vue3 Antdv Admin + +hero: + name: Vue3 Antdv Admin + tagline: 基于 Vue3 + Vite5 + Antdv4 + TS + UnoCSS + image: + src: /logo.png + alt: vue3 antdv admin + actions: + - theme: brand + text: 开始使用 + link: /guide/getting-started + - theme: alt + text: 介绍 + link: /guide/introduction + - theme: alt + text: View on GitHub + link: https://github.com/buqiyuan/vue3-antdv-admin + - theme: alt + text: 国内镜像 + link: https://gitee.com/buqiyuan/vue3-antdv-admin +features: + - title: 高效快速 + icon: + src: /vite.svg + details: vite5.x 加持,开发、打包、热更新、热加载、热替换,一切都是那么的快 + link: https://vitejs.dev/ + - title: 预设样式 + icon: + src: /unocss.svg + details: 更快、更上层的原子化 CSS 引擎,听说,下雨天,属性化书写 class 名和 vue3 更配哦 + link: https://unocss.dev/ + - title: TypeScript + icon: + src: /typescript.svg + details: 项目全量使用 TypeScript,代码处处有提示,老大再也不用担心我叕写错变量名了 + link: https://www.typescriptlang.org/ + - title: MSW Mock 服务 + icon: + src: /msw.svg + details: 项目使用 MSW 作为 Mock 服务,在浏览器端也能像后端一样编写 API 服务 + link: https://mswjs.io/ + - title: 状态管理 + icon: + src: /pinia.svg + details: 项目使用 Pinia 作为状态管理,使用起来更加简单 + link: https://pinia.vuejs.org/ + - title: 全栈式 + icon: + src: /nestjs.svg + details: 同时提供了一个基于 NestJs 的后台代码配套前端项目进行使用 + link: https://github.com/buqiyuan/nest-admin +--- diff --git a/docs/src/other/donate.md b/docs/src/other/donate.md new file mode 100644 index 00000000..5a3fa05f --- /dev/null +++ b/docs/src/other/donate.md @@ -0,0 +1,7 @@ +# 赞助 + +如果你觉得这个项目对你有帮助,你可以帮作者买一杯咖啡表示支持! + +| 微信 | 支付宝 | +| :------------------------------------: | :--------------------------------------: | +| | | diff --git a/docs/src/public/favicon.ico b/docs/src/public/favicon.ico new file mode 100644 index 00000000..df36fcfb Binary files /dev/null and b/docs/src/public/favicon.ico differ diff --git a/docs/src/public/logo.png b/docs/src/public/logo.png new file mode 100644 index 00000000..3ac3627b Binary files /dev/null and b/docs/src/public/logo.png differ diff --git a/docs/src/public/msw.svg b/docs/src/public/msw.svg new file mode 100644 index 00000000..1e3567f7 --- /dev/null +++ b/docs/src/public/msw.svg @@ -0,0 +1,10 @@ + + + msw-logo + + \ No newline at end of file diff --git a/docs/src/public/nestjs.svg b/docs/src/public/nestjs.svg new file mode 100644 index 00000000..39bcd048 --- /dev/null +++ b/docs/src/public/nestjs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/src/public/pinia.svg b/docs/src/public/pinia.svg new file mode 100644 index 00000000..3a20cba1 --- /dev/null +++ b/docs/src/public/pinia.svg @@ -0,0 +1 @@ + diff --git a/docs/src/public/typescript.svg b/docs/src/public/typescript.svg new file mode 100644 index 00000000..a46d53d4 --- /dev/null +++ b/docs/src/public/typescript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/src/public/unocss.svg b/docs/src/public/unocss.svg new file mode 100644 index 00000000..7b268ca3 --- /dev/null +++ b/docs/src/public/unocss.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/src/public/vite.svg b/docs/src/public/vite.svg new file mode 100644 index 00000000..de4aeddc --- /dev/null +++ b/docs/src/public/vite.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/src/public/weixin.jpg b/docs/src/public/weixin.jpg new file mode 100644 index 00000000..6f201cec Binary files /dev/null and b/docs/src/public/weixin.jpg differ diff --git a/docs/src/public/zhifubao.jpg b/docs/src/public/zhifubao.jpg new file mode 100644 index 00000000..8b1ef1c3 Binary files /dev/null and b/docs/src/public/zhifubao.jpg differ diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 00000000..85314547 --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "module": "ESNext", + "target": "ESNext", + "lib": ["DOM", "ESNext"], + "strict": true, + "esModuleInterop": true, + "jsx": "preserve", + "moduleResolution": "node", + "resolveJsonModule": true, + "noUnusedLocals": true, + "strictNullChecks": true, + "forceConsistentCasingInFileNames": true + }, + "include": [".vitepress", "playground"], + "exclude": ["dist", "node_modules", "cache"] +} diff --git a/mocks/index.ts b/mocks/index.ts index 6db0bd34..65dc06ed 100644 --- a/mocks/index.ts +++ b/mocks/index.ts @@ -18,5 +18,8 @@ export const setupMock = async () => { return prev; }, []); // console.log('handlers', handlers); - await enableMocking(handlers); + await enableMocking(handlers, { + // 设置为 true 则不会在浏览器控制台输出 log 信息 + quiet: false, + }); }; diff --git a/package.json b/package.json index 735337e9..54499ac8 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,9 @@ "name": "vue3-antdv-admin", "version": "2.0.0", "packageManager": "pnpm@8.10.2", + "engines": { + "node": ">=18" + }, "author": { "name": "buqiyuan", "email": "1743369777@qq.com", @@ -12,6 +15,7 @@ "serve": "npm run dev", "dev": "vite", "build": "rimraf dist && cross-env NODE_ENV=production vite build", + "build:watch": "rimraf dist && cross-env NODE_ENV=production vite build --watch", "preview": "npm run build && vite preview", "preview:dist": "vite preview", "deploy": "bash deploy.sh", @@ -33,15 +37,16 @@ "test:br": "npx http-server dist --cors --brotli -c-1" }, "dependencies": { + "@admin-pkg/components": "workspace:^", "@admin-pkg/vite-plugin-msw": "workspace:*", "@ant-design/icons-vue": "~7.0.1", "@iconify/vue": "^4.1.1", "@tinymce/tinymce-vue": "^5.1.1", - "@vueuse/core": "~10.7.2", + "@vueuse/core": "~10.8.0", "ant-design-vue": "~4.1.2", "axios": "~1.6.7", "dayjs": "~1.11.10", - "echarts": "^5.4.3", + "echarts": "^5.5.0", "file-saver": "~2.0.5", "lodash-es": "~4.17.21", "mitt": "~3.0.1", @@ -50,11 +55,11 @@ "qiniu-js": "^3.4.2", "qs": "~6.11.2", "sortablejs": "~1.15.2", - "tinymce": "^6.8.2", - "vue": "~3.4.15", - "vue-echarts": "^6.6.8", + "tinymce": "^6.8.3", + "vue": "~3.4.19", + "vue-echarts": "^6.6.9", "vue-i18n": "9.9.1", - "vue-router": "~4.2.5", + "vue-router": "~4.3.0", "vue-types": "~5.1.1", "vue-virtual-scroller": "2.0.0-beta.8", "xlsx": "~0.18.5" @@ -62,22 +67,21 @@ "devDependencies": { "@commitlint/cli": "~18.6.0", "@commitlint/config-conventional": "~18.6.0", - "@faker-js/faker": "^8.4.0", - "@iconify-json/ant-design": "^1.1.14", + "@faker-js/faker": "^8.4.1", + "@iconify-json/ant-design": "^1.1.15", "@iconify-json/ep": "^1.1.14", - "@iconify/json": "^2.2.177", + "@iconify/json": "^2.2.180", "@types/lodash-es": "~4.17.12", - "@types/node": "~20.10.5", - "@typescript-eslint/eslint-plugin": "~6.20.0", - "@typescript-eslint/parser": "~6.20.0", + "@types/node": "~20.11.16", + "@typescript-eslint/eslint-plugin": "~7.0.2", + "@typescript-eslint/parser": "~7.0.2", "@umijs/openapi": "^1.10.1", - "@vitejs/plugin-legacy": "~5.3.0", - "@vitejs/plugin-vue": "~5.0.3", + "@vitejs/plugin-vue": "~5.0.4", "@vitejs/plugin-vue-jsx": "~3.1.0", "@vue/tsconfig": "^0.5.1", "commitizen": "~4.3.0", "conventional-changelog-cli": "~4.1.0", - "core-js": "^3.35.1", + "core-js": "^3.36.0", "cross-env": "~7.0.3", "eslint": "~8.56.0", "eslint-config-prettier": "~9.1.0", @@ -85,32 +89,33 @@ "eslint-plugin-import": "~2.29.1", "eslint-plugin-prettier": "~5.1.3", "eslint-plugin-vue": "~9.21.1", - "husky": "~9.0.7", + "husky": "~9.0.10", "less": "~4.2.0", "lightningcss": "^1.23.0", - "lint-staged": "~15.2.1", + "lint-staged": "~15.2.2", "mockjs": "~1.1.0", - "msw": "^2.1.5", - "postcss": "~8.4.33", + "msw": "^2.2.1", + "postcss": "~8.4.34", "postcss-html": "~1.6.0", "postcss-less": "~6.0.0", - "prettier": "~3.2.4", - "pretty-quick": "~3.1.3", + "prettier": "~3.2.5", + "pretty-quick": "~4.0.0", "rimraf": "~5.0.5", - "stylelint": "~16.2.0", + "stylelint": "~16.2.1", "stylelint-config-property-sort-order-smacss": "^10.0.0", "stylelint-config-recommended": "~14.0.0", "stylelint-config-recommended-vue": "~1.5.0", "stylelint-config-standard": "~36.0.0", "stylelint-order": "~6.0.4", "stylelint-prettier": "^5.0.0", - "terser": "~5.27.0", + "terser": "~5.27.2", "ts-node": "^10.9.2", - "typescript": "~5.2.2", - "unocss": "^0.58.4", + "typescript": "~5.3.3", + "unocss": "^0.58.5", "unplugin-vue-components": "~0.26.0", - "vite": "~5.0.12", + "vite": "~5.1.4", "vite-plugin-checker": "~0.6.4", + "vite-plugin-mkcert": "^1.17.3", "vite-plugin-svg-icons": "~2.0.1", "vue-eslint-parser": "~9.4.2", "vue-tsc": "~1.8.27" @@ -131,9 +136,6 @@ "typescript" ], "license": "MIT", - "engines": { - "node": ">=14" - }, "target": "web", "dependenciesMeta": { "@admin-pkg/vite-plugin-msw": { diff --git a/packages/components/index.ts b/packages/components/index.ts new file mode 100644 index 00000000..d37bd784 --- /dev/null +++ b/packages/components/index.ts @@ -0,0 +1,10 @@ +import 'uno.css'; + +/** + * 此包供 playground 在线测试使用,不建议在生产环境中使用 + */ + +export * from '@/components/core/dynamic-table/'; +export * from '@/components/core/schema-form/'; + +console.log('[@admin-pkg/components] load'); diff --git a/packages/components/package.json b/packages/components/package.json new file mode 100644 index 00000000..a8cf61fc --- /dev/null +++ b/packages/components/package.json @@ -0,0 +1,54 @@ +{ + "name": "@admin-pkg/components", + "version": "0.0.2", + "description": "", + "type": "module", + "module": "./dist/index.es.js", + "main": "../dist/index.es.js", + "types": "dist/types/index.es.d.ts", + "jsdelivr": "./dist/index.es.js", + "unpkg": "./dist/index.es.js", + "files": [ + "dist" + ], + "exports": { + ".": { + "types": "./dist/types/index.es.d.ts", + "import": "./dist/index.es.js", + "require": "./dist/index.umd.js" + }, + "./*": "./*" + }, + "scripts": { + "dev": "vite", + "build": "rimraf dist && vite build", + "build:dts": "npx tsc -p tsconfig.dts.json" + }, + "keywords": [ + "ant-design-vue", + "procomponents", + "vue" + ], + "author": { + "name": "buqiyuan", + "email": "1743369777@qq.com", + "url": "https://github.com/buqiyuan" + }, + "repository": { + "type": "git", + "url": "https://github.com/buqiyuan/vue3-antdv-admin/tree/main/packages/components", + "directory": "packages/components" + }, + "homepage": "https://github.com/buqiyuan/vue3-antdv-admin/tree/main/packages/components#readme", + "license": "MIT", + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + }, + "devDependencies": { + "vite": "^5.0.2" + }, + "peerDependencies": { + "vue": "^3.4.0" + } +} diff --git a/packages/components/tsconfig.dts.json b/packages/components/tsconfig.dts.json new file mode 100644 index 00000000..b6c65cf5 --- /dev/null +++ b/packages/components/tsconfig.dts.json @@ -0,0 +1,19 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "compilerOptions": { + "allowJs": true, + "checkJs": false, + // Generate d.ts files + "declaration": true, + // only output d.ts files + "emitDeclarationOnly": true, + "declarationDir": "dist/types", + "strict": false, + "noEmit": false, + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "Bundler", + "lib": ["ESNext", "DOM"] + }, + "include": ["./dist/index.es.js"] +} diff --git a/packages/components/tsconfig.json b/packages/components/tsconfig.json new file mode 100644 index 00000000..9a335395 --- /dev/null +++ b/packages/components/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "paths": { + "@/*": ["../../src/*"] + } + }, + "include": ["index.ts", "../../src/**/*.ts"], + "exclude": ["node_modules", "test", "dist", "**/src/views/**"] +} diff --git a/packages/components/vite.config.ts b/packages/components/vite.config.ts new file mode 100644 index 00000000..a0e7664b --- /dev/null +++ b/packages/components/vite.config.ts @@ -0,0 +1,115 @@ +import { resolve } from 'node:path'; +import { exec } from 'node:child_process'; +import { defineConfig, type Plugin } from 'vite'; +import vue from '@vitejs/plugin-vue'; +import vueJsx from '@vitejs/plugin-vue-jsx'; +import Components from 'unplugin-vue-components/vite'; +import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'; +import Unocss from 'unocss/vite'; + +const sourceDir = resolve(__dirname, '../../src'); + +// https://vitejs.dev/config/ +export default defineConfig({ + publicDir: false, + resolve: { + alias: [ + { + find: '@', + replacement: sourceDir, + }, + ], + }, + esbuild: { + drop: ['debugger'], + pure: ['console.log'], + }, + // 打包配置 + build: { + target: 'esnext', + lib: { + entry: resolve(__dirname, './index.ts'), // 设置入口文件 + formats: ['es'], + name: 'components', // 起个名字,安装、引入用 + fileName: (format) => `index.${format}.js`, // 打包后的文件名 + }, + rollupOptions: { + treeshake: true, + // make sure to externalize deps that shouldn't be bundled + // into your library + external: ['vue', 'ant-design-vue'], + output: { + // minifyInternalExports: false, + // // Provide global variables to use in the UMD build + // // for externalized deps + // globals: { + // vue: 'Vue', + // 'ant-design-vue': 'AntDesignVue', + // }, + // manualChunks: { + // library: ['lodash-es', 'vue-i18n'], + // }, + manualChunks(id) { + if (id.includes('/src/locales/helper.ts')) { + console.log('id: ', id); + return 'vendor'; + } else if (id.includes('ant-design-vue')) { + return 'vendor'; + } + }, + }, + }, + }, + plugins: [ + vue(), + vueJsx(), + Unocss(), + myPlugin(), + Components({ + dts: false, + dirs: ['../../src/components'], + resolvers: [ + AntDesignVueResolver({ + importStyle: false, // css in js + exclude: ['Button'], + }), + (componentName) => { + // where `componentName` is always CapitalCase + if (componentName === 'AButton') { + return { name: componentName, from: resolve(sourceDir, 'components/basic/button/') }; + } + }, + ], + }), + ], +}); + +function myPlugin(): Plugin { + const file = resolve(sourceDir, './permission'); + + return { + name: '@admin-pkg/components:transform-file', + + // transform(src, id) { + // if (id.includes(file)) { + // console.log('transform id: ', id); + // return { + // code: `export const hasPermission = () => true`, + // map: null, + // }; + // } + // }, + closeBundle() { + // 根据 js 生成 .d.ts + exec('npm run build:dts', (err) => { + console.error(err); + }); + }, + load(id) { + if (id.includes(file)) { + console.log('load id: ', id); + return `export const hasPermission = () => true`; + } + }, + }; +} diff --git a/packages/vite-plugin-msw/package.json b/packages/vite-plugin-msw/package.json index 33856834..360632d9 100644 --- a/packages/vite-plugin-msw/package.json +++ b/packages/vite-plugin-msw/package.json @@ -1,6 +1,6 @@ { "name": "@admin-pkg/vite-plugin-msw", - "version": "0.0.4", + "version": "0.0.5", "description": "", "module": "./dist/browser/index.mjs", "main": "./dist/browser/index.mjs", @@ -37,18 +37,19 @@ "url": "https://github.com/buqiyuan/vue3-antdv-admin/tree/main/packages/vite-plugin-msw", "directory": "packages/vite-plugin-msw" }, - "homepage": "https://buqiyuan.github.io/vue3-antdv-admin/tree/main/packages/vite-plugin-msw#readme", + "homepage": "https://github.com/buqiyuan/vue3-antdv-admin/tree/main/packages/vite-plugin-msw#readme", "license": "MIT", "publishConfig": { - "access": "public" + "access": "public", + "registry": "https://registry.npmjs.org/" }, "dependencies": { - "@mswjs/interceptors": "^0.25.15", + "@mswjs/interceptors": "^0.26.5", "headers-polyfill": "^4.0.2", "strict-event-emitter": "^0.5.1" }, "devDependencies": { - "tsup": "^8.0.1" + "tsup": "^8.0.2" }, "peerDependencies": { "msw": "^2.0.0" diff --git a/packages/vite-plugin-msw/src/browser/enableMocking.ts b/packages/vite-plugin-msw/src/browser/enableMocking.ts index b07fe162..615f76c1 100644 --- a/packages/vite-plugin-msw/src/browser/enableMocking.ts +++ b/packages/vite-plugin-msw/src/browser/enableMocking.ts @@ -1,4 +1,4 @@ -import { setupWorker } from 'msw/browser'; +import { type StartOptions, setupWorker } from 'msw/browser'; import { log } from '../utils/log'; import type { HttpHandler } from 'msw'; @@ -22,7 +22,7 @@ const postMsg = (registration: ServiceWorkerRegistration, handlers: HttpHandler[ } }; -export const enableMocking = async (handlers: HttpHandler[]) => { +export const enableMocking = async (handlers: HttpHandler[], options?: StartOptions) => { const scriptURL = `${import.meta.env.BASE_URL || ''}/mockServiceWorker.js`.replace( /\/{2,}/g, '/', @@ -33,12 +33,14 @@ export const enableMocking = async (handlers: HttpHandler[]) => { const serviceWorkerRegistration = await worker.start({ onUnhandledRequest: 'bypass', + // quiet: true, serviceWorker: { url: scriptURL, options: { updateViaCache: 'none', }, }, + ...options, }); if (serviceWorkerRegistration) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 522fe20a..25d7753a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,33 +8,36 @@ importers: .: dependencies: + '@admin-pkg/components': + specifier: workspace:^ + version: link:packages/components '@admin-pkg/vite-plugin-msw': specifier: workspace:* - version: file:packages/vite-plugin-msw(msw@2.1.5) + version: file:packages/vite-plugin-msw(msw@2.2.1) '@ant-design/icons-vue': specifier: ~7.0.1 - version: 7.0.1(vue@3.4.15) + version: 7.0.1(vue@3.4.19) '@iconify/vue': specifier: ^4.1.1 - version: 4.1.1(vue@3.4.15) + version: 4.1.1(vue@3.4.19) '@tinymce/tinymce-vue': specifier: ^5.1.1 - version: 5.1.1(vue@3.4.15) + version: 5.1.1(vue@3.4.19) '@vueuse/core': - specifier: ~10.7.2 - version: 10.7.2(vue@3.4.15) + specifier: ~10.8.0 + version: 10.8.0(vue@3.4.19) ant-design-vue: specifier: ~4.1.2 - version: 4.1.2(vue@3.4.15) + version: 4.1.2(vue@3.4.19) axios: specifier: ~1.6.7 - version: 1.6.7 + version: 1.6.7(debug@4.3.4) dayjs: specifier: ~1.11.10 version: 1.11.10 echarts: - specifier: ^5.4.3 - version: 5.4.3 + specifier: ^5.5.0 + version: 5.5.0 file-saver: specifier: ~2.0.5 version: 2.0.5 @@ -49,7 +52,7 @@ importers: version: 1.0.0-1 pinia: specifier: ~2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.4.15) + version: 2.1.7(typescript@5.3.3)(vue@3.4.19) qiniu-js: specifier: ^3.4.2 version: 3.4.2 @@ -60,84 +63,81 @@ importers: specifier: ~1.15.2 version: 1.15.2 tinymce: - specifier: ^6.8.2 - version: 6.8.2 + specifier: ^6.8.3 + version: 6.8.3 vue: - specifier: ~3.4.15 - version: 3.4.15(typescript@5.2.2) + specifier: ~3.4.19 + version: 3.4.19(typescript@5.3.3) vue-echarts: - specifier: ^6.6.8 - version: 6.6.8(echarts@5.4.3)(vue@3.4.15) + specifier: ^6.6.9 + version: 6.6.9(echarts@5.5.0)(vue@3.4.19) vue-i18n: specifier: 9.9.1 - version: 9.9.1(vue@3.4.15) + version: 9.9.1(vue@3.4.19) vue-router: - specifier: ~4.2.5 - version: 4.2.5(vue@3.4.15) + specifier: ~4.3.0 + version: 4.3.0(vue@3.4.19) vue-types: specifier: ~5.1.1 - version: 5.1.1(vue@3.4.15) + version: 5.1.1(vue@3.4.19) vue-virtual-scroller: specifier: 2.0.0-beta.8 - version: 2.0.0-beta.8(vue@3.4.15) + version: 2.0.0-beta.8(vue@3.4.19) xlsx: specifier: ~0.18.5 version: 0.18.5 devDependencies: '@commitlint/cli': specifier: ~18.6.0 - version: 18.6.0(@types/node@20.10.8)(typescript@5.2.2) + version: 18.6.0(@types/node@20.11.16)(typescript@5.3.3) '@commitlint/config-conventional': specifier: ~18.6.0 version: 18.6.0 '@faker-js/faker': - specifier: ^8.4.0 - version: 8.4.0 + specifier: ^8.4.1 + version: 8.4.1 '@iconify-json/ant-design': - specifier: ^1.1.14 - version: 1.1.14 + specifier: ^1.1.15 + version: 1.1.15 '@iconify-json/ep': specifier: ^1.1.14 version: 1.1.14 '@iconify/json': - specifier: ^2.2.177 - version: 2.2.177 + specifier: ^2.2.180 + version: 2.2.180 '@types/lodash-es': specifier: ~4.17.12 version: 4.17.12 '@types/node': - specifier: ~20.10.5 - version: 20.10.8 + specifier: ~20.11.16 + version: 20.11.16 '@typescript-eslint/eslint-plugin': - specifier: ~6.20.0 - version: 6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.2.2) + specifier: ~7.0.2 + version: 7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': - specifier: ~6.20.0 - version: 6.20.0(eslint@8.56.0)(typescript@5.2.2) + specifier: ~7.0.2 + version: 7.0.2(eslint@8.56.0)(typescript@5.3.3) '@umijs/openapi': specifier: ^1.10.1 version: 1.10.1 - '@vitejs/plugin-legacy': - specifier: ~5.3.0 - version: 5.3.0(esbuild@0.19.11)(terser@5.27.0)(vite@5.0.12) '@vitejs/plugin-vue': - specifier: ~5.0.3 - version: 5.0.3(vite@5.0.12)(vue@3.4.15) + specifier: ~5.0.4 + version: 5.0.4(vite@5.1.4)(vue@3.4.19) '@vitejs/plugin-vue-jsx': specifier: ~3.1.0 - version: 3.1.0(vite@5.0.12)(vue@3.4.15) + version: 3.1.0(vite@5.1.4)(vue@3.4.19) '@vue/tsconfig': specifier: ^0.5.1 version: 0.5.1 commitizen: specifier: ~4.3.0 - version: 4.3.0(@types/node@20.10.8)(typescript@5.2.2) + version: 4.3.0(@types/node@20.11.16)(typescript@5.3.3) conventional-changelog-cli: specifier: ~4.1.0 version: 4.1.0 core-js: - specifier: ^3.35.1 - version: 3.35.1 + specifier: ^3.36.0 + version: 3.36.0 cross-env: specifier: ~7.0.3 version: 7.0.3 @@ -152,16 +152,16 @@ importers: version: 2.1.0 eslint-plugin-import: specifier: ~2.29.1 - version: 2.29.1(@typescript-eslint/parser@6.20.0)(eslint@8.56.0) + version: 2.29.1(@typescript-eslint/parser@7.0.2)(eslint@8.56.0) eslint-plugin-prettier: specifier: ~5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.4) + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.5) eslint-plugin-vue: specifier: ~9.21.1 version: 9.21.1(eslint@8.56.0) husky: - specifier: ~9.0.7 - version: 9.0.7 + specifier: ~9.0.10 + version: 9.0.10 less: specifier: ~4.2.0 version: 4.2.0 @@ -169,105 +169,118 @@ importers: specifier: ^1.23.0 version: 1.23.0 lint-staged: - specifier: ~15.2.1 - version: 15.2.1 + specifier: ~15.2.2 + version: 15.2.2 mockjs: specifier: ~1.1.0 version: 1.1.0 msw: - specifier: ^2.1.5 - version: 2.1.5(typescript@5.2.2) + specifier: ^2.2.1 + version: 2.2.1(typescript@5.3.3) postcss: - specifier: ~8.4.33 - version: 8.4.33 + specifier: ~8.4.34 + version: 8.4.34 postcss-html: specifier: ~1.6.0 version: 1.6.0 postcss-less: specifier: ~6.0.0 - version: 6.0.0(postcss@8.4.33) + version: 6.0.0(postcss@8.4.34) prettier: - specifier: ~3.2.4 - version: 3.2.4 + specifier: ~3.2.5 + version: 3.2.5 pretty-quick: - specifier: ~3.1.3 - version: 3.1.4(prettier@3.2.4) + specifier: ~4.0.0 + version: 4.0.0(prettier@3.2.5) rimraf: specifier: ~5.0.5 version: 5.0.5 stylelint: - specifier: ~16.2.0 - version: 16.2.0(typescript@5.2.2) + specifier: ~16.2.1 + version: 16.2.1(typescript@5.3.3) stylelint-config-property-sort-order-smacss: specifier: ^10.0.0 - version: 10.0.0(stylelint@16.2.0) + version: 10.0.0(stylelint@16.2.1) stylelint-config-recommended: specifier: ~14.0.0 - version: 14.0.0(stylelint@16.2.0) + version: 14.0.0(stylelint@16.2.1) stylelint-config-recommended-vue: specifier: ~1.5.0 - version: 1.5.0(postcss-html@1.6.0)(stylelint@16.2.0) + version: 1.5.0(postcss-html@1.6.0)(stylelint@16.2.1) stylelint-config-standard: specifier: ~36.0.0 - version: 36.0.0(stylelint@16.2.0) + version: 36.0.0(stylelint@16.2.1) stylelint-order: specifier: ~6.0.4 - version: 6.0.4(stylelint@16.2.0) + version: 6.0.4(stylelint@16.2.1) stylelint-prettier: specifier: ^5.0.0 - version: 5.0.0(prettier@3.2.4)(stylelint@16.2.0) + version: 5.0.0(prettier@3.2.5)(stylelint@16.2.1) terser: - specifier: ~5.27.0 - version: 5.27.0 + specifier: ~5.27.2 + version: 5.27.2 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.10.8)(typescript@5.2.2) + version: 10.9.2(@types/node@20.11.16)(typescript@5.3.3) typescript: - specifier: ~5.2.2 - version: 5.2.2 + specifier: ~5.3.3 + version: 5.3.3 unocss: - specifier: ^0.58.4 - version: 0.58.4(postcss@8.4.33)(vite@5.0.12) + specifier: ^0.58.5 + version: 0.58.5(postcss@8.4.34)(vite@5.1.4) unplugin-vue-components: specifier: ~0.26.0 - version: 0.26.0(vue@3.4.15) + version: 0.26.0(vue@3.4.19) vite: - specifier: ~5.0.12 - version: 5.0.12(@types/node@20.10.8)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.0) + specifier: ~5.1.4 + version: 5.1.4(@types/node@20.11.16)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.2) vite-plugin-checker: specifier: ~0.6.4 - version: 0.6.4(eslint@8.56.0)(stylelint@16.2.0)(typescript@5.2.2)(vite@5.0.12)(vue-tsc@1.8.27) + version: 0.6.4(eslint@8.56.0)(stylelint@16.2.1)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27) + vite-plugin-mkcert: + specifier: ^1.17.3 + version: 1.17.3(vite@5.1.4) vite-plugin-svg-icons: specifier: ~2.0.1 - version: 2.0.1(vite@5.0.12) + version: 2.0.1(vite@5.1.4) vue-eslint-parser: specifier: ~9.4.2 version: 9.4.2(eslint@8.56.0) vue-tsc: specifier: ~1.8.27 - version: 1.8.27(typescript@5.2.2) + version: 1.8.27(typescript@5.3.3) dependenciesMeta: '@admin-pkg/vite-plugin-msw': injected: true + packages/components: + dependencies: + vue: + specifier: ^3.4.0 + version: 3.4.19(typescript@5.3.3) + devDependencies: + vite: + specifier: ^5.0.2 + version: 5.1.3(@types/node@20.11.16)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.2) + packages/vite-plugin-msw: dependencies: '@mswjs/interceptors': - specifier: ^0.25.15 - version: 0.25.15 + specifier: ^0.26.5 + version: 0.26.5 headers-polyfill: specifier: ^4.0.2 version: 4.0.2 msw: specifier: ^2.0.0 - version: 2.1.5(typescript@5.2.2) + version: 2.1.5(typescript@5.3.3) strict-event-emitter: specifier: ^0.5.1 version: 0.5.1 devDependencies: tsup: - specifier: ^8.0.1 - version: 8.0.1(postcss@8.4.33)(ts-node@10.9.2)(typescript@5.2.2) + specifier: ^8.0.2 + version: 8.0.2(postcss@8.4.34)(ts-node@10.9.2)(typescript@5.3.3) packages: @@ -294,14 +307,14 @@ packages: resolution: {integrity: sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g==} dev: false - /@ant-design/icons-vue@7.0.1(vue@3.4.15): + /@ant-design/icons-vue@7.0.1(vue@3.4.19): resolution: {integrity: sha512-eCqY2unfZK6Fe02AwFlDHLfoyEFreP6rBwAZMIJ1LugmfMiVgwWDYlp1YsRugaPtICYOabV1iWxXdP12u9U43Q==} peerDependencies: vue: '>=3.0.3' dependencies: '@ant-design/colors': 6.0.0 '@ant-design/icons-svg': 4.3.1 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.19(typescript@5.3.3) dev: false /@antfu/install-pkg@0.1.1: @@ -344,10 +357,33 @@ packages: '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) '@babel/helpers': 7.23.8 - '@babel/parser': 7.23.6 + '@babel/parser': 7.23.9 '@babel/template': 7.22.15 '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/core@7.23.9: + resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helpers': 7.23.9 + '@babel/parser': 7.23.9 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -371,11 +407,25 @@ packages: semver: 6.3.1 dev: true + /@babel/eslint-parser@7.23.3(@babel/core@7.23.9)(eslint@7.32.0): + resolution: {integrity: sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 + dependencies: + '@babel/core': 7.23.9 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 7.32.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + dev: true + /@babel/generator@7.23.6: resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.22 jsesc: 2.5.2 @@ -392,7 +442,7 @@ packages: resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-compilation-targets@7.23.6: @@ -424,6 +474,24 @@ packages: semver: 6.3.1 dev: true + /@babel/helper-create-class-features-plugin@7.23.7(@babel/core@7.23.9): + resolution: {integrity: sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.7): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} @@ -461,21 +529,21 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-member-expression-to-functions@7.23.0: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-module-imports@7.22.15: @@ -499,11 +567,25 @@ packages: '@babel/helper-validator-identifier': 7.22.20 dev: true + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-plugin-utils@7.22.5: @@ -535,25 +617,37 @@ packages: '@babel/helper-optimise-call-expression': 7.22.5 dev: true + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.9): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/helper-string-parser@7.23.4: @@ -574,8 +668,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.23.0 - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 dev: true /@babel/helpers@7.23.8: @@ -584,7 +678,18 @@ packages: dependencies: '@babel/template': 7.22.15 '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helpers@7.23.9: + resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color dev: true @@ -603,7 +708,15 @@ packages: engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 + dev: true + + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.9 /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} @@ -775,6 +888,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.9): + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.7): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: @@ -859,6 +982,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.9): + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.7): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} @@ -973,7 +1106,7 @@ packages: dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.15 + '@babel/template': 7.23.9 dev: true /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.7): @@ -1128,6 +1261,18 @@ packages: '@babel/helper-simple-access': 7.22.5 dev: true + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.9): + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + dev: true + /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.23.7): resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} engines: {node: '>=6.9.0'} @@ -1318,7 +1463,7 @@ packages: '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7) - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.7): @@ -1417,6 +1562,19 @@ packages: '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.7) dev: true + /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.9): + resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) + dev: true + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} engines: {node: '>=6.9.0'} @@ -1558,7 +1716,7 @@ packages: dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 esutils: 2.0.3 dev: true @@ -1591,6 +1749,20 @@ packages: '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.7) dev: true + /@babel/preset-typescript@7.23.3(@babel/core@7.23.9): + resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.9) + dev: true + /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true @@ -1618,6 +1790,15 @@ packages: '@babel/types': 7.23.6 dev: true + /@babel/template@7.23.9: + resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 + dev: true + /@babel/traverse@7.23.7: resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} engines: {node: '>=6.9.0'} @@ -1636,6 +1817,24 @@ packages: - supports-color dev: true + /@babel/traverse@7.23.9: + resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/types@7.23.6: resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} engines: {node: '>=6.9.0'} @@ -1643,6 +1842,15 @@ packages: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + dev: true + + /@babel/types@7.23.9: + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 /@bundled-es-modules/cookie@2.0.0: resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} @@ -1654,14 +1862,14 @@ packages: dependencies: statuses: 2.0.1 - /@commitlint/cli@18.6.0(@types/node@20.10.8)(typescript@5.2.2): + /@commitlint/cli@18.6.0(@types/node@20.11.16)(typescript@5.3.3): resolution: {integrity: sha512-FiH23cr9QG8VdfbmvJJZmdfHGVMCouOOAzoXZ3Cd7czGC52RbycwNt8YCI7SA69pAl+t30vh8LMaO/N+kcel6w==} engines: {node: '>=v18'} hasBin: true dependencies: '@commitlint/format': 18.6.0 '@commitlint/lint': 18.6.0 - '@commitlint/load': 18.6.0(@types/node@20.10.8)(typescript@5.2.2) + '@commitlint/load': 18.6.0(@types/node@20.11.16)(typescript@5.3.3) '@commitlint/read': 18.6.0 '@commitlint/types': 18.6.0 execa: 5.1.1 @@ -1684,6 +1892,7 @@ packages: /@commitlint/config-validator@18.6.0: resolution: {integrity: sha512-Ptfa865arNozlkjxrYG3qt6wT9AlhNUHeuDyKEZiTL/l0ftncFhK/KN0t/EAMV2tec+0Mwxo0FmhbESj/bI+1g==} engines: {node: '>=v18'} + requiresBuild: true dependencies: '@commitlint/types': 18.6.0 ajv: 8.12.0 @@ -1704,6 +1913,7 @@ packages: /@commitlint/execute-rule@18.4.4: resolution: {integrity: sha512-a37Nd3bDQydtg9PCLLWM9ZC+GO7X5i4zJvrggJv5jBhaHsXeQ9ZWdO6ODYR+f0LxBXXNYK3geYXJrCWUCP8JEg==} engines: {node: '>=v18'} + requiresBuild: true dev: true /@commitlint/format@18.6.0: @@ -1732,7 +1942,7 @@ packages: '@commitlint/types': 18.6.0 dev: true - /@commitlint/load@18.6.0(@types/node@20.10.8)(typescript@5.2.2): + /@commitlint/load@18.6.0(@types/node@20.11.16)(typescript@5.3.3): resolution: {integrity: sha512-RRssj7TmzT0bowoEKlgwg8uQ7ORXWkw7lYLsZZBMi9aInsJuGNLNWcMxJxRZbwxG3jkCidGUg85WmqJvRjsaDA==} engines: {node: '>=v18'} dependencies: @@ -1741,8 +1951,8 @@ packages: '@commitlint/resolve-extends': 18.6.0 '@commitlint/types': 18.6.0 chalk: 4.1.2 - cosmiconfig: 8.3.6(typescript@5.2.2) - cosmiconfig-typescript-loader: 5.0.0(@types/node@20.10.8)(cosmiconfig@8.3.6)(typescript@5.2.2) + cosmiconfig: 8.3.6(typescript@5.3.3) + cosmiconfig-typescript-loader: 5.0.0(@types/node@20.11.16)(cosmiconfig@8.3.6)(typescript@5.3.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -1779,6 +1989,7 @@ packages: /@commitlint/resolve-extends@18.6.0: resolution: {integrity: sha512-k2Xp+Fxeggki2i90vGrbiLDMefPius3zGSTFFlRAPKce/SWLbZtI+uqE9Mne23mHO5lmcSV8z5m6ziiJwGpOcg==} engines: {node: '>=v18'} + requiresBuild: true dependencies: '@commitlint/config-validator': 18.6.0 '@commitlint/types': 18.6.0 @@ -2147,8 +2358,8 @@ packages: resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} dev: true - /@faker-js/faker@8.4.0: - resolution: {integrity: sha512-htW87352wzUCdX1jyUQocUcmAaFqcR/w082EC8iP/gtkF0K+aKcBp0hR5Arb7dzR8tQ1TrhE9DNa5EbJELm84w==} + /@faker-js/faker@8.4.1: + resolution: {integrity: sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13'} dev: true @@ -2192,8 +2403,8 @@ packages: engines: {node: '>=10.13.0'} dev: true - /@iconify-json/ant-design@1.1.14: - resolution: {integrity: sha512-43K3xnXzhGnNWwXhaSAZrP8ZV7pbqpGQsr3F88EpVJCUbQ9iquPbOldkGQ72k24FPvFKInCYFTgIuwhOVu0q1A==} + /@iconify-json/ant-design@1.1.15: + resolution: {integrity: sha512-E8XLyDo2HWVeVT8ViNTxF2+0Vgcox8FC73G4v64AM+lvlWpERcY90g7jXoBOeykl1pQCf1awkQUwjkynZ8Xb7A==} dependencies: '@iconify/types': 2.0.0 dev: true @@ -2204,8 +2415,8 @@ packages: '@iconify/types': 2.0.0 dev: true - /@iconify/json@2.2.177: - resolution: {integrity: sha512-BKWZMvJklkkuDcmBqOYLXUSBCFDoYn5oaUU6j6eVQHE6KEfVYawSsTvfu4aCTx6Pzd47HR5zhTL4LJzhuKZOxg==} + /@iconify/json@2.2.180: + resolution: {integrity: sha512-Kww6uD6fi+9qSeXAUGo6bQgTm5vprMEvTENVaZXL3qfa9KHICWZaGsVETpjn3WiTwcUPgN6P2/GXLzhuFulm7w==} dependencies: '@iconify/types': 2.0.0 pathe: 1.1.2 @@ -2214,8 +2425,8 @@ packages: /@iconify/types@2.0.0: resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - /@iconify/utils@2.1.20: - resolution: {integrity: sha512-t8TeKlYK/5i9yTY9VAGAE4P0qQHd/0vH+VSRO+bdpxlt8wqB6f2I0/IrciRsdeFZPMoL8IICgP7lgl2ZtbG8Tw==} + /@iconify/utils@2.1.22: + resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==} dependencies: '@antfu/install-pkg': 0.1.1 '@antfu/utils': 0.7.7 @@ -2223,19 +2434,50 @@ packages: debug: 4.3.4 kolorist: 1.8.0 local-pkg: 0.5.0 + mlly: 1.5.0 transitivePeerDependencies: - supports-color dev: true - /@iconify/vue@4.1.1(vue@3.4.15): + /@iconify/vue@4.1.1(vue@3.4.19): resolution: {integrity: sha512-RL85Bm/DAe8y6rT6pux7D2FJSiUEM/TPfyK7GrbAOfTSwrhvwJW+S5yijdGcmtXouA8MtuH9C7l4hiSE4mLMjg==} peerDependencies: vue: '>=3' dependencies: '@iconify/types': 2.0.0 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.19(typescript@5.3.3) dev: false + /@inquirer/confirm@3.0.0: + resolution: {integrity: sha512-LHeuYP1D8NmQra1eR4UqvZMXwxEdDXyElJmmZfU44xdNLL6+GcQBS0uE16vyfZVjH8c22p9e+DStROfE/hyHrg==} + engines: {node: '>=18'} + dependencies: + '@inquirer/core': 7.0.0 + '@inquirer/type': 1.2.0 + + /@inquirer/core@7.0.0: + resolution: {integrity: sha512-g13W5yEt9r1sEVVriffJqQ8GWy94OnfxLCreNSOTw0HPVcszmc/If1KIf7YBmlwtX4klmvwpZHnQpl3N7VX2xA==} + engines: {node: '>=18'} + dependencies: + '@inquirer/type': 1.2.0 + '@types/mute-stream': 0.0.4 + '@types/node': 20.11.16 + '@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 + + /@inquirer/type@1.2.0: + resolution: {integrity: sha512-/vvkUkYhrjbm+RolU7V1aUFDydZVKNKqKHR5TsE+j5DXgXFwrsOPcoGUJ02K0O7q7O53CU2DOTMYCHeGZ25WHA==} + engines: {node: '>=18'} + /@intlify/core-base@9.9.1: resolution: {integrity: sha512-qsV15dg7jNX2faBRyKMgZS8UcFJViWEUPLdzZ9UR0kQZpFVeIpc0AG7ZOfeP7pX2T9SQ5jSiorq/tii9nkkafA==} engines: {node: '>= 16'} @@ -2316,8 +2558,19 @@ packages: resolution: {integrity: sha512-0ZcCVQxifZmhwNBoQIrystCb+2sWBY2Zw8lpfJBPCHGCA/HWqehITeCRVIv4VMy8MPlaHo2w2pTHFV2pFfqKPw==} engines: {node: '>=18'} - /@mswjs/interceptors@0.25.15: - resolution: {integrity: sha512-s4jdyxmq1eeftfDXJ7MUiK/jlvYaU8Sr75+42hHCVBrYez0k51RHbMitKIKdmsF92Q6gwhp8Sm1MmvdA9llpcg==} + /@mswjs/interceptors@0.25.16: + resolution: {integrity: sha512-8QC8JyKztvoGAdPgyZy49c9vSHHAZjHagwl4RY9E8carULk8ym3iTaiawrT1YoLF/qb449h48f71XDPgkUSOUg==} + engines: {node: '>=18'} + dependencies: + '@open-draft/deferred-promise': 2.2.0 + '@open-draft/logger': 0.3.0 + '@open-draft/until': 2.1.0 + is-node-process: 1.2.0 + outvariant: 1.4.2 + strict-event-emitter: 0.5.1 + + /@mswjs/interceptors@0.26.5: + resolution: {integrity: sha512-A8Q7XbzFZMCjfgB/QTS1wNdWzVa/SwTQDiSzR9KAgUaS+Mr9jLknXrI5Gvn88w8tFjlZxfwMinYIoFh8RMptig==} engines: {node: '>=18'} dependencies: '@open-draft/deferred-promise': 2.2.0 @@ -2326,6 +2579,7 @@ packages: is-node-process: 1.2.0 outvariant: 1.4.2 strict-event-emitter: 0.5.1 + dev: false /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} @@ -2354,6 +2608,109 @@ packages: fastq: 1.16.0 dev: true + /@octokit/auth-token@4.0.0: + resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} + engines: {node: '>= 18'} + dev: true + + /@octokit/core@5.1.0: + resolution: {integrity: sha512-BDa2VAMLSh3otEiaMJ/3Y36GU4qf6GI+VivQ/P41NC6GHcdxpKlqV0ikSZ5gdQsmS3ojXeRx5vasgNTinF0Q4g==} + engines: {node: '>= 18'} + dependencies: + '@octokit/auth-token': 4.0.0 + '@octokit/graphql': 7.0.2 + '@octokit/request': 8.1.6 + '@octokit/request-error': 5.0.1 + '@octokit/types': 12.4.0 + before-after-hook: 2.2.3 + universal-user-agent: 6.0.1 + dev: true + + /@octokit/endpoint@9.0.4: + resolution: {integrity: sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==} + engines: {node: '>= 18'} + dependencies: + '@octokit/types': 12.4.0 + universal-user-agent: 6.0.1 + dev: true + + /@octokit/graphql@7.0.2: + resolution: {integrity: sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==} + engines: {node: '>= 18'} + dependencies: + '@octokit/request': 8.1.6 + '@octokit/types': 12.4.0 + universal-user-agent: 6.0.1 + dev: true + + /@octokit/openapi-types@19.1.0: + resolution: {integrity: sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==} + dev: true + + /@octokit/plugin-paginate-rest@9.1.5(@octokit/core@5.1.0): + resolution: {integrity: sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=5' + dependencies: + '@octokit/core': 5.1.0 + '@octokit/types': 12.4.0 + dev: true + + /@octokit/plugin-request-log@4.0.0(@octokit/core@5.1.0): + resolution: {integrity: sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=5' + dependencies: + '@octokit/core': 5.1.0 + dev: true + + /@octokit/plugin-rest-endpoint-methods@10.2.0(@octokit/core@5.1.0): + resolution: {integrity: sha512-ePbgBMYtGoRNXDyKGvr9cyHjQ163PbwD0y1MkDJCpkO2YH4OeXX40c4wYHKikHGZcpGPbcRLuy0unPUuafco8Q==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=5' + dependencies: + '@octokit/core': 5.1.0 + '@octokit/types': 12.4.0 + dev: true + + /@octokit/request-error@5.0.1: + resolution: {integrity: sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==} + engines: {node: '>= 18'} + dependencies: + '@octokit/types': 12.4.0 + deprecation: 2.3.1 + once: 1.4.0 + dev: true + + /@octokit/request@8.1.6: + resolution: {integrity: sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==} + engines: {node: '>= 18'} + dependencies: + '@octokit/endpoint': 9.0.4 + '@octokit/request-error': 5.0.1 + '@octokit/types': 12.4.0 + universal-user-agent: 6.0.1 + dev: true + + /@octokit/rest@20.0.2: + resolution: {integrity: sha512-Ux8NDgEraQ/DMAU1PlAohyfBBXDwhnX2j33Z1nJNziqAfHi70PuxkFYIcIt8aIAxtRE7KVuKp8lSR8pA0J5iOQ==} + engines: {node: '>= 18'} + dependencies: + '@octokit/core': 5.1.0 + '@octokit/plugin-paginate-rest': 9.1.5(@octokit/core@5.1.0) + '@octokit/plugin-request-log': 4.0.0(@octokit/core@5.1.0) + '@octokit/plugin-rest-endpoint-methods': 10.2.0(@octokit/core@5.1.0) + dev: true + + /@octokit/types@12.4.0: + resolution: {integrity: sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==} + dependencies: + '@octokit/openapi-types': 19.1.0 + dev: true + /@open-draft/deferred-promise@2.2.0: resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} @@ -2508,7 +2865,7 @@ packages: /@simonwep/pickr@1.8.2: resolution: {integrity: sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==} dependencies: - core-js: 3.35.1 + core-js: 3.36.0 nanopop: 2.4.1 dev: false @@ -2519,9 +2876,9 @@ packages: postcss: '>=7.0.0 || 5' postcss-syntax: '>=0.36.2' dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 postcss: 7.0.39 - postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.33) + postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.34) transitivePeerDependencies: - supports-color dev: true @@ -2534,20 +2891,20 @@ packages: postcss-syntax: '>=0.36.2' dependencies: postcss: 7.0.39 - postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.33) + postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.34) remark: 13.0.0 unist-util-find-all-after: 3.0.2 transitivePeerDependencies: - supports-color dev: true - /@tinymce/tinymce-vue@5.1.1(vue@3.4.15): + /@tinymce/tinymce-vue@5.1.1(vue@3.4.19): resolution: {integrity: sha512-iO57HOWesFOhsaqjA5Ea6sDvQBmJJH3/dq00Uvg7metlct2kLF+ctRgoDsetLt6gmeZ7COPftr814/XzqnJ/dg==} peerDependencies: vue: ^3.0.0 dependencies: - tinymce: 6.8.2 - vue: 3.4.15(typescript@5.2.2) + tinymce: 6.8.3 + vue: 3.4.19(typescript@5.3.3) dev: false /@trysound/sax@0.2.0: @@ -2589,7 +2946,7 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.10.8 + '@types/node': 20.11.16 dev: true /@types/json-schema@7.0.15: @@ -2616,10 +2973,6 @@ packages: '@types/unist': 2.0.10 dev: true - /@types/minimatch@3.0.5: - resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} - dev: true - /@types/minimatch@5.1.2: resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} dev: true @@ -2628,11 +2981,15 @@ packages: resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true - /@types/node@20.10.8: - resolution: {integrity: sha512-f8nQs3cLxbAFc00vEU59yf9UyGUftkPaLGfvbVOIDdx2i1b8epBqj2aNGyP19fiyXWvlmZ7qC1XLjAzw/OKIeA==} + /@types/mute-stream@0.0.4: + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + dependencies: + '@types/node': 20.11.16 + + /@types/node@20.11.16: + resolution: {integrity: sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==} dependencies: undici-types: 5.26.5 - dev: true /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -2652,7 +3009,7 @@ packages: /@types/svgo@2.6.4: resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.16 dev: true /@types/unist@2.0.10: @@ -2663,6 +3020,9 @@ packages: resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} dev: false + /@types/wrap-ansi@3.0.0: + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@4.9.5): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2691,31 +3051,31 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==} + /@typescript-eslint/eslint-plugin@7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-/XtVZJtbaphtdrWjr+CJclaCVGPtOdBpFEnvtNf/jRV0IiEemRrL0qABex/nEt8isYcnFacm3nPHYQwL+Wb7qg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/type-utils': 6.20.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.20.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/parser': 7.0.2(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/type-utils': 7.0.2(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 7.0.2(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.0.2 debug: 4.3.4 eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.3.0 natural-compare: 1.4.0 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true @@ -2758,23 +3118,23 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.20.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==} + /@typescript-eslint/parser@7.0.2(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.0.2 debug: 4.3.4 eslint: 8.56.0 - typescript: 5.2.2 + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true @@ -2795,12 +3155,12 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.20.0: - resolution: {integrity: sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==} + /@typescript-eslint/scope-manager@7.0.2: + resolution: {integrity: sha512-l6sa2jF3h+qgN2qUMjVR3uCNGjWw4ahGfzIYsCtFrQJCjhbrDPdiihYT8FnnqFwsWX+20hK592yX9I2rxKTP4g==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/visitor-keys': 7.0.2 dev: true /@typescript-eslint/type-utils@5.62.0(eslint@7.32.0)(typescript@4.9.5): @@ -2823,22 +3183,22 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@6.20.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==} + /@typescript-eslint/type-utils@7.0.2(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-IKKDcFsKAYlk8Rs4wiFfEwJTQlHcdn8CLwLaxwd6zb8HNiMcQIFX9sWax2k4Cjj7l7mGS5N1zl7RCHOVwHq2VQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.20.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3) + '@typescript-eslint/utils': 7.0.2(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4 eslint: 8.56.0 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true @@ -2853,8 +3213,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.20.0: - resolution: {integrity: sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==} + /@typescript-eslint/types@7.0.2: + resolution: {integrity: sha512-ZzcCQHj4JaXFjdOql6adYV4B/oFOFjPOC9XYwCaZFRvqN8Llfvv4gSxrkQkd2u4Ci62i2c6W6gkDwQJDaRc4nA==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -2900,8 +3260,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.20.0(typescript@5.2.2): - resolution: {integrity: sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==} + /@typescript-eslint/typescript-estree@7.0.2(typescript@5.3.3): + resolution: {integrity: sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -2909,15 +3269,15 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/visitor-keys': 7.0.2 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true @@ -2942,18 +3302,18 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.20.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==} + /@typescript-eslint/utils@7.0.2(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-PZPIONBIB/X684bhT1XlrkjNZJIEevwkKDsdwfiu1WeqBxYEEdIgVDgm8/bbKHVu+6YOpeRqcfImTdImx/4Bsw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3) eslint: 8.56.0 semver: 7.5.4 transitivePeerDependencies: @@ -2977,11 +3337,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.20.0: - resolution: {integrity: sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==} + /@typescript-eslint/visitor-keys@7.0.2: + resolution: {integrity: sha512-8Y+YiBmqPighbm5xA2k4wKTxRzx9EkBu7Rlw+WHqMvRJ3RPz/BMBO9b2ru0LUNmXg120PHUXD5+SWFy2R8DqlQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.20.0 + '@typescript-eslint/types': 7.0.2 eslint-visitor-keys: 3.4.3 dev: true @@ -3056,243 +3416,221 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@unocss/astro@0.58.4(vite@5.0.12): - resolution: {integrity: sha512-feS8+f3oPmCeR1XF7isQjs3Z9ojM5Ssv0vCNR/dexPFdROfccK/7sIu1YnHWtVg1trPc1kMfI8XJRqfrHMdd5w==} + /@unocss/astro@0.58.5(vite@5.1.4): + resolution: {integrity: sha512-LtuVnj8oFAK9663OVhQO8KpdJFiOyyPsYfnOZlDCOFK3gHb/2WMrzdBwr1w8LoQF3bDedkFMKirVF7gWjyZiaw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 peerDependenciesMeta: vite: optional: true dependencies: - '@unocss/core': 0.58.4 - '@unocss/reset': 0.58.4 - '@unocss/vite': 0.58.4(vite@5.0.12) - vite: 5.0.12(@types/node@20.10.8)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.0) + '@unocss/core': 0.58.5 + '@unocss/reset': 0.58.5 + '@unocss/vite': 0.58.5(vite@5.1.4) + vite: 5.1.4(@types/node@20.11.16)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.2) transitivePeerDependencies: - rollup dev: true - /@unocss/cli@0.58.4: - resolution: {integrity: sha512-8dAs1TzzWCtb3FxoTsVtR2+JGkdmchuP0RvGlSywADf5FqYn9nbP0m3z4STtpPavHO9JaGbabStyjS0nA8Ck6w==} + /@unocss/cli@0.58.5: + resolution: {integrity: sha512-FzVVXO9ghsGtJpu9uR4o7JeM9gUfWNbVZZ/IfH+0WbDJuyx4rO/jwN55z0yA5QDkhvOz9DvzwPCBzLpTJ5q+Lw==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.2.1 '@rollup/pluginutils': 5.1.0 - '@unocss/config': 0.58.4 - '@unocss/core': 0.58.4 - '@unocss/preset-uno': 0.58.4 + '@unocss/config': 0.58.5 + '@unocss/core': 0.58.5 + '@unocss/preset-uno': 0.58.5 cac: 6.7.14 chokidar: 3.5.3 colorette: 2.0.20 consola: 3.2.3 fast-glob: 3.3.2 - magic-string: 0.30.5 + magic-string: 0.30.7 pathe: 1.1.2 perfect-debounce: 1.0.0 transitivePeerDependencies: - rollup dev: true - /@unocss/config@0.58.4: - resolution: {integrity: sha512-b/inDCOnhUPzobhj+SxRI7xeSwoAQU+3D3J5JoWZNPBI4OaJdwpuz40uLXl9VsPz5N6dc8/qa+FrSsgCjUcLTg==} + /@unocss/config@0.58.5: + resolution: {integrity: sha512-O1pLSeNXfG11QHaLSVwS9rJKvE4b9304IQ3UvOdbYN+7SAT4YTZ7JDU4ngO1KWyOFBO6RD0WspCR95pgqOqJiQ==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.58.4 + '@unocss/core': 0.58.5 unconfig: 0.3.11 dev: true - /@unocss/core@0.58.4: - resolution: {integrity: sha512-wh4pxXUCkhC+C/0ct74PMYeZgX+oWuHj2mnvr09nM0WmvOm1HeeISrDCCBGcxmKbErUk+D1v3JgzXF7b6j2l4g==} + /@unocss/core@0.58.5: + resolution: {integrity: sha512-qbPqL+46hf1/UelQOwUwpAuvm6buoss43DPYHOPdfNJ+NTWkSpATQMF0JKT04QE0QRQbHNSHdMe9ariG+IIlCw==} dev: true - /@unocss/extractor-arbitrary-variants@0.58.4: - resolution: {integrity: sha512-TQlVtSQk8YdBU9KuTA5k6JBJ8d/aPrIsCWjDPfBvAqDvrll/dzwBCLoLTQMdCHFjCXCOYWKPum1ET+Wn9R+XbA==} + /@unocss/extractor-arbitrary-variants@0.58.5: + resolution: {integrity: sha512-KJQX0OJKzy4YjJo09h2la2Q+cn5IJ1JdyPVJJkzovHnv7jSBWzsfct+bj/6a+SJ4p4JBIqEJz3M/qxHv4EPJyA==} dependencies: - '@unocss/core': 0.58.4 + '@unocss/core': 0.58.5 dev: true - /@unocss/inspector@0.58.4: - resolution: {integrity: sha512-BbsaIMqP6dqa3qCfkC0nkvjCg11JRigvFPU4319imTPcTHQNQSg35t2mVFPGZ+QYHlU/3ouBeogUQfJDHBmtVQ==} + /@unocss/inspector@0.58.5: + resolution: {integrity: sha512-cbJlIHEZ14puTtttf7sl+VZFDscV1DJiSseh9sSe0xJ/1NVBT9Bvkm09/1tnpLYAgF5gfa1CaCcjKmURgYzKrA==} dependencies: - '@unocss/core': 0.58.4 - '@unocss/rule-utils': 0.58.4 + '@unocss/core': 0.58.5 + '@unocss/rule-utils': 0.58.5 gzip-size: 6.0.0 sirv: 2.0.4 dev: true - /@unocss/postcss@0.58.4(postcss@8.4.33): - resolution: {integrity: sha512-pg2qCGakV1TyMApPdvuvqqmPDhgogPWF14J97BT5zIfGYITAJSmBsm7d3+06w6EuqIS+vcYRw+qCV3oX6qTeiA==} + /@unocss/postcss@0.58.5(postcss@8.4.34): + resolution: {integrity: sha512-m4L2YRdYfT6CV306Kl2VwEwbqa/92EpW4GE2Kqak1RuJyFJXBnWEEMJV4Uy6B1jWKLlCEWkuVUW33JUg7X6BxQ==} engines: {node: '>=14'} peerDependencies: postcss: ^8.4.21 || 5 dependencies: - '@unocss/config': 0.58.4 - '@unocss/core': 0.58.4 - '@unocss/rule-utils': 0.58.4 + '@unocss/config': 0.58.5 + '@unocss/core': 0.58.5 + '@unocss/rule-utils': 0.58.5 css-tree: 2.3.1 fast-glob: 3.3.2 - magic-string: 0.30.5 - postcss: 8.4.33 + magic-string: 0.30.7 + postcss: 8.4.34 dev: true - /@unocss/preset-attributify@0.58.4: - resolution: {integrity: sha512-r7pDXgcOgGMmrMoqM4/w20KKn4PxF+/vpElatAGXW3V/tHJWFOLGzk+wYeCMgMxeC+vPzqyJkjTfoqYlZrlokQ==} + /@unocss/preset-attributify@0.58.5: + resolution: {integrity: sha512-OR4gUHamHCb4/LB/zZHlibaraTyILfFvRIzgmJnEb6lITGApQUl86qaJcTbTyfTfLVRufLG/JVeuz2HLUBPRXw==} dependencies: - '@unocss/core': 0.58.4 + '@unocss/core': 0.58.5 dev: true - /@unocss/preset-icons@0.58.4: - resolution: {integrity: sha512-xdOe3PLfEWS4y+rA7Gxh/kDI82VkW0PbdoYO2FBwXH7a0JegdUDD5zuOTsTKAIymvQ7eVH53WXN9mcuhfNmdvQ==} + /@unocss/preset-icons@0.58.5: + resolution: {integrity: sha512-LDNXavHtWaIvMvBezT9O8yiqHJChVCEfTRO6YFVY0yy+wo5jHiuMh6iKeHVcwbYdn3NqHYmpi7b/hrXPMtODzA==} dependencies: - '@iconify/utils': 2.1.20 - '@unocss/core': 0.58.4 + '@iconify/utils': 2.1.22 + '@unocss/core': 0.58.5 ofetch: 1.3.3 transitivePeerDependencies: - supports-color dev: true - /@unocss/preset-mini@0.58.4: - resolution: {integrity: sha512-cpIWUYxLi4VCkkjxpNJOVqH9D32NX1ebRFaoAVnvCRsoj5TRsZJSdxs0WMN7reHT/CUHh0Wh6d3TfMCFxzbZ4g==} + /@unocss/preset-mini@0.58.5: + resolution: {integrity: sha512-WqD31fKUAN28OCUOyi1uremmLk0eTMqtCizjbbXsY/DP6RKYUT7trFAtppTcHWFhSQcknb4FURfAZppACsTVQQ==} dependencies: - '@unocss/core': 0.58.4 - '@unocss/extractor-arbitrary-variants': 0.58.4 - '@unocss/rule-utils': 0.58.4 + '@unocss/core': 0.58.5 + '@unocss/extractor-arbitrary-variants': 0.58.5 + '@unocss/rule-utils': 0.58.5 dev: true - /@unocss/preset-tagify@0.58.4: - resolution: {integrity: sha512-1E3vQvg5Qy4tbgovvrV0JaIXFfcdhK4NCSz+MuUk5ZYgKGVDh4IEw0WPuic534nlLm9+YFqyCSLLyIs3bT/GYQ==} + /@unocss/preset-tagify@0.58.5: + resolution: {integrity: sha512-UB9IXi8vA/SzmmRLMWR7bzeBpxpiRo7y9xk3ruvDddYlsyiwIeDIMwG23YtcA6q41FDQvkrmvTxUEH9LFlv6aA==} dependencies: - '@unocss/core': 0.58.4 + '@unocss/core': 0.58.5 dev: true - /@unocss/preset-typography@0.58.4: - resolution: {integrity: sha512-0Opt3Y0At4F03092iwGgz7HswRC2ElBXHR+IO9wWxSbldtpdmKzFJ/GBHEalzQjacWnyyzmRjabjA2quoQ8FQA==} + /@unocss/preset-typography@0.58.5: + resolution: {integrity: sha512-rFny4a9yxgY34XOom5euCqQaOLV8PpbTg0Pn+5FelUMG4OfMevTwBCe9JttFJcUc3cNTL2enkzIdMa3l66114g==} dependencies: - '@unocss/core': 0.58.4 - '@unocss/preset-mini': 0.58.4 + '@unocss/core': 0.58.5 + '@unocss/preset-mini': 0.58.5 dev: true - /@unocss/preset-uno@0.58.4: - resolution: {integrity: sha512-FWBPGIt0UcQHu58l75kvhB4vF2v+s2m0OW9DnIrPm3aY7Qj3q4yA2wdahR37qSsH+6vR3JP4+mV9WBrGjIsjrQ==} + /@unocss/preset-uno@0.58.5: + resolution: {integrity: sha512-vgq/R4f7RDmdROy+pX+PeE38I3SgYKd4LL7Wb1HJUaVwz7PkF0XHCynOTbwrPXnK1kp1cnZYYEww7/RiYp+IQQ==} dependencies: - '@unocss/core': 0.58.4 - '@unocss/preset-mini': 0.58.4 - '@unocss/preset-wind': 0.58.4 - '@unocss/rule-utils': 0.58.4 + '@unocss/core': 0.58.5 + '@unocss/preset-mini': 0.58.5 + '@unocss/preset-wind': 0.58.5 + '@unocss/rule-utils': 0.58.5 dev: true - /@unocss/preset-web-fonts@0.58.4: - resolution: {integrity: sha512-vcy20fIK37GdhesRpiWGvCvkJDQsSiRF1jxw3dy8J5n9kFpIV8DQoPWUIE0ePF4i5ky2dHSDxKaNOP1bxHdKGA==} + /@unocss/preset-web-fonts@0.58.5: + resolution: {integrity: sha512-WKZ5raSClFXhqzfAhApef3+fuMq6cjKBxvhJ1FBIxFKcSOvN8e2czty2iGQVl02yMsxBWMv0Bpfm7np+cCoI1w==} dependencies: - '@unocss/core': 0.58.4 + '@unocss/core': 0.58.5 ofetch: 1.3.3 dev: true - /@unocss/preset-wind@0.58.4: - resolution: {integrity: sha512-e2F0HsqPXw+nD85MKIZ63mx5yUx5g8iPOtMw9/eEUeK67HrD+jFxeLq0hAM3ou3a4589QIzeg23LXAkM7gCzvg==} + /@unocss/preset-wind@0.58.5: + resolution: {integrity: sha512-54RkjLmlqMUlC8o8nDCVzB25D1zzK4eth+/3uQzt739qU0U92NxuZKY21ADj9Rp/mVhKBV5FKuXPjmYc6yTQRQ==} dependencies: - '@unocss/core': 0.58.4 - '@unocss/preset-mini': 0.58.4 - '@unocss/rule-utils': 0.58.4 + '@unocss/core': 0.58.5 + '@unocss/preset-mini': 0.58.5 + '@unocss/rule-utils': 0.58.5 dev: true - /@unocss/reset@0.58.4: - resolution: {integrity: sha512-ZZTrAdl4WWmMjQdOqcOSWdgFH6kdFKZjPu4c6Ijxk7KvY2BW3nttTTBa7IYeuXFHVfcExUFqlOgRurt+NeWYyQ==} + /@unocss/reset@0.58.5: + resolution: {integrity: sha512-2wMrkCj3SSb5hrx9TKs5jZa34QIRkHv9FotbJutAPo7o8hx+XXn56ogzdoUrcFPJZJUx2R2nyOVbSlGMIjtFtw==} dev: true - /@unocss/rule-utils@0.58.4: - resolution: {integrity: sha512-52Jp4I+joGTaDm7ehB/7uZ2kJL+9BZcYRDUVk4IDacDH5W9yxf1F75LzYT8jJVWXD/HIhiS0r9V6qhcBq2OWZw==} + /@unocss/rule-utils@0.58.5: + resolution: {integrity: sha512-w0sGJoeUGwMWLVFLEE9PDiv/fQcQqZnTIIQLYNCjTdqXDRlwTp9ACW0h47x/hAAIXdOtEOOBuTfjGD79GznUmA==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.58.4 - magic-string: 0.30.5 + '@unocss/core': 0.58.5 + magic-string: 0.30.7 dev: true - /@unocss/scope@0.58.4: - resolution: {integrity: sha512-JrX98xoYnv0HN41WyzlvCCU1T3jnDOry+V8mm2dB9DvByzxI484X6gtKbOXlJFAPwOlZPU5Bru/XTDaL6yQQww==} + /@unocss/scope@0.58.5: + resolution: {integrity: sha512-vSentagAwYTnThGRCjzZ6eNSSRuzdWBl21L1BbvVNM91Ss/FugQnZ1hd0m3TrVvvStYXnFVHMQ/MjCAEJ4cMYg==} dev: true - /@unocss/transformer-attributify-jsx-babel@0.58.4: - resolution: {integrity: sha512-yJd+OxAdgAxSQHVrqC6z19ibPqwwWO7J0TFf2caiP3hidSJ0iOvxcC0h62YCMr9dg4MsCpXaiHmGzxXbWGJ9nQ==} + /@unocss/transformer-attributify-jsx-babel@0.58.5: + resolution: {integrity: sha512-IAWSSKN3V0D87DE8bqaaPrZBWOdWQ06QNfi9vRuQJfRWOui87ezi9+NffjcnQw/ap9xMk1O6z74/WOW3zo6uYA==} dependencies: - '@babel/core': 7.23.7 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7) - '@babel/preset-typescript': 7.23.3(@babel/core@7.23.7) - '@unocss/core': 0.58.4 + '@babel/core': 7.23.9 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) + '@babel/preset-typescript': 7.23.3(@babel/core@7.23.9) + '@unocss/core': 0.58.5 transitivePeerDependencies: - supports-color dev: true - /@unocss/transformer-attributify-jsx@0.58.4: - resolution: {integrity: sha512-Y4YMVkgY/EF7x0llV8Y42WGs8b77hbXkPstRLNeRD5x8KBNKnjYUXADwhTBEKXjDR8/y5Ewie8u43i1nbh1XuA==} + /@unocss/transformer-attributify-jsx@0.58.5: + resolution: {integrity: sha512-sItEALyvAt3PZLd9Q1tlIATjaj3kWbS/qI3otUVsYBdZjP4UudzJ3D1fcWNL2WPlgz8KtlVzRUuxob8TQ4ibZg==} dependencies: - '@unocss/core': 0.58.4 + '@unocss/core': 0.58.5 dev: true - /@unocss/transformer-compile-class@0.58.4: - resolution: {integrity: sha512-GPz462ogvtb64W0iweuB0Dcm1snGsGte0RlVpFUeG2eWlVqKMRvNRtYuive2Ky2zSZKefWJQBGk3Ti+7CM4wFA==} + /@unocss/transformer-compile-class@0.58.5: + resolution: {integrity: sha512-4MaxjaZo1rf5uHvDGa2mbnXxAYVYoj1+oRNpL4fE3FoExS1Ka2CiNGQn/S4bHMF51vmXMSWtOzurJpPD4BaJUQ==} dependencies: - '@unocss/core': 0.58.4 + '@unocss/core': 0.58.5 dev: true - /@unocss/transformer-directives@0.58.4: - resolution: {integrity: sha512-5g2XVhwpmu2IrGHqPwxh+S3ZtkC/AwAtLIBLWB1QNhY3HVzAAaOzcif6uarngrCTTDQSDmsjzm8TSAq26LtCmQ==} + /@unocss/transformer-directives@0.58.5: + resolution: {integrity: sha512-allspF5TlT1B2bJSZ1houHScXOTaTPlatLiEmgQKzr/m93rCvktokaO5J6qeN2VXQdpTIsxdA5B8//7UkfTuIA==} dependencies: - '@unocss/core': 0.58.4 - '@unocss/rule-utils': 0.58.4 + '@unocss/core': 0.58.5 + '@unocss/rule-utils': 0.58.5 css-tree: 2.3.1 dev: true - /@unocss/transformer-variant-group@0.58.4: - resolution: {integrity: sha512-zpJ4TMor7aJ3SoLJm4jNBOSqikyXUdQEO1AxkILd9Zcn7JWRgudfFXiXnFP+WGJcs9mMLoUiISxzT8SKNCckfA==} + /@unocss/transformer-variant-group@0.58.5: + resolution: {integrity: sha512-SjUwGzKK5CVqn7Gg+3v3hV47ZUll7GcGu0vR3RCLO4gqEfFlZWMTHml1Sl2sY1WAca2iVcDRu+dp0RLxRG/dUA==} dependencies: - '@unocss/core': 0.58.4 + '@unocss/core': 0.58.5 dev: true - /@unocss/vite@0.58.4(vite@5.0.12): - resolution: {integrity: sha512-TqD5fIXv6NF3v10FFrCII//GRbkou6Dn/OzW+d4T5f0KM5+T6DutljpYUdGo0+2QXKDroUWLAspFUaZUx8iwVw==} + /@unocss/vite@0.58.5(vite@5.1.4): + resolution: {integrity: sha512-p4o1XNX1rvjmoUqSSdua8XyWNg/d+YUChDd2L/xEty+6j2qv0wUaohs3UQ87vWlv632/UmgdX+2MbrgtqthCtw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 dependencies: '@ampproject/remapping': 2.2.1 '@rollup/pluginutils': 5.1.0 - '@unocss/config': 0.58.4 - '@unocss/core': 0.58.4 - '@unocss/inspector': 0.58.4 - '@unocss/scope': 0.58.4 - '@unocss/transformer-directives': 0.58.4 + '@unocss/config': 0.58.5 + '@unocss/core': 0.58.5 + '@unocss/inspector': 0.58.5 + '@unocss/scope': 0.58.5 + '@unocss/transformer-directives': 0.58.5 chokidar: 3.5.3 fast-glob: 3.3.2 - magic-string: 0.30.5 - vite: 5.0.12(@types/node@20.10.8)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.0) + magic-string: 0.30.7 + vite: 5.1.4(@types/node@20.11.16)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.2) transitivePeerDependencies: - rollup dev: true - /@vitejs/plugin-legacy@5.3.0(esbuild@0.19.11)(terser@5.27.0)(vite@5.0.12): - resolution: {integrity: sha512-BhW+WcJmEgW5G/1UQRiVQ7wz9/ZPnxqzExT9n0zAk4RlqQQ/26udIeXzdU8+03AGnaF61wmZlCspexgEnxFWMA==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - terser: ^5.4.0 - vite: ^5.0.0 - dependencies: - '@babel/core': 7.23.7 - '@babel/preset-env': 7.23.9(@babel/core@7.23.7) - browserslist: 4.22.2 - core-js: 3.35.1 - esbuild-plugin-browserslist: 0.10.0(browserslist@4.22.2)(esbuild@0.19.11) - magic-string: 0.30.5 - regenerator-runtime: 0.14.1 - systemjs: 6.14.3 - terser: 5.27.0 - vite: 5.0.12(@types/node@20.10.8)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.0) - transitivePeerDependencies: - - esbuild - - supports-color - dev: true - - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.0.12)(vue@3.4.15): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.4)(vue@3.4.19): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3302,21 +3640,21 @@ packages: '@babel/core': 7.23.7 '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.7) '@vue/babel-plugin-jsx': 1.2.0(@babel/core@7.23.7) - vite: 5.0.12(@types/node@20.10.8)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.0) - vue: 3.4.15(typescript@5.2.2) + vite: 5.1.4(@types/node@20.11.16)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.2) + vue: 3.4.19(typescript@5.3.3) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@5.0.3(vite@5.0.12)(vue@3.4.15): - resolution: {integrity: sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==} + /@vitejs/plugin-vue@5.0.4(vite@5.1.4)(vue@3.4.19): + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.12(@types/node@20.10.8)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.0) - vue: 3.4.15(typescript@5.2.2) + vite: 5.1.4(@types/node@20.11.16)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.2) + vue: 3.4.19(typescript@5.3.3) dev: true /@volar/language-core@1.11.1: @@ -3376,48 +3714,48 @@ packages: '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/parser': 7.23.6 - '@vue/compiler-sfc': 3.4.15 + '@vue/compiler-sfc': 3.4.19 dev: true - /@vue/compiler-core@3.4.15: - resolution: {integrity: sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==} + /@vue/compiler-core@3.4.19: + resolution: {integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==} dependencies: - '@babel/parser': 7.23.6 - '@vue/shared': 3.4.15 + '@babel/parser': 7.23.9 + '@vue/shared': 3.4.19 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 - /@vue/compiler-dom@3.4.15: - resolution: {integrity: sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==} + /@vue/compiler-dom@3.4.19: + resolution: {integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==} dependencies: - '@vue/compiler-core': 3.4.15 - '@vue/shared': 3.4.15 + '@vue/compiler-core': 3.4.19 + '@vue/shared': 3.4.19 - /@vue/compiler-sfc@3.4.15: - resolution: {integrity: sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==} + /@vue/compiler-sfc@3.4.19: + resolution: {integrity: sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==} dependencies: - '@babel/parser': 7.23.6 - '@vue/compiler-core': 3.4.15 - '@vue/compiler-dom': 3.4.15 - '@vue/compiler-ssr': 3.4.15 - '@vue/shared': 3.4.15 + '@babel/parser': 7.23.9 + '@vue/compiler-core': 3.4.19 + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 estree-walker: 2.0.2 - magic-string: 0.30.5 - postcss: 8.4.33 + magic-string: 0.30.7 + postcss: 8.4.35 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.4.15: - resolution: {integrity: sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==} + /@vue/compiler-ssr@3.4.19: + resolution: {integrity: sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==} dependencies: - '@vue/compiler-dom': 3.4.15 - '@vue/shared': 3.4.15 + '@vue/compiler-dom': 3.4.19 + '@vue/shared': 3.4.19 /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} dev: false - /@vue/language-core@1.8.27(typescript@5.2.2): + /@vue/language-core@1.8.27(typescript@5.3.3): resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} peerDependencies: typescript: '*' @@ -3427,70 +3765,70 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.15 - '@vue/shared': 3.4.15 + '@vue/compiler-dom': 3.4.19 + '@vue/shared': 3.4.19 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 path-browserify: 1.0.1 - typescript: 5.2.2 + typescript: 5.3.3 vue-template-compiler: 2.7.16 dev: true - /@vue/reactivity@3.4.15: - resolution: {integrity: sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==} + /@vue/reactivity@3.4.19: + resolution: {integrity: sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==} dependencies: - '@vue/shared': 3.4.15 + '@vue/shared': 3.4.19 - /@vue/runtime-core@3.4.15: - resolution: {integrity: sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==} + /@vue/runtime-core@3.4.19: + resolution: {integrity: sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==} dependencies: - '@vue/reactivity': 3.4.15 - '@vue/shared': 3.4.15 + '@vue/reactivity': 3.4.19 + '@vue/shared': 3.4.19 - /@vue/runtime-dom@3.4.15: - resolution: {integrity: sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==} + /@vue/runtime-dom@3.4.19: + resolution: {integrity: sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==} dependencies: - '@vue/runtime-core': 3.4.15 - '@vue/shared': 3.4.15 + '@vue/runtime-core': 3.4.19 + '@vue/shared': 3.4.19 csstype: 3.1.3 - /@vue/server-renderer@3.4.15(vue@3.4.15): - resolution: {integrity: sha512-3HYzaidu9cHjrT+qGUuDhFYvF/j643bHC6uUN9BgM11DVy+pM6ATsG6uPBLnkwOgs7BpJABReLmpL3ZPAsUaqw==} + /@vue/server-renderer@3.4.19(vue@3.4.19): + resolution: {integrity: sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==} peerDependencies: - vue: 3.4.15 + vue: 3.4.19 dependencies: - '@vue/compiler-ssr': 3.4.15 - '@vue/shared': 3.4.15 - vue: 3.4.15(typescript@5.2.2) + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 + vue: 3.4.19(typescript@5.3.3) - /@vue/shared@3.4.15: - resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==} + /@vue/shared@3.4.19: + resolution: {integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==} /@vue/tsconfig@0.5.1: resolution: {integrity: sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==} dev: true - /@vueuse/core@10.7.2(vue@3.4.15): - resolution: {integrity: sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==} + /@vueuse/core@10.8.0(vue@3.4.19): + resolution: {integrity: sha512-G9Ok9fjx10TkNIPn8V1dJmK1NcdJCtYmDRyYiTMUyJ1p0Tywc1zmOoCQ2xhHYyz8ULBU4KjIJQ9n+Lrty74iVw==} dependencies: '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.7.2 - '@vueuse/shared': 10.7.2(vue@3.4.15) - vue-demi: 0.14.6(vue@3.4.15) + '@vueuse/metadata': 10.8.0 + '@vueuse/shared': 10.8.0(vue@3.4.19) + vue-demi: 0.14.7(vue@3.4.19) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/metadata@10.7.2: - resolution: {integrity: sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==} + /@vueuse/metadata@10.8.0: + resolution: {integrity: sha512-Nim/Vle5OgXcXhAvGOgkJQXB1Yb+Kq/fMbLuv3YYDYbiQrwr39ljuD4k9fPeq4yUyokYRo2RaNQmbbIMWB/9+w==} dev: false - /@vueuse/shared@10.7.2(vue@3.4.15): - resolution: {integrity: sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==} + /@vueuse/shared@10.8.0(vue@3.4.19): + resolution: {integrity: sha512-dUdy6zwHhULGxmr9YUg8e+EnB39gcM4Fe2oKBSrh3cOsV30JcMPtsyuspgFCUo5xxFNaeMf/W2yyKfST7Bg8oQ==} dependencies: - vue-demi: 0.14.6(vue@3.4.15) + vue-demi: 0.14.7(vue@3.4.19) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -3623,14 +3961,14 @@ packages: engines: {node: '>=12'} dev: true - /ant-design-vue@4.1.2(vue@3.4.15): + /ant-design-vue@4.1.2(vue@3.4.19): resolution: {integrity: sha512-ynFkDJLlHgumeK6Hr1UZ7PvQNZ1uBcri/pmejBdS3kRqHeA5VRsxneYDwa8YxA+uYB5YfT2jpYsSHsiMiCjRGg==} engines: {node: '>=12.22.0'} peerDependencies: vue: '>=3.2.0' dependencies: '@ant-design/colors': 6.0.0 - '@ant-design/icons-vue': 7.0.1(vue@3.4.15) + '@ant-design/icons-vue': 7.0.1(vue@3.4.19) '@babel/runtime': 7.23.8 '@ctrl/tinycolor': 3.6.1 '@emotion/hash': 0.9.1 @@ -3649,8 +3987,8 @@ packages: shallow-equal: 1.2.1 stylis: 4.3.1 throttle-debounce: 5.0.0 - vue: 3.4.15(typescript@5.2.2) - vue-types: 3.0.2(vue@3.4.15) + vue: 3.4.19(typescript@5.3.3) + vue-types: 3.0.2(vue@3.4.19) warning: 4.0.3 dev: false @@ -3701,11 +4039,6 @@ packages: is-array-buffer: 3.0.2 dev: true - /array-differ@3.0.0: - resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} - engines: {node: '>=8'} - dev: true - /array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} dev: true @@ -3794,11 +4127,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /arrify@2.0.1: - resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} - engines: {node: '>=8'} - dev: true - /asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} dev: true @@ -3825,7 +4153,6 @@ packages: /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: false /at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} @@ -3856,15 +4183,14 @@ packages: engines: {node: '>= 0.4'} dev: true - /axios@1.6.7: + /axios@1.6.7(debug@4.3.4): resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} dependencies: - follow-redirects: 1.15.5 + follow-redirects: 1.15.5(debug@4.3.4) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - dev: false /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.23.7): resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} @@ -3930,6 +4256,10 @@ packages: pascalcase: 0.1.1 dev: true + /before-after-hook@2.2.3: + resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} + dev: true + /big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} dev: true @@ -4001,6 +4331,17 @@ packages: update-browserslist-db: 1.0.13(browserslist@4.22.2) dev: true + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001588 + electron-to-chromium: 1.4.679 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: true + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true @@ -4085,6 +4426,10 @@ packages: resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==} dev: true + /caniuse-lite@1.0.30001588: + resolution: {integrity: sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==} + dev: true + /cfb@1.2.2: resolution: {integrity: sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==} engines: {node: '>=0.8'} @@ -4204,6 +4549,10 @@ packages: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} + /cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + /cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -4273,7 +4622,6 @@ packages: engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 - dev: false /commander@11.1.0: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} @@ -4304,13 +4652,13 @@ packages: engines: {node: '>= 12'} dev: true - /commitizen@4.3.0(@types/node@20.10.8)(typescript@5.2.2): + /commitizen@4.3.0(@types/node@20.11.16)(typescript@5.3.3): resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} engines: {node: '>= 12'} hasBin: true dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@20.10.8)(typescript@5.2.2) + cz-conventional-changelog: 3.3.0(@types/node@20.11.16)(typescript@5.3.3) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -4511,7 +4859,7 @@ packages: /core-js-compat@3.35.1: resolution: {integrity: sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==} dependencies: - browserslist: 4.22.2 + browserslist: 4.23.0 dev: true /core-js@2.6.12: @@ -4520,8 +4868,8 @@ packages: requiresBuild: true dev: false - /core-js@3.35.1: - resolution: {integrity: sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==} + /core-js@3.36.0: + resolution: {integrity: sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==} requiresBuild: true /cors@2.8.5: @@ -4532,18 +4880,19 @@ packages: vary: 1.1.2 dev: true - /cosmiconfig-typescript-loader@5.0.0(@types/node@20.10.8)(cosmiconfig@8.3.6)(typescript@5.2.2): + /cosmiconfig-typescript-loader@5.0.0(@types/node@20.11.16)(cosmiconfig@8.3.6)(typescript@5.3.3): resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} engines: {node: '>=v16'} + requiresBuild: true peerDependencies: '@types/node': '*' cosmiconfig: '>=8.2' typescript: '>=4' dependencies: - '@types/node': 20.10.8 - cosmiconfig: 8.3.6(typescript@5.2.2) + '@types/node': 20.11.16 + cosmiconfig: 8.3.6(typescript@5.3.3) jiti: 1.21.0 - typescript: 5.2.2 + typescript: 5.3.3 dev: true /cosmiconfig@7.1.0: @@ -4557,9 +4906,10 @@ packages: yaml: 1.10.2 dev: true - /cosmiconfig@8.3.6(typescript@5.2.2): + /cosmiconfig@8.3.6(typescript@5.3.3): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} + requiresBuild: true peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: @@ -4570,10 +4920,10 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 5.2.2 + typescript: 5.3.3 dev: true - /cosmiconfig@9.0.0(typescript@5.2.2): + /cosmiconfig@9.0.0(typescript@5.3.3): resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: @@ -4586,7 +4936,7 @@ packages: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - typescript: 5.2.2 + typescript: 5.3.3 dev: true /crc-32@1.2.2: @@ -4672,18 +5022,18 @@ packages: /csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - /cz-conventional-changelog@3.3.0(@types/node@20.10.8)(typescript@5.2.2): + /cz-conventional-changelog@3.3.0(@types/node@20.11.16)(typescript@5.3.3): resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@types/node@20.10.8)(typescript@5.2.2) + commitizen: 4.3.0(@types/node@20.11.16)(typescript@5.3.3) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 18.6.0(@types/node@20.10.8)(typescript@5.2.2) + '@commitlint/load': 18.6.0(@types/node@20.11.16)(typescript@5.3.3) transitivePeerDependencies: - '@types/node' - typescript @@ -4745,7 +5095,6 @@ packages: optional: true dependencies: ms: 2.1.2 - dev: true /decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} @@ -4824,7 +5173,10 @@ packages: /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - dev: false + + /deprecation@2.3.1: + resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} + dev: true /destr@2.0.2: resolution: {integrity: sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==} @@ -4974,17 +5326,21 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true - /echarts@5.4.3: - resolution: {integrity: sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==} + /echarts@5.5.0: + resolution: {integrity: sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==} dependencies: tslib: 2.3.0 - zrender: 5.4.4 + zrender: 5.5.0 dev: false /electron-to-chromium@1.4.640: resolution: {integrity: sha512-z/6oZ/Muqk4BaE7P69bXhUhpJbUM9ZJeka43ZwxsDshKtePns4mhBlh8bU5+yrnOnz3fhG82XLzGUXazOmsWnA==} dev: true + /electron-to-chromium@1.4.679: + resolution: {integrity: sha512-NhQMsz5k0d6m9z3qAxnsOR/ebal4NAGsrNVRwcDo4Kc/zQ7KdsTKZUxZoygHcVRb0QDW3waEDIcE3isZ79RP6g==} + dev: true + /emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} dev: true @@ -5173,21 +5529,6 @@ packages: es6-symbol: 3.1.3 dev: true - /esbuild-plugin-browserslist@0.10.0(browserslist@4.22.2)(esbuild@0.19.11): - resolution: {integrity: sha512-rZWFcp3l+73xDiJB+Vl9UqP1VVs+L4E0lygbwJl6UTmW2qQago7DLT56hBu0vocH/TtZsAcRHj0+qHqkkB5Gww==} - engines: {node: '>=18'} - peerDependencies: - browserslist: ^4.21.8 - esbuild: ~0.19.2 - dependencies: - browserslist: 4.22.2 - debug: 4.3.4 - esbuild: 0.19.11 - zod: 3.22.4 - transitivePeerDependencies: - - supports-color - dev: true - /esbuild@0.19.11: resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} engines: {node: '>=12'} @@ -5287,7 +5628,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.0.2)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -5308,7 +5649,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.0.2(eslint@8.56.0)(typescript@5.3.3) debug: 3.2.7 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 @@ -5326,7 +5667,7 @@ packages: eslint-rule-composer: 0.3.0 dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.20.0)(eslint@8.56.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.0.2)(eslint@8.56.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -5336,7 +5677,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.0.2(eslint@8.56.0)(typescript@5.3.3) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -5345,7 +5686,7 @@ packages: doctrine: 2.1.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.0.2)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -5379,7 +5720,7 @@ packages: - typescript dev: true - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.4): + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.5): resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -5395,7 +5736,7 @@ packages: dependencies: eslint: 8.56.0 eslint-config-prettier: 9.1.0(eslint@8.56.0) - prettier: 3.2.4 + prettier: 3.2.5 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 dev: true @@ -5515,8 +5856,8 @@ packages: peerDependencies: eslint: '>=7.0.0' dependencies: - '@babel/core': 7.23.7 - '@babel/eslint-parser': 7.23.3(@babel/core@7.23.7)(eslint@7.32.0) + '@babel/core': 7.23.9 + '@babel/eslint-parser': 7.23.3(@babel/core@7.23.9)(eslint@7.32.0) eslint: 7.32.0 eslint-visitor-keys: 2.1.0 esquery: 1.5.0 @@ -5997,7 +6338,7 @@ packages: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true - /follow-redirects@1.15.5: + /follow-redirects@1.15.5(debug@4.3.4): resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} engines: {node: '>=4.0'} peerDependencies: @@ -6005,7 +6346,8 @@ packages: peerDependenciesMeta: debug: optional: true - dev: false + dependencies: + debug: 4.3.4 /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -6033,7 +6375,6 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: false /frac@1.1.2: resolution: {integrity: sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==} @@ -6536,8 +6877,8 @@ packages: engines: {node: '>=16.17.0'} dev: true - /husky@9.0.7: - resolution: {integrity: sha512-vWdusw+y12DUEeoZqW1kplOFqk3tedGV8qlga8/SF6a3lOiWLqGZZQvfWvY0fQYdfiRi/u1DFNpudTSV9l1aCg==} + /husky@9.0.10: + resolution: {integrity: sha512-TQGNknoiy6bURzIO77pPRu+XHi6zI7T93rX+QnJsoYFf3xdjKOur+IlfqzJGMHIK/wXrLg+GsvMs8Op7vI2jVA==} engines: {node: '>=18'} hasBin: true dev: true @@ -6658,6 +6999,7 @@ packages: strip-ansi: 6.0.1 through: 2.3.8 wrap-ansi: 6.2.0 + dev: false /internal-slot@1.0.6: resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} @@ -7367,8 +7709,8 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /lint-staged@15.2.1: - resolution: {integrity: sha512-dhwAPnM85VdshybV9FWI/9ghTvMLoQLEXgVMx+ua2DN7mdfzd/tRfoU2yhMcBac0RHkofoxdnnJUokr8s4zKmQ==} + /lint-staged@15.2.2: + resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} engines: {node: '>=18.12.0'} hasBin: true dependencies: @@ -7468,6 +7810,7 @@ packages: /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + requiresBuild: true dev: true /lodash.kebabcase@4.1.1: @@ -7484,6 +7827,7 @@ packages: /lodash.mergewith@4.6.2: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + requiresBuild: true dev: true /lodash.snakecase@4.1.1: @@ -7504,6 +7848,7 @@ packages: /lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + requiresBuild: true dev: true /lodash.upperfirst@4.3.1: @@ -7579,6 +7924,13 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 /make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} @@ -7790,14 +8142,12 @@ packages: /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - dev: false /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - dev: false /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} @@ -7908,13 +8258,12 @@ packages: /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /msw@2.1.5(typescript@5.2.2): + /msw@2.1.5(typescript@5.3.3): resolution: {integrity: sha512-r39AZk4taMmUEYwtzDAgFy38feqJy1yaKykvo0QE8q7H7c28yH/WIlOmE7oatjkC3dMgpTYfND8MaxeywgU+Yg==} engines: {node: '>=18'} hasBin: true @@ -7928,7 +8277,7 @@ packages: '@bundled-es-modules/cookie': 2.0.0 '@bundled-es-modules/statuses': 1.0.1 '@mswjs/cookies': 1.1.0 - '@mswjs/interceptors': 0.25.15 + '@mswjs/interceptors': 0.25.16 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 '@types/statuses': 2.0.4 @@ -7942,7 +8291,38 @@ packages: path-to-regexp: 6.2.1 strict-event-emitter: 0.5.1 type-fest: 4.9.0 - typescript: 5.2.2 + typescript: 5.3.3 + yargs: 17.7.2 + dev: false + + /msw@2.2.1(typescript@5.3.3): + resolution: {integrity: sha512-DCsZAQwan+2onEcpD86fiEnCKW4IvYzqcwDq/2TIoeNrmBqNp/mJW4wHQyxcoYrRPwgujin7wDFflqiSO1iT/w==} + engines: {node: '>=18'} + hasBin: true + requiresBuild: true + peerDependencies: + typescript: '>= 4.7.x <= 5.3.x' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@bundled-es-modules/cookie': 2.0.0 + '@bundled-es-modules/statuses': 1.0.1 + '@inquirer/confirm': 3.0.0 + '@mswjs/cookies': 1.1.0 + '@mswjs/interceptors': 0.25.16 + '@open-draft/until': 2.1.0 + '@types/cookie': 0.6.0 + '@types/statuses': 2.0.4 + chalk: 4.1.2 + graphql: 16.8.1 + headers-polyfill: 4.0.2 + is-node-process: 1.2.0 + outvariant: 1.4.2 + path-to-regexp: 6.2.1 + strict-event-emitter: 0.5.1 + type-fest: 4.9.0 + typescript: 5.3.3 yargs: 17.7.2 /muggle-string@0.3.1: @@ -7953,20 +8333,13 @@ packages: resolution: {integrity: sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==} dev: true - /multimatch@5.0.0: - resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==} - engines: {node: '>=10'} - dependencies: - '@types/minimatch': 3.0.5 - array-differ: 3.0.0 - array-union: 2.1.0 - arrify: 2.0.1 - minimatch: 3.1.2 - dev: true - /mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + /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} + /mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: @@ -8537,6 +8910,11 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + /picomatch@3.0.1: + resolution: {integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==} + engines: {node: '>=10'} + dev: true + /pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} @@ -8550,7 +8928,7 @@ packages: dev: true optional: true - /pinia@2.1.7(typescript@5.2.2)(vue@3.4.15): + /pinia@2.1.7(typescript@5.3.3)(vue@3.4.19): resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} peerDependencies: '@vue/composition-api': ^1.4.0 @@ -8563,9 +8941,9 @@ packages: optional: true dependencies: '@vue/devtools-api': 6.5.1 - typescript: 5.2.2 - vue: 3.4.15(typescript@5.2.2) - vue-demi: 0.14.6(vue@3.4.15) + typescript: 5.3.3 + vue: 3.4.19(typescript@5.3.3) + vue-demi: 0.14.6(vue@3.4.19) dev: false /pirates@4.0.6: @@ -8606,7 +8984,7 @@ packages: dependencies: htmlparser2: 3.10.1 postcss: 7.0.39 - postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.33) + postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.34) dev: true /postcss-html@1.6.0: @@ -8615,8 +8993,8 @@ packages: dependencies: htmlparser2: 8.0.2 js-tokens: 8.0.2 - postcss: 8.4.33 - postcss-safe-parser: 6.0.0(postcss@8.4.33) + postcss: 8.4.34 + postcss-safe-parser: 6.0.0(postcss@8.4.34) dev: true /postcss-less@3.1.4: @@ -8630,19 +9008,19 @@ packages: resolution: {integrity: sha512-C92S4sHlbDpefJ2QQJjrucCcypq3+KZPstjfuvgOCNnGx0tF9h8hXgAlOIATGAxMXZXaF+nVp+/Mi8pCAWdSmw==} engines: {node: '>=10'} dependencies: - postcss: 8.4.33 + postcss: 8.4.35 dev: true - /postcss-less@6.0.0(postcss@8.4.33): + /postcss-less@6.0.0(postcss@8.4.34): resolution: {integrity: sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==} engines: {node: '>=12'} peerDependencies: postcss: ^8.3.5 || 5 dependencies: - postcss: 8.4.33 + postcss: 8.4.34 dev: true - /postcss-load-config@4.0.2(postcss@8.4.33)(ts-node@10.9.2): + /postcss-load-config@4.0.2(postcss@8.4.34)(ts-node@10.9.2): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -8655,8 +9033,8 @@ packages: optional: true dependencies: lilconfig: 3.0.0 - postcss: 8.4.33 - ts-node: 10.9.2(@types/node@20.10.8)(typescript@5.2.2) + postcss: 8.4.34 + ts-node: 10.9.2(@types/node@20.11.16)(typescript@5.3.3) yaml: 2.3.4 dev: true @@ -8683,22 +9061,22 @@ packages: postcss: 7.0.39 dev: true - /postcss-safe-parser@6.0.0(postcss@8.4.33): + /postcss-safe-parser@6.0.0(postcss@8.4.34): resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.3.3 || 5 dependencies: - postcss: 8.4.33 + postcss: 8.4.34 dev: true - /postcss-safe-parser@7.0.0(postcss@8.4.33): + /postcss-safe-parser@7.0.0(postcss@8.4.34): resolution: {integrity: sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==} engines: {node: '>=18.0'} peerDependencies: postcss: ^8.4.31 || 5 dependencies: - postcss: 8.4.33 + postcss: 8.4.34 dev: true /postcss-sass@0.4.4: @@ -8723,24 +9101,24 @@ packages: util-deprecate: 1.0.2 dev: true - /postcss-sorting@6.0.0(postcss@8.4.33): + /postcss-sorting@6.0.0(postcss@8.4.35): resolution: {integrity: sha512-bYJ0vgAiGbjCBKi7B07CzsBc9eM84nLEbavUmwNp8rAa+PNyrgdH+6PpnqTtciLuUs99c4rFQQmCaYgeBQYmSQ==} peerDependencies: postcss: ^8.0.4 || 5 dependencies: lodash: 4.17.21 - postcss: 8.4.33 + postcss: 8.4.35 dev: true - /postcss-sorting@8.0.2(postcss@8.4.33): + /postcss-sorting@8.0.2(postcss@8.4.34): resolution: {integrity: sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==} peerDependencies: postcss: ^8.4.20 || 5 dependencies: - postcss: 8.4.33 + postcss: 8.4.34 dev: true - /postcss-syntax@0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.33): + /postcss-syntax@0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.34): resolution: {integrity: sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==} peerDependencies: postcss: '>=5.0.0 || 5' @@ -8761,9 +9139,9 @@ packages: postcss-scss: optional: true dependencies: - postcss: 8.4.33 + postcss: 8.4.34 postcss-html: 1.6.0 - postcss-less: 6.0.0(postcss@8.4.33) + postcss-less: 6.0.0(postcss@8.4.34) dev: true /postcss-value-parser@4.2.0: @@ -8788,8 +9166,17 @@ packages: source-map: 0.6.1 dev: true - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + /postcss@8.4.34: + resolution: {integrity: sha512-4eLTO36woPSocqZ1zIrFD2K1v6wH7pY1uBh0JIM2KKfrVtGvPFiAku6aNOP0W1Wr9qwnaCsF0Z+CrVnryB2A8Q==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -8860,9 +9247,9 @@ packages: peerDependencies: prettier: '>= 2.0.0' dependencies: - postcss: 8.4.33 + postcss: 8.4.35 postcss-less: 4.0.1 - postcss-sorting: 6.0.0(postcss@8.4.33) + postcss-sorting: 6.0.0(postcss@8.4.35) prettier: 2.8.8 dev: true @@ -8872,26 +9259,27 @@ packages: hasBin: true dev: true - /prettier@3.2.4: - resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} hasBin: true dev: true - /pretty-quick@3.1.4(prettier@3.2.4): - resolution: {integrity: sha512-/sx+sUrD52omQQII19m7Zw4gZevQTbA73HDMqzFoBIAf6pCL4kVxSk3O9IRN9Ud/wt/Q068/WOdgiBJeMI7EbQ==} - engines: {node: '>=10.13'} + /pretty-quick@4.0.0(prettier@3.2.5): + resolution: {integrity: sha512-M+2MmeufXb/M7Xw3Afh1gxcYpj+sK0AxEfnfF958ktFeAyi5MsKY5brymVURQLgPLV1QaF5P4pb2oFJ54H3yzQ==} + engines: {node: '>=14'} hasBin: true peerDependencies: - prettier: ^2.0.0 + prettier: ^3.0.0 dependencies: - chalk: 4.1.2 - execa: 4.1.0 - find-up: 4.1.0 + execa: 5.1.1 + find-up: 5.0.0 ignore: 5.3.0 mri: 1.2.0 - multimatch: 5.0.0 - prettier: 3.2.4 + picocolors: 1.0.0 + picomatch: 3.0.1 + prettier: 3.2.5 + tslib: 2.6.2 dev: true /progress@2.0.3: @@ -8909,7 +9297,6 @@ packages: /proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: false /prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} @@ -9287,6 +9674,10 @@ packages: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} + /run-async@3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -9461,7 +9852,6 @@ packages: /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - dev: true /sirv@2.0.4: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} @@ -9822,7 +10212,7 @@ packages: stylelint: 13.13.1 dev: true - /stylelint-config-html@1.1.0(postcss-html@1.6.0)(stylelint@16.2.0): + /stylelint-config-html@1.1.0(postcss-html@1.6.0)(stylelint@16.2.1): resolution: {integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==} engines: {node: ^12 || >=14} peerDependencies: @@ -9830,7 +10220,7 @@ packages: stylelint: '>=14.0.0' dependencies: postcss-html: 1.6.0 - stylelint: 16.2.0(typescript@5.2.2) + stylelint: 16.2.1(typescript@5.3.3) dev: true /stylelint-config-prettier@8.0.2(stylelint@13.13.1): @@ -9843,18 +10233,18 @@ packages: stylelint: 13.13.1 dev: true - /stylelint-config-property-sort-order-smacss@10.0.0(stylelint@16.2.0): + /stylelint-config-property-sort-order-smacss@10.0.0(stylelint@16.2.1): resolution: {integrity: sha512-NuiTgyqD8UdYY1IpTBIodBbrWKwaib5r8sq5kGHQ52UrmT8O7Fa8ZWYGipSZw6k9tGoljl9Hng2jtH+wBTMa1Q==} engines: {node: '>=18.12.0'} peerDependencies: stylelint: ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: css-property-sort-order-smacss: 2.2.0 - stylelint: 16.2.0(typescript@5.2.2) - stylelint-order: 6.0.4(stylelint@16.2.0) + stylelint: 16.2.1(typescript@5.3.3) + stylelint-order: 6.0.4(stylelint@16.2.1) dev: true - /stylelint-config-recommended-vue@1.5.0(postcss-html@1.6.0)(stylelint@16.2.0): + /stylelint-config-recommended-vue@1.5.0(postcss-html@1.6.0)(stylelint@16.2.1): resolution: {integrity: sha512-65TAK/clUqkNtkZLcuytoxU0URQYlml+30Nhop7sRkCZ/mtWdXt7T+spPSB3KMKlb+82aEVJ4OrcstyDBdbosg==} engines: {node: ^12 || >=14} peerDependencies: @@ -9863,18 +10253,18 @@ packages: dependencies: postcss-html: 1.6.0 semver: 7.5.4 - stylelint: 16.2.0(typescript@5.2.2) - stylelint-config-html: 1.1.0(postcss-html@1.6.0)(stylelint@16.2.0) - stylelint-config-recommended: 14.0.0(stylelint@16.2.0) + stylelint: 16.2.1(typescript@5.3.3) + stylelint-config-html: 1.1.0(postcss-html@1.6.0)(stylelint@16.2.1) + stylelint-config-recommended: 14.0.0(stylelint@16.2.1) dev: true - /stylelint-config-recommended@14.0.0(stylelint@16.2.0): + /stylelint-config-recommended@14.0.0(stylelint@16.2.1): resolution: {integrity: sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ==} engines: {node: '>=18.12.0'} peerDependencies: stylelint: ^16.0.0 dependencies: - stylelint: 16.2.0(typescript@5.2.2) + stylelint: 16.2.1(typescript@5.3.3) dev: true /stylelint-config-recommended@3.0.0(stylelint@13.13.1): @@ -9894,14 +10284,14 @@ packages: stylelint-config-recommended: 3.0.0(stylelint@13.13.1) dev: true - /stylelint-config-standard@36.0.0(stylelint@16.2.0): + /stylelint-config-standard@36.0.0(stylelint@16.2.1): resolution: {integrity: sha512-3Kjyq4d62bYFp/Aq8PMKDwlgUyPU4nacXsjDLWJdNPRUgpuxALu1KnlAHIj36cdtxViVhXexZij65yM0uNIHug==} engines: {node: '>=18.12.0'} peerDependencies: stylelint: ^16.1.0 dependencies: - stylelint: 16.2.0(typescript@5.2.2) - stylelint-config-recommended: 14.0.0(stylelint@16.2.0) + stylelint: 16.2.1(typescript@5.3.3) + stylelint-config-recommended: 14.0.0(stylelint@16.2.1) dev: true /stylelint-declaration-block-no-ignored-properties@2.8.0(stylelint@13.13.1): @@ -9913,26 +10303,26 @@ packages: stylelint: 13.13.1 dev: true - /stylelint-order@6.0.4(stylelint@16.2.0): + /stylelint-order@6.0.4(stylelint@16.2.1): resolution: {integrity: sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==} peerDependencies: stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1 dependencies: - postcss: 8.4.33 - postcss-sorting: 8.0.2(postcss@8.4.33) - stylelint: 16.2.0(typescript@5.2.2) + postcss: 8.4.34 + postcss-sorting: 8.0.2(postcss@8.4.34) + stylelint: 16.2.1(typescript@5.3.3) dev: true - /stylelint-prettier@5.0.0(prettier@3.2.4)(stylelint@16.2.0): + /stylelint-prettier@5.0.0(prettier@3.2.5)(stylelint@16.2.1): resolution: {integrity: sha512-RHfSlRJIsaVg5Br94gZVdWlz/rBTyQzZflNE6dXvSxt/GthWMY3gEHsWZEBaVGg7GM+XrtVSp4RznFlB7i0oyw==} engines: {node: '>=18.12.0'} peerDependencies: prettier: '>=3.0.0' stylelint: '>=16.0.0' dependencies: - prettier: 3.2.4 + prettier: 3.2.5 prettier-linter-helpers: 1.0.0 - stylelint: 16.2.0(typescript@5.2.2) + stylelint: 16.2.1(typescript@5.3.3) dev: true /stylelint@13.13.1: @@ -9975,7 +10365,7 @@ packages: postcss-sass: 0.4.4 postcss-scss: 2.1.1 postcss-selector-parser: 6.0.15 - postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.33) + postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.34) postcss-value-parser: 4.2.0 resolve-from: 5.0.0 slash: 3.0.0 @@ -9994,8 +10384,8 @@ packages: - supports-color dev: true - /stylelint@16.2.0(typescript@5.2.2): - resolution: {integrity: sha512-gwqU5AkIb52wrAzzn+359S3NIJDMl02TXLUaV2tzA/L6jUdpTwNt+MCxHlc8+Hb2bUHlYVo92YeSIryF2gJthA==} + /stylelint@16.2.1(typescript@5.3.3): + resolution: {integrity: sha512-SfIMGFK+4n7XVAyv50CpVfcGYWG4v41y6xG7PqOgQSY8M/PgdK0SQbjWFblxjJZlN9jNq879mB4BCZHJRIJ1hA==} engines: {node: '>=18.12.0'} hasBin: true dependencies: @@ -10005,7 +10395,7 @@ packages: '@csstools/selector-specificity': 3.0.1(postcss-selector-parser@6.0.15) balanced-match: 2.0.0 colord: 2.9.3 - cosmiconfig: 9.0.0(typescript@5.2.2) + cosmiconfig: 9.0.0(typescript@5.3.3) css-functions-list: 3.2.1 css-tree: 2.3.1 debug: 4.3.4 @@ -10025,9 +10415,9 @@ packages: micromatch: 4.0.5 normalize-path: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.33 + postcss: 8.4.34 postcss-resolve-nested-selector: 0.1.1 - postcss-safe-parser: 7.0.0(postcss@8.4.33) + postcss-safe-parser: 7.0.0(postcss@8.4.34) postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 resolve-from: 5.0.0 @@ -10177,10 +10567,6 @@ packages: tslib: 2.6.2 dev: true - /systemjs@6.14.3: - resolution: {integrity: sha512-hQv45irdhXudAOr8r6SVSpJSGtogdGZUbJBRKCE5nsIS7tsxxvnIHqT4IOPWj+P+HcSzeWzHlGCGpmhPDIKe+w==} - dev: true - /table@6.8.1: resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} engines: {node: '>=10.0.0'} @@ -10204,8 +10590,8 @@ packages: temp-dir: 3.0.0 dev: true - /terser@5.27.0: - resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} + /terser@5.27.2: + resolution: {integrity: sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w==} engines: {node: '>=10'} hasBin: true dependencies: @@ -10266,8 +10652,8 @@ packages: resolution: {integrity: sha512-uHNGu4evFt/8eNLldazeAM1M8JrMc1jshhJJfVRARTN3yT8HEEibofeQ7QETWQ5ISBjd6fKtTVBCC/+mGS6FpA==} dev: true - /tinymce@6.8.2: - resolution: {integrity: sha512-Lho79o2Y1Yn+XdlTEkHTEkEmzwYWTXz7IUsvPwxJF3VTtgHUIAAuBab29kik+f2KED3rZvQavr9D7sHVMJ9x4A==} + /tinymce@6.8.3: + resolution: {integrity: sha512-3fCHKAeqT+xNwBVESf6iDbDV0VNwZNmfrkx9c/6Gz5iB8piMfaO6s7FvoiTrj1hf1gVbfyLTnz1DooI6DhgINQ==} dev: false /tmp@0.0.33: @@ -10345,20 +10731,20 @@ packages: resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} dev: true - /ts-api-utils@1.0.3(typescript@5.2.2): + /ts-api-utils@1.0.3(typescript@5.3.3): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.2.2 + typescript: 5.3.3 dev: true /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /ts-node@10.9.2(@types/node@20.10.8)(typescript@5.2.2): + /ts-node@10.9.2(@types/node@20.11.16)(typescript@5.3.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -10377,14 +10763,14 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.10.8 + '@types/node': 20.11.16 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.2.2 + typescript: 5.3.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -10409,8 +10795,8 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - /tsup@8.0.1(postcss@8.4.33)(ts-node@10.9.2)(typescript@5.2.2): - resolution: {integrity: sha512-hvW7gUSG96j53ZTSlT4j/KL0q1Q2l6TqGBFc6/mu/L46IoNWqLLUzLRLP1R8Q7xrJTmkDxxDoojV5uCVs1sVOg==} + /tsup@8.0.2(postcss@8.4.34)(ts-node@10.9.2)(typescript@5.3.3): + resolution: {integrity: sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -10436,14 +10822,14 @@ packages: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss: 8.4.33 - postcss-load-config: 4.0.2(postcss@8.4.33)(ts-node@10.9.2) + postcss: 8.4.34 + postcss-load-config: 4.0.2(postcss@8.4.34)(ts-node@10.9.2) resolve-from: 5.0.0 rollup: 4.9.6 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 - typescript: 5.2.2 + typescript: 5.3.3 transitivePeerDependencies: - supports-color - ts-node @@ -10557,8 +10943,8 @@ packages: hasBin: true dev: true - /typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} engines: {node: '>=14.17'} hasBin: true @@ -10594,7 +10980,6 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} @@ -10657,16 +11042,20 @@ packages: '@types/unist': 2.0.10 dev: true + /universal-user-agent@6.0.1: + resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} + dev: true + /universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} dev: true - /unocss@0.58.4(postcss@8.4.33)(vite@5.0.12): - resolution: {integrity: sha512-JYeQddAIObJPr6nuxahOgku0MIzjIaQ2P73KtJr0zSuzx6kiq20jf67FgDIOP1Ks6s7iJd7Ga3yuY2h49XjDjg==} + /unocss@0.58.5(postcss@8.4.34)(vite@5.1.4): + resolution: {integrity: sha512-0g4P6jLgRRNnhscxw7nQ9RHGrKJ1UPPiHPet+YT3TXUcmy4mTiYgo9+kGQf5bjyrzsELJ10cT6Qz2y6g9Tls4g==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.58.4 + '@unocss/webpack': 0.58.5 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 peerDependenciesMeta: '@unocss/webpack': @@ -10674,34 +11063,34 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.4(vite@5.0.12) - '@unocss/cli': 0.58.4 - '@unocss/core': 0.58.4 - '@unocss/extractor-arbitrary-variants': 0.58.4 - '@unocss/postcss': 0.58.4(postcss@8.4.33) - '@unocss/preset-attributify': 0.58.4 - '@unocss/preset-icons': 0.58.4 - '@unocss/preset-mini': 0.58.4 - '@unocss/preset-tagify': 0.58.4 - '@unocss/preset-typography': 0.58.4 - '@unocss/preset-uno': 0.58.4 - '@unocss/preset-web-fonts': 0.58.4 - '@unocss/preset-wind': 0.58.4 - '@unocss/reset': 0.58.4 - '@unocss/transformer-attributify-jsx': 0.58.4 - '@unocss/transformer-attributify-jsx-babel': 0.58.4 - '@unocss/transformer-compile-class': 0.58.4 - '@unocss/transformer-directives': 0.58.4 - '@unocss/transformer-variant-group': 0.58.4 - '@unocss/vite': 0.58.4(vite@5.0.12) - vite: 5.0.12(@types/node@20.10.8)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.0) + '@unocss/astro': 0.58.5(vite@5.1.4) + '@unocss/cli': 0.58.5 + '@unocss/core': 0.58.5 + '@unocss/extractor-arbitrary-variants': 0.58.5 + '@unocss/postcss': 0.58.5(postcss@8.4.34) + '@unocss/preset-attributify': 0.58.5 + '@unocss/preset-icons': 0.58.5 + '@unocss/preset-mini': 0.58.5 + '@unocss/preset-tagify': 0.58.5 + '@unocss/preset-typography': 0.58.5 + '@unocss/preset-uno': 0.58.5 + '@unocss/preset-web-fonts': 0.58.5 + '@unocss/preset-wind': 0.58.5 + '@unocss/reset': 0.58.5 + '@unocss/transformer-attributify-jsx': 0.58.5 + '@unocss/transformer-attributify-jsx-babel': 0.58.5 + '@unocss/transformer-compile-class': 0.58.5 + '@unocss/transformer-directives': 0.58.5 + '@unocss/transformer-variant-group': 0.58.5 + '@unocss/vite': 0.58.5(vite@5.1.4) + vite: 5.1.4(@types/node@20.11.16)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.2) transitivePeerDependencies: - postcss - rollup - supports-color dev: true - /unplugin-vue-components@0.26.0(vue@3.4.15): + /unplugin-vue-components@0.26.0(vue@3.4.19): resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==} engines: {node: '>=14'} peerDependencies: @@ -10724,7 +11113,7 @@ packages: minimatch: 9.0.3 resolve: 1.22.8 unplugin: 1.6.0 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.19(typescript@5.3.3) transitivePeerDependencies: - rollup - supports-color @@ -10758,6 +11147,17 @@ packages: picocolors: 1.0.0 dev: true + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: @@ -10813,7 +11213,7 @@ packages: vfile-message: 2.0.4 dev: true - /vite-plugin-checker@0.6.4(eslint@8.56.0)(stylelint@16.2.0)(typescript@5.2.2)(vite@5.0.12)(vue-tsc@1.8.27): + /vite-plugin-checker@0.6.4(eslint@8.56.0)(stylelint@16.2.1)(typescript@5.3.3)(vite@5.1.4)(vue-tsc@1.8.27): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -10855,18 +11255,33 @@ packages: npm-run-path: 4.0.1 semver: 7.5.4 strip-ansi: 6.0.1 - stylelint: 16.2.0(typescript@5.2.2) + stylelint: 16.2.1(typescript@5.3.3) tiny-invariant: 1.3.1 - typescript: 5.2.2 - vite: 5.0.12(@types/node@20.10.8)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.0) + typescript: 5.3.3 + vite: 5.1.4(@types/node@20.11.16)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.2) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - vue-tsc: 1.8.27(typescript@5.2.2) + vue-tsc: 1.8.27(typescript@5.3.3) dev: true - /vite-plugin-svg-icons@2.0.1(vite@5.0.12): + /vite-plugin-mkcert@1.17.3(vite@5.1.4): + resolution: {integrity: sha512-C8iLz4Su4kEyJb1GdlGIMfKkYMqfH5qvhqVP1x/hrc+1mo9GOzqU88mevvP5epgoqawkhVpcQVQ+HTFXsRuC0g==} + engines: {node: '>=v16.7.0'} + peerDependencies: + vite: '>=3' + dependencies: + '@octokit/rest': 20.0.2 + axios: 1.6.7(debug@4.3.4) + debug: 4.3.4 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.16)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.2) + transitivePeerDependencies: + - supports-color + dev: true + + /vite-plugin-svg-icons@2.0.1(vite@5.1.4): resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} peerDependencies: vite: '>=2.0.0' @@ -10879,13 +11294,13 @@ packages: pathe: 0.2.0 svg-baker: 1.7.0 svgo: 2.8.0 - vite: 5.0.12(@types/node@20.10.8)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.0) + vite: 5.1.4(@types/node@20.11.16)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.2) transitivePeerDependencies: - supports-color dev: true - /vite@5.0.12(@types/node@20.10.8)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.0): - resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} + /vite@5.1.3(@types/node@20.11.16)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.2): + resolution: {integrity: sha512-UfmUD36DKkqhi/F75RrxvPpry+9+tTkrXfMNZD+SboZqBCMsxKtO52XeGzzuh7ioz+Eo/SYDBbdb0Z7vgcDJew==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -10912,13 +11327,52 @@ packages: terser: optional: true dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.16 esbuild: 0.19.11 less: 4.2.0 lightningcss: 1.23.0 - postcss: 8.4.33 + postcss: 8.4.35 rollup: 4.9.6 - terser: 5.27.0 + terser: 5.27.2 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vite@5.1.4(@types/node@20.11.16)(less@4.2.0)(lightningcss@1.23.0)(terser@5.27.2): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + 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.11.16 + esbuild: 0.19.11 + less: 4.2.0 + lightningcss: 1.23.0 + postcss: 8.4.35 + rollup: 4.9.6 + terser: 5.27.2 optionalDependencies: fsevents: 2.3.3 dev: true @@ -10963,7 +11417,7 @@ packages: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} dev: true - /vue-demi@0.13.11(vue@3.4.15): + /vue-demi@0.13.11(vue@3.4.19): resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} engines: {node: '>=12'} hasBin: true @@ -10975,10 +11429,10 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.19(typescript@5.3.3) dev: false - /vue-demi@0.14.6(vue@3.4.15): + /vue-demi@0.14.6(vue@3.4.19): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true @@ -10990,11 +11444,26 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.19(typescript@5.3.3) dev: false - /vue-echarts@6.6.8(echarts@5.4.3)(vue@3.4.15): - resolution: {integrity: sha512-3EGrxKGCGjHnkhudRQQ4fkK5iJxxXNQ1fXvSWA/7mzR/oV7BBSHYvC3gDbG/WIW0A/Fcx2H8k5H3NDyWgjyi8g==} + /vue-demi@0.14.7(vue@3.4.19): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.4.19(typescript@5.3.3) + dev: false + + /vue-echarts@6.6.9(echarts@5.5.0)(vue@3.4.19): + resolution: {integrity: sha512-mojIq3ZvsjabeVmDthhAUDV8Kgf2Rr/X4lV4da7gEFd1fP05gcSJ0j7wa7HQkW5LlFmF2gdCJ8p4Chas6NNIQQ==} requiresBuild: true peerDependencies: '@vue/composition-api': ^1.0.5 @@ -11007,10 +11476,10 @@ packages: '@vue/runtime-core': optional: true dependencies: - echarts: 5.4.3 + echarts: 5.5.0 resize-detector: 0.3.0 - vue: 3.4.15(typescript@5.2.2) - vue-demi: 0.13.11(vue@3.4.15) + vue: 3.4.19(typescript@5.3.3) + vue-demi: 0.13.11(vue@3.4.19) dev: false /vue-eslint-parser@9.4.2(eslint@8.56.0): @@ -11031,7 +11500,7 @@ packages: - supports-color dev: true - /vue-i18n@9.9.1(vue@3.4.15): + /vue-i18n@9.9.1(vue@3.4.19): resolution: {integrity: sha512-xyQ4VspLdNSPTKBFBPWa1tvtj+9HuockZwgFeD2OhxxXuC2CWeNvV4seu2o9+vbQOyQbhAM5Ez56oxUrrnTWdw==} engines: {node: '>= 16'} peerDependencies: @@ -11040,32 +11509,32 @@ packages: '@intlify/core-base': 9.9.1 '@intlify/shared': 9.9.1 '@vue/devtools-api': 6.5.1 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.19(typescript@5.3.3) dev: false - /vue-observe-visibility@2.0.0-alpha.1(vue@3.4.15): + /vue-observe-visibility@2.0.0-alpha.1(vue@3.4.19): resolution: {integrity: sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.19(typescript@5.3.3) dev: false - /vue-resize@2.0.0-alpha.1(vue@3.4.15): + /vue-resize@2.0.0-alpha.1(vue@3.4.19): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.19(typescript@5.3.3) dev: false - /vue-router@4.2.5(vue@3.4.15): - resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} + /vue-router@4.3.0(vue@3.4.19): + resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.19(typescript@5.3.3) dev: false /vue-template-compiler@2.7.16: @@ -11075,29 +11544,29 @@ packages: he: 1.2.0 dev: true - /vue-tsc@1.8.27(typescript@5.2.2): + /vue-tsc@1.8.27(typescript@5.3.3): resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} hasBin: true peerDependencies: typescript: '*' dependencies: '@volar/typescript': 1.11.1 - '@vue/language-core': 1.8.27(typescript@5.2.2) + '@vue/language-core': 1.8.27(typescript@5.3.3) semver: 7.5.4 - typescript: 5.2.2 + typescript: 5.3.3 dev: true - /vue-types@3.0.2(vue@3.4.15): + /vue-types@3.0.2(vue@3.4.19): resolution: {integrity: sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==} engines: {node: '>=10.15.0'} peerDependencies: vue: ^3.0.0 dependencies: is-plain-object: 3.0.1 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.19(typescript@5.3.3) dev: false - /vue-types@5.1.1(vue@3.4.15): + /vue-types@5.1.1(vue@3.4.19): resolution: {integrity: sha512-FMY/JCLWePXgGIcMDqYdJsQm1G0CDxEjq6W0+tZMJZlX37q/61eSGSIa/XFRwa9T7kkKXuxxl94/2kgxyWQqKw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -11107,34 +11576,34 @@ packages: optional: true dependencies: is-plain-object: 5.0.0 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.19(typescript@5.3.3) dev: false - /vue-virtual-scroller@2.0.0-beta.8(vue@3.4.15): + /vue-virtual-scroller@2.0.0-beta.8(vue@3.4.19): resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==} peerDependencies: vue: ^3.2.0 dependencies: mitt: 2.1.0 - vue: 3.4.15(typescript@5.2.2) - vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.15) - vue-resize: 2.0.0-alpha.1(vue@3.4.15) + vue: 3.4.19(typescript@5.3.3) + vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.19) + vue-resize: 2.0.0-alpha.1(vue@3.4.19) dev: false - /vue@3.4.15(typescript@5.2.2): - resolution: {integrity: sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==} + /vue@3.4.19(typescript@5.3.3): + resolution: {integrity: sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.15 - '@vue/compiler-sfc': 3.4.15 - '@vue/runtime-dom': 3.4.15 - '@vue/server-renderer': 3.4.15(vue@3.4.15) - '@vue/shared': 3.4.15 - typescript: 5.2.2 + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-sfc': 3.4.19 + '@vue/runtime-dom': 3.4.19 + '@vue/server-renderer': 3.4.19(vue@3.4.19) + '@vue/shared': 3.4.19 + typescript: 5.3.3 /warning@4.0.3: resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} @@ -11393,12 +11862,8 @@ packages: engines: {node: '>=12.20'} dev: true - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - dev: true - - /zrender@5.4.4: - resolution: {integrity: sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==} + /zrender@5.5.0: + resolution: {integrity: sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==} dependencies: tslib: 2.3.0 dev: false @@ -11407,15 +11872,15 @@ packages: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} dev: true - file:packages/vite-plugin-msw(msw@2.1.5): + file:packages/vite-plugin-msw(msw@2.2.1): resolution: {directory: packages/vite-plugin-msw, type: directory} id: file:packages/vite-plugin-msw name: '@admin-pkg/vite-plugin-msw' peerDependencies: msw: ^2.0.0 dependencies: - '@mswjs/interceptors': 0.25.15 + '@mswjs/interceptors': 0.26.5 headers-polyfill: 4.0.2 - msw: 2.1.5(typescript@5.2.2) + msw: 2.2.1(typescript@5.3.3) strict-event-emitter: 0.5.1 dev: false diff --git a/src/api/backend/api/index.ts b/src/api/backend/api/index.ts index 5ebc3114..4f4b7e15 100644 --- a/src/api/backend/api/index.ts +++ b/src/api/backend/api/index.ts @@ -17,11 +17,13 @@ import * as systemDictItem from './systemDictItem'; import * as systemTask from './systemTask'; import * as systemOnline from './systemOnline'; import * as systemServe from './systemServe'; -import * as systemEmail from './systemEmail'; import * as toolsStorage from './toolsStorage'; +import * as systemEmail from './systemEmail'; import * as toolsUpload from './toolsUpload'; import * as health from './health'; import * as systemSse from './systemSse'; +import * as netDiskManage from './netDiskManage'; +import * as netDiskOverview from './netDiskOverview'; import * as businessTodo from './businessTodo'; export default { auth, @@ -39,10 +41,12 @@ export default { systemTask, systemOnline, systemServe, - systemEmail, toolsStorage, + systemEmail, toolsUpload, health, systemSse, + netDiskManage, + netDiskOverview, businessTodo, }; diff --git a/src/api/backend/api/netDiskManage.ts b/src/api/backend/api/netDiskManage.ts new file mode 100644 index 00000000..948e1977 --- /dev/null +++ b/src/api/backend/api/netDiskManage.ts @@ -0,0 +1,128 @@ +// @ts-ignore +/* eslint-disable */ +import { request, type RequestOptions } from '@/utils/request'; + +/** 复制文件或文件夹,支持批量 POST /api/netdisk/manage/copy */ +export async function netDiskManageCopy(body: API.FileOpDto, options?: RequestOptions) { + return request('/api/netdisk/manage/copy', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 剪切文件或文件夹,支持批量 POST /api/netdisk/manage/cut */ +export async function netDiskManageCut(body: API.FileOpDto, options?: RequestOptions) { + return request('/api/netdisk/manage/cut', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除文件或文件夹 POST /api/netdisk/manage/delete */ +export async function netDiskManageDelete(body: API.DeleteDto, options?: RequestOptions) { + return request('/api/netdisk/manage/delete', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || { successMsg: '删除成功' }), + }); +} + +/** 获取下载链接,不支持下载文件夹 GET /api/netdisk/manage/download */ +export async function netDiskManageDownload( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.NetDiskManageDownloadParams, + options?: RequestOptions, +) { + return request('/api/netdisk/manage/download', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); +} + +/** 获取文件详细信息 GET /api/netdisk/manage/info */ +export async function netDiskManageInfo( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.NetDiskManageInfoParams, + options?: RequestOptions, +) { + return request('/api/netdisk/manage/info', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); +} + +/** 获取文件列表 GET /api/netdisk/manage/list */ +export async function netDiskManageList( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.NetDiskManageListParams, + options?: RequestOptions, +) { + return request('/api/netdisk/manage/list', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); +} + +/** 添加文件备注 POST /api/netdisk/manage/mark */ +export async function netDiskManageMark(body: API.MarkFileDto, options?: RequestOptions) { + return request('/api/netdisk/manage/mark', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 创建文件夹,支持多级 POST /api/netdisk/manage/mkdir */ +export async function netDiskManageMkdir(body: API.MKDirDto, options?: RequestOptions) { + return request('/api/netdisk/manage/mkdir', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || { successMsg: '创建成功' }), + }); +} + +/** 重命名文件或文件夹 POST /api/netdisk/manage/rename */ +export async function netDiskManageRename(body: API.RenameDto, options?: RequestOptions) { + return request('/api/netdisk/manage/rename', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 获取上传Token,无Token前端无法上传 GET /api/netdisk/manage/token */ +export async function netDiskManageToken(options?: RequestOptions) { + return request('/api/netdisk/manage/token', { + method: 'GET', + ...(options || {}), + }); +} diff --git a/src/api/backend/api/netDiskOverview.ts b/src/api/backend/api/netDiskOverview.ts new file mode 100644 index 00000000..d52a7c80 --- /dev/null +++ b/src/api/backend/api/netDiskOverview.ts @@ -0,0 +1,11 @@ +// @ts-ignore +/* eslint-disable */ +import { request, type RequestOptions } from '@/utils/request'; + +/** 获取网盘空间数据统计 GET /api/netdisk/overview/desc */ +export async function netDiskOverviewSpace(options?: RequestOptions) { + return request('/api/netdisk/overview/desc', { + method: 'GET', + ...(options || {}), + }); +} diff --git a/src/api/backend/api/systemEmail.ts b/src/api/backend/api/systemEmail.ts index 9124f695..10a59461 100644 --- a/src/api/backend/api/systemEmail.ts +++ b/src/api/backend/api/systemEmail.ts @@ -2,9 +2,9 @@ /* eslint-disable */ import { request, type RequestOptions } from '@/utils/request'; -/** 发送邮件 POST /api/email/send */ +/** 发送邮件 POST /api/tools/email/send */ export async function emailSend(body: API.EmailSendDto, options?: RequestOptions) { - return request('/api/email/send', { + return request('/api/tools/email/send', { method: 'POST', headers: { 'Content-Type': 'application/json', diff --git a/src/api/backend/api/toolsStorage.ts b/src/api/backend/api/toolsStorage.ts index 88286e7c..c22e97bc 100644 --- a/src/api/backend/api/toolsStorage.ts +++ b/src/api/backend/api/toolsStorage.ts @@ -2,9 +2,9 @@ /* eslint-disable */ import { request, type RequestOptions } from '@/utils/request'; -/** 删除文件 POST /api/storage/delete */ +/** 删除文件 POST /api/tools/storage/delete */ export async function storageDelete(body: API.StorageDeleteDto, options?: RequestOptions) { - return request('/api/storage/delete', { + return request('/api/tools/storage/delete', { method: 'POST', headers: { 'Content-Type': 'application/json', @@ -14,7 +14,7 @@ export async function storageDelete(body: API.StorageDeleteDto, options?: Reques }); } -/** 获取本地存储列表 GET /api/storage/list */ +/** 获取本地存储列表 GET /api/tools/storage/list */ export async function storageList( // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) params: API.StorageListParams, @@ -29,7 +29,7 @@ export async function storageList( totalPages?: number; currentPage?: number; }; - }>('/api/storage/list', { + }>('/api/tools/storage/list', { method: 'GET', params: { // page has a default value: 1 diff --git a/src/api/backend/api/toolsUpload.ts b/src/api/backend/api/toolsUpload.ts index ef915b74..950d49ed 100644 --- a/src/api/backend/api/toolsUpload.ts +++ b/src/api/backend/api/toolsUpload.ts @@ -2,7 +2,7 @@ /* eslint-disable */ import { request, type RequestOptions } from '@/utils/request'; -/** 上传 POST /api/upload */ +/** 上传 POST /api/tools/upload */ export async function uploadUpload(body: API.FileUploadDto, file?: File, options?: RequestOptions) { const formData = new FormData(); @@ -26,7 +26,7 @@ export async function uploadUpload(body: API.FileUploadDto, file?: File, options } }); - return request('/api/upload', { + return request('/api/tools/upload', { method: 'POST', data: formData, requestType: 'form', diff --git a/src/api/backend/api/typings.d.ts b/src/api/backend/api/typings.d.ts index 6e36a57e..aaf506d1 100644 --- a/src/api/backend/api/typings.d.ts +++ b/src/api/backend/api/typings.d.ts @@ -101,6 +101,13 @@ declare namespace API { coresLoad: CoreLoad[]; }; + type DeleteDto = { + /** 需要操作的文件或文件夹 */ + files: FileOpItem[]; + /** 所在目录 */ + path: string; + }; + type DeptDeleteParams = { id: number; }; @@ -285,11 +292,34 @@ declare namespace API { content: string; }; + type FileOpDto = { + /** 需要操作的文件或文件夹 */ + files: FileOpItem[]; + /** 操作前的目录 */ + originPath: string; + /** 操作后的目录 */ + toPath: string; + }; + + type FileOpItem = { + /** 文件类型 */ + type: 'file' | 'dir'; + /** 文件名称 */ + name: string; + }; + type FileUploadDto = { /** 文件 */ file: Buffer; }; + type FlowInfo = { + /** 当月的X号 */ + times: number[]; + /** 对应天数的耗费流量 */ + datas: number[]; + }; + type ImageCaptcha = { /** base64格式的svg图片 */ img: string; @@ -379,6 +409,15 @@ declare namespace API { _t?: number; }; + type MarkFileDto = { + /** 文件名 */ + name: string; + /** 文件所在路径 */ + path: string; + /** 备注信息 */ + mark: string; + }; + type Memory = { /** total memory in bytes */ total: number; @@ -549,6 +588,36 @@ declare namespace API { id: number; }; + type MKDirDto = { + /** 文件夹名称 */ + dirName: string; + /** 所属路径 */ + path: string; + }; + + type NetDiskManageDownloadParams = { + /** 文件名 */ + name: string; + /** 文件所在路径 */ + path: string; + }; + + type NetDiskManageInfoParams = { + /** 文件名 */ + name: string; + /** 文件所在路径 */ + path: string; + }; + + type NetDiskManageListParams = { + /** 分页标识 */ + marker: string; + /** 当前路径 */ + path: string; + /** 搜索关键字 */ + key?: string; + }; + type OnlineUserInfo = { /** 最近的一条登录日志ID */ id: number; @@ -568,6 +637,21 @@ declare namespace API { disable: boolean; }; + type OverviewSpaceInfo = { + /** 当前使用容量 */ + spaceSize: number; + /** 当前文件数量 */ + fileSize: number; + /** 当天使用流量 */ + flowSize: number; + /** 当天请求次数 */ + hitSize: number; + /** 流量趋势,从当月1号开始计算 */ + flowTrend: FlowInfo; + /** 容量趋势,从当月1号开始计算 */ + sizeTrend: SpaceInfo; + }; + type Pagination = {}; type ParamConfigDeleteParams = { @@ -641,6 +725,17 @@ declare namespace API { lang: string; }; + type RenameDto = { + /** 文件类型 */ + type: string; + /** 更改的名称 */ + toName: string; + /** 原来的名称 */ + name: string; + /** 路径 */ + path: string; + }; + type ResOp = { data: Record; code: number; @@ -753,6 +848,56 @@ declare namespace API { memory: Memory; }; + type SFileInfo = { + /** 文件id */ + id: string; + /** 文件类型 */ + type: 'file' | 'dir'; + /** 文件名称 */ + name: string; + /** 存入时间 */ + putTime: string; + /** 文件大小, byte单位 */ + fsize: string; + /** 文件的mime-type */ + mimeType: string; + /** 所属目录 */ + belongTo: string; + }; + + type SFileInfoDetail = { + /** 文件大小,int64类型,单位为字节(Byte) */ + fsize: number; + /** 文件HASH值 */ + hash: string; + /** 文件MIME类型,string类型 */ + mimeType: string; + /** 文件存储类型,2 表示归档存储,1 表示低频存储,0表示普通存储。 */ + type: number; + /** 文件上传时间 */ + putTime: string; + /** 文件md5值 */ + md5: string; + /** 上传人 */ + uploader: string; + /** 文件备注 */ + mark: string; + }; + + type SFileList = { + /** 文件列表 */ + list: SFileInfo[]; + /** 分页标志,空则代表加载完毕 */ + marker: string; + }; + + type SpaceInfo = { + /** 当月的X号 */ + times: number[]; + /** 对应天数的容量, byte单位 */ + datas: number[]; + }; + type SseSseParams = { uid: number; }; @@ -999,6 +1144,11 @@ declare namespace API { children: string[]; }; + type UploadToken = { + /** 上传token */ + token: string; + }; + type UserDeleteParams = { id: string | number; }; diff --git a/src/components/basic/tinymce/index.vue b/src/components/basic/tinymce/index.vue index a7ef5f5a..4da7f187 100644 --- a/src/components/basic/tinymce/index.vue +++ b/src/components/basic/tinymce/index.vue @@ -1,18 +1,18 @@